From 8d8a7b482fb5dca06cca5ac68967f18db2f86227 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 21:45:59 +0000 Subject: [PATCH] fix(deps): update all dependencies --- Makefile | 4 +- go.mod | 78 +- go.sum | 182 +- oci/Containerfile | 12 +- tools/go.mod | 16 +- .../aws-sdk-go-v2/aws/go_module_metadata.go | 2 +- .../aws/protocol/eventstream/CHANGELOG.md | 4 + .../eventstream/go_module_metadata.go | 2 +- .../aws/protocol/query/middleware.go | 4 +- .../aws/transport/http/client.go | 11 + .../internal/configsources/CHANGELOG.md | 4 + .../configsources/go_module_metadata.go | 2 +- .../internal/endpoints/v2/CHANGELOG.md | 4 + .../endpoints/v2/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/internal/v4a/CHANGELOG.md | 4 + .../internal/v4a/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/ec2/CHANGELOG.md | 12 + .../service/ec2/api_op_CreateFleet.go | 6 + .../service/ec2/deserializers.go | 221 + .../service/ec2/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/ec2/serializers.go | 34 + .../aws-sdk-go-v2/service/ec2/types/enums.go | 31 +- .../aws-sdk-go-v2/service/ec2/types/types.go | 74 +- .../aws-sdk-go-v2/service/ecs/CHANGELOG.md | 8 + .../service/ecs/deserializers.go | 9 + .../service/ecs/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/ecs/serializers.go | 10 + .../aws-sdk-go-v2/service/ecs/types/types.go | 32 + .../internal/accept-encoding/CHANGELOG.md | 4 + .../accept-encoding/go_module_metadata.go | 2 +- .../service/internal/checksum/CHANGELOG.md | 5 + .../internal/checksum/go_module_metadata.go | 2 +- .../internal/presigned-url/CHANGELOG.md | 4 + .../presigned-url/go_module_metadata.go | 2 +- .../service/internal/s3shared/CHANGELOG.md | 4 + .../internal/s3shared/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/service/s3/CHANGELOG.md | 9 + .../service/s3/api_op_CopyObject.go | 8 +- .../service/s3/api_op_CreateBucket.go | 34 + .../service/s3/api_op_CreateSession.go | 14 +- .../service/s3/api_op_DeleteBucketTagging.go | 3 - .../service/s3/api_op_GetBucketTagging.go | 5 - .../service/s3/api_op_HeadBucket.go | 8 +- .../service/s3/api_op_UploadPartCopy.go | 8 +- .../service/s3/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/s3/serializers.go | 5 + .../aws-sdk-go-v2/service/s3/types/enums.go | 19 + vendor/github.com/pulumi/esc/.version | 2 +- vendor/github.com/pulumi/esc/CHANGELOG.md | 10 + .../pulumi/esc/CHANGELOG_PENDING.md | 6 + vendor/github.com/pulumi/esc/ast/expr.go | 25 + vendor/github.com/pulumi/esc/eval/eval.go | 28 + vendor/github.com/pulumi/esc/eval/expr.go | 18 + vendor/github.com/pulumi/esc/eval/value.go | 2 + .../v7/go/aws/cloudwatch/logResourcePolicy.go | 70 +- .../sdk/v7/go/aws/ec2/vpcEndpoint.go | 12 +- .../iam/getOutboundWebIdentityFederation.go | 91 + .../sdk/v7/go/aws/internal/pulumiUtilities.go | 4 +- .../sdk/v7/go/aws/pulumi-plugin.json | 2 +- .../authorization/v3/pulumi-plugin.json | 2 +- .../compute/v3/cloudService.go | 6 +- .../compute/v3/pulumi-plugin.json | 2 +- .../compute/v3/pulumiTypes.go | 79 + .../containerservice/v3/managedCluster.go | 6 +- .../containerservice/v3/namespace.go | 6 +- .../containerservice/v3/pulumi-plugin.json | 2 +- .../containerservice/v3/pulumiTypes.go | 190 +- .../managedidentity/v3/pulumi-plugin.json | 2 +- .../network/v3/interfaceEndpoint.go | 6 +- .../listActiveConnectivityConfigurations.go | 8 +- ...agerEffectiveConnectivityConfigurations.go | 8 +- .../network/v3/pulumi-plugin.json | 2 +- .../network/v3/pulumiTypes.go | 21454 ++++++++-------- .../network/v3/pulumiTypes1.go | 19230 +++++++++++--- .../network/v3/virtualNetworkAppliance.go | 6 +- ...ymentStacksWhatIfResultsAtResourceGroup.go | 8 +- ...oymentStacksWhatIfResultsAtSubscription.go | 8 +- .../resources/v3/pulumi-plugin.json | 2 +- .../resources/v3/pulumiTypes.go | 441 +- .../storage/v3/pulumi-plugin.json | 2 +- .../v3/utilities/pulumiUtilities.go | 4 +- .../sdk/v4/go/kubernetes/pulumi-plugin.json | 2 +- .../kubernetes/utilities/pulumiUtilities.go | 4 +- .../github.com/pulumi/pulumi/sdk/v3/.version | 2 +- .../pulumi/pulumi/sdk/v3/go/auto/cmd.go | 2 +- .../sdk/v3/go/auto/debug/debuglogging.go | 2 +- .../pulumi/pulumi/sdk/v3/go/auto/errors.go | 2 +- .../pulumi/sdk/v3/go/auto/events/events.go | 2 +- .../pulumi/pulumi/sdk/v3/go/auto/git.go | 2 +- .../pulumi/sdk/v3/go/auto/local_workspace.go | 2 +- .../pulumi/sdk/v3/go/auto/minimum_version.go | 2 +- .../sdk/v3/go/auto/optdestroy/optdestroy.go | 4 +- .../sdk/v3/go/auto/opthistory/opthistory.go | 2 +- .../sdk/v3/go/auto/optimport/optimport.go | 2 +- .../pulumi/sdk/v3/go/auto/optlist/optlist.go | 2 +- .../sdk/v3/go/auto/optpreview/optpreview.go | 2 +- .../sdk/v3/go/auto/optrefresh/optrefresh.go | 2 +- .../auto/optremotedestroy/optremotedestroy.go | 2 +- .../auto/optremotepreview/optremotepreview.go | 2 +- .../auto/optremoterefresh/optremoterefresh.go | 2 +- .../sdk/v3/go/auto/optremoteup/optremoteup.go | 2 +- .../sdk/v3/go/auto/optremove/optremove.go | 2 +- .../sdk/v3/go/auto/optrename/optrename.go | 2 +- .../pulumi/sdk/v3/go/auto/optup/optup.go | 2 +- .../pulumi/sdk/v3/go/auto/remote_stack.go | 2 +- .../pulumi/sdk/v3/go/auto/remote_workspace.go | 2 +- .../pulumi/pulumi/sdk/v3/go/auto/stack.go | 2 +- .../pulumi/pulumi/sdk/v3/go/auto/workspace.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/cli.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/core.go | 2 +- .../sdk/v3/go/common/apitype/deployments.go | 2 +- .../sdk/v3/go/common/apitype/environments.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/errors.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/events.go | 2 +- .../sdk/v3/go/common/apitype/history.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/logs.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/oauth.go | 2 +- .../sdk/v3/go/common/apitype/organizations.go | 2 +- .../sdk/v3/go/common/apitype/package.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/plan.go | 4 +- .../sdk/v3/go/common/apitype/plugins.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/policy.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/search.go | 2 +- .../sdk/v3/go/common/apitype/service.go | 2 +- .../pulumi/sdk/v3/go/common/apitype/stacks.go | 2 +- .../sdk/v3/go/common/apitype/templates.go | 2 +- .../sdk/v3/go/common/apitype/updates.go | 2 +- .../sdk/v3/go/common/constant/exec_kind.go | 2 +- .../sdk/v3/go/common/diag/colors/colors.go | 2 +- .../sdk/v3/go/common/diag/colors/diag.go | 2 +- .../sdk/v3/go/common/diag/colors/windows.go | 2 +- .../pulumi/sdk/v3/go/common/diag/diag.go | 2 +- .../pulumi/sdk/v3/go/common/diag/errors.go | 2 +- .../pulumi/sdk/v3/go/common/diag/sink.go | 2 +- .../pulumi/sdk/v3/go/common/encoding/init.go | 2 +- .../sdk/v3/go/common/encoding/marshal.go | 2 +- .../pulumi/pulumi/sdk/v3/go/common/env/env.go | 2 +- .../sdk/v3/go/common/promise/promise.go | 2 +- .../sdk/v3/go/common/providers/reference.go | 2 +- .../pulumi/sdk/v3/go/common/resource/alias.go | 4 +- .../v3/go/common/resource/archive/archive.go | 2 +- .../pulumi/sdk/v3/go/common/resource/asset.go | 2 +- .../sdk/v3/go/common/resource/asset/asset.go | 2 +- .../sdk/v3/go/common/resource/config/batch.go | 2 +- .../sdk/v3/go/common/resource/config/crypt.go | 2 +- .../sdk/v3/go/common/resource/config/key.go | 2 +- .../sdk/v3/go/common/resource/config/map.go | 2 +- .../v3/go/common/resource/config/object.go | 2 +- .../v3/go/common/resource/config/plaintext.go | 2 +- .../v3/go/common/resource/config/secret.go | 2 +- .../sdk/v3/go/common/resource/config/value.go | 2 +- .../v3/go/common/resource/custom_timeouts.go | 2 +- .../sdk/v3/go/common/resource/errors.go | 2 +- .../v3/go/common/resource/plugin/analyzer.go | 2 +- .../common/resource/plugin/analyzer_plugin.go | 11 +- .../sdk/v3/go/common/resource/plugin/check.go | 2 +- .../common/resource/plugin/config_source.go | 2 +- .../v3/go/common/resource/plugin/context.go | 2 +- .../v3/go/common/resource/plugin/converter.go | 2 +- .../resource/plugin/converter_plugin.go | 2 +- .../resource/plugin/converter_server.go | 2 +- .../go/common/resource/plugin/diagnostic.go | 2 +- .../sdk/v3/go/common/resource/plugin/doc.go | 2 +- .../sdk/v3/go/common/resource/plugin/host.go | 2 +- .../go/common/resource/plugin/host_server.go | 2 +- .../go/common/resource/plugin/langruntime.go | 2 +- .../resource/plugin/langruntime_plugin.go | 2 +- .../sdk/v3/go/common/resource/plugin/mock.go | 2 +- .../v3/go/common/resource/plugin/plugin.go | 4 +- .../v3/go/common/resource/plugin/provider.go | 2 +- .../common/resource/plugin/provider_plugin.go | 2 +- .../common/resource/plugin/provider_server.go | 2 +- .../resource/plugin/provider_unimplemented.go | 2 +- .../sdk/v3/go/common/resource/plugin/rpc.go | 48 +- .../v3/go/common/resource/plugin/server.go | 2 +- .../sdk/v3/go/common/resource/properties.go | 19 +- .../v3/go/common/resource/properties_diff.go | 2 +- .../v3/go/common/resource/properties_path.go | 2 +- .../common/resource/property_compatibility.go | 6 +- .../v3/go/common/resource/resource_goal.go | 2 +- .../v3/go/common/resource/resource_hooks.go | 2 +- .../sdk/v3/go/common/resource/resource_id.go | 2 +- .../go/common/resource/resource_operation.go | 2 +- .../v3/go/common/resource/resource_state.go | 2 +- .../sdk/v3/go/common/resource/sig/sig.go | 2 +- .../pulumi/sdk/v3/go/common/resource/stack.go | 2 +- .../sdk/v3/go/common/resource/status.go | 2 +- .../pulumi/sdk/v3/go/common/resource/urn.go | 2 +- .../sdk/v3/go/common/resource/urn/urn.go | 2 +- .../pulumi/sdk/v3/go/common/slice/slice.go | 2 +- .../pulumi/sdk/v3/go/common/tokens/names.go | 2 +- .../pulumi/sdk/v3/go/common/tokens/project.go | 2 +- .../sdk/v3/go/common/tokens/stack_name.go | 2 +- .../sdk/v3/go/common/tokens/stack_type.go | 2 +- .../pulumi/sdk/v3/go/common/tokens/tokens.go | 2 +- .../v3/go/common/util/ciutil/az_pipelines.go | 2 +- .../common/util/ciutil/bitbucket_pipelines.go | 2 +- .../sdk/v3/go/common/util/ciutil/buildkite.go | 2 +- .../sdk/v3/go/common/util/ciutil/circleci.go | 2 +- .../sdk/v3/go/common/util/ciutil/codefresh.go | 2 +- .../sdk/v3/go/common/util/ciutil/detect.go | 2 +- .../sdk/v3/go/common/util/ciutil/generic.go | 2 +- .../go/common/util/ciutil/github_actions.go | 2 +- .../sdk/v3/go/common/util/ciutil/gitlab.go | 2 +- .../sdk/v3/go/common/util/ciutil/jenkins.go | 2 +- .../sdk/v3/go/common/util/ciutil/systems.go | 2 +- .../sdk/v3/go/common/util/ciutil/travis.go | 2 +- .../sdk/v3/go/common/util/ciutil/vars.go | 2 +- .../sdk/v3/go/common/util/cmdutil/args.go | 2 +- .../sdk/v3/go/common/util/cmdutil/child_js.go | 2 +- .../v3/go/common/util/cmdutil/child_unix.go | 2 +- .../go/common/util/cmdutil/child_windows.go | 2 +- .../sdk/v3/go/common/util/cmdutil/console.go | 2 +- .../go/common/util/cmdutil/console_input.go | 2 +- .../common/util/cmdutil/console_input_js.go | 2 +- .../common/util/cmdutil/console_password.go | 2 +- .../sdk/v3/go/common/util/cmdutil/diag.go | 2 +- .../sdk/v3/go/common/util/cmdutil/exit.go | 27 +- .../sdk/v3/go/common/util/cmdutil/profile.go | 2 +- .../sdk/v3/go/common/util/cmdutil/spinner.go | 2 +- .../sdk/v3/go/common/util/cmdutil/stack.go | 2 +- .../sdk/v3/go/common/util/cmdutil/term.go | 2 +- .../sdk/v3/go/common/util/cmdutil/term_js.go | 2 +- .../v3/go/common/util/cmdutil/term_unix.go | 2 +- .../v3/go/common/util/cmdutil/term_windows.go | 2 +- .../sdk/v3/go/common/util/cmdutil/trace.go | 50 +- .../sdk/v3/go/common/util/contract/assert.go | 2 +- .../sdk/v3/go/common/util/contract/fail.go | 2 +- .../v3/go/common/util/contract/failfast.go | 2 +- .../sdk/v3/go/common/util/contract/ignore.go | 2 +- .../sdk/v3/go/common/util/contract/require.go | 2 +- .../pulumi/sdk/v3/go/common/util/env/env.go | 2 +- .../go/common/util/errutil/format_exiterr.go | 37 + .../sdk/v3/go/common/util/fsutil/chdir.go | 2 +- .../sdk/v3/go/common/util/fsutil/copy.go | 2 +- .../v3/go/common/util/fsutil/isdirempty.go | 2 +- .../sdk/v3/go/common/util/fsutil/lock.go | 2 +- .../sdk/v3/go/common/util/fsutil/qname.go | 2 +- .../sdk/v3/go/common/util/fsutil/walkup.go | 2 +- .../sdk/v3/go/common/util/gitutil/git.go | 79 +- .../sdk/v3/go/common/util/httputil/http.go | 2 +- .../sdk/v3/go/common/util/logging/log.go | 2 +- .../sdk/v3/go/common/util/mapper/errors.go | 2 +- .../sdk/v3/go/common/util/mapper/mapper.go | 2 +- .../v3/go/common/util/mapper/mapper_decode.go | 2 +- .../v3/go/common/util/mapper/mapper_encode.go | 2 +- .../sdk/v3/go/common/util/mapper/object.go | 2 +- .../util/otelreceiver/appdash_bridge.go | 289 + .../sdk/v3/go/common/util/result/result.go | 2 +- .../sdk/v3/go/common/util/retry/until.go | 2 +- .../sdk/v3/go/common/util/rpcutil/health.go | 2 +- .../v3/go/common/util/rpcutil/interceptor.go | 2 +- .../sdk/v3/go/common/util/rpcutil/pty.go | 2 +- .../sdk/v3/go/common/util/rpcutil/pty_js.go | 2 +- .../v3/go/common/util/rpcutil/pty_windows.go | 2 +- .../common/util/rpcutil/rpcerror/rpcerror.go | 2 +- .../sdk/v3/go/common/util/rpcutil/serve.go | 2 +- .../sdk/v3/go/common/util/rpcutil/writer.go | 2 +- .../sdk/v3/go/common/util/yamlutil/edit.go | 2 +- .../sdk/v3/go/common/util/yamlutil/encode.go | 2 +- .../sdk/v3/go/common/version/version.go | 2 +- .../sdk/v3/go/common/workspace/config.go | 4 +- .../sdk/v3/go/common/workspace/creds.go | 2 +- .../sdk/v3/go/common/workspace/loaders.go | 2 +- .../sdk/v3/go/common/workspace/paths.go | 2 +- .../sdk/v3/go/common/workspace/plugins.go | 15 +- .../sdk/v3/go/common/workspace/project.go | 2 +- .../sdk/v3/go/common/workspace/templates.go | 2 +- .../v3/go/common/workspace/templates_zip.go | 2 +- .../pulumi/sdk/v3/go/internal/resource.go | 2 +- .../pulumi/pulumi/sdk/v3/go/internal/rpc.go | 2 +- .../pulumi/pulumi/sdk/v3/go/internal/state.go | 2 +- .../pulumi/pulumi/sdk/v3/go/internal/types.go | 2 +- .../pulumi/sdk/v3/go/internal/workgroup.go | 2 +- .../pulumi/pulumi/sdk/v3/go/property/array.go | 2 +- .../pulumi/pulumi/sdk/v3/go/property/equal.go | 2 +- .../pulumi/pulumi/sdk/v3/go/property/fmt.go | 2 +- .../pulumi/pulumi/sdk/v3/go/property/map.go | 2 +- .../pulumi/pulumi/sdk/v3/go/property/path.go | 2 +- .../pulumi/sdk/v3/go/property/reference.go | 2 + .../pulumi/sdk/v3/go/property/values.go | 2 +- .../pulumi/pulumi/sdk/v3/go/property/visit.go | 2 +- .../v3/go/pulumi-internal/gsync/syncmap.go | 2 +- .../pulumi-internal/rpcdebug/interceptors.go | 2 +- .../go/pulumi-internal/rpcdebug/logformat.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/alias.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/asset.go | 2 +- .../pulumi/sdk/v3/go/pulumi/callback.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/context.go | 2 +- .../sdk/v3/go/pulumi/instrumentation.go | 4 +- .../pulumi/sdk/v3/go/pulumi/internals.go | 2 +- .../sdk/v3/go/pulumi/internals/outputs.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/log.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/mocks.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/printf.go | 2 +- .../pulumi/sdk/v3/go/pulumi/provider.go | 2 +- .../sdk/v3/go/pulumi/provider_linked.go | 2 +- .../pulumi/sdk/v3/go/pulumi/resource.go | 2 +- .../pulumi/sdk/v3/go/pulumi/resource_hooks.go | 2 +- .../pulumi/sdk/v3/go/pulumi/resource_set.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/rpc.go | 14 +- .../pulumi/pulumi/sdk/v3/go/pulumi/run.go | 2 +- .../sdk/v3/go/pulumi/stack_reference.go | 2 +- .../pulumi/sdk/v3/go/pulumi/transform.go | 2 +- .../pulumi/sdk/v3/go/pulumi/transformation.go | 2 +- .../sdk/v3/go/pulumi/type_conversions.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumi/types.go | 2 +- .../pulumi/sdk/v3/go/pulumi/types_builtins.go | 2 +- .../pulumi/sdk/v3/go/pulumix/apply_state.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/applyn.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/array.go | 2 +- .../pulumi/sdk/v3/go/pulumix/combinators.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/engine.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/gen.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/map.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/ptr.go | 2 +- .../pulumi/pulumi/sdk/v3/go/pulumix/types.go | 2 +- .../pulumi/pulumi/sdk/v3/proto/go/alias.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/analyzer.pb.go | 2 +- .../sdk/v3/proto/go/analyzer_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/callback.pb.go | 2 +- .../sdk/v3/proto/go/callback_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/codegen/hcl.pb.go | 2 +- .../sdk/v3/proto/go/codegen/loader.pb.go | 2 +- .../sdk/v3/proto/go/codegen/loader_grpc.pb.go | 2 +- .../sdk/v3/proto/go/codegen/mapper.pb.go | 2 +- .../sdk/v3/proto/go/codegen/mapper_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/converter.pb.go | 2 +- .../sdk/v3/proto/go/converter_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/engine.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/engine_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/errors.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/language.pb.go | 2 +- .../sdk/v3/proto/go/language_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/plugin.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/provider.pb.go | 2 +- .../sdk/v3/proto/go/provider_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/resource.pb.go | 2 +- .../sdk/v3/proto/go/resource_grpc.pb.go | 2 +- .../pulumi/sdk/v3/proto/go/source.pb.go | 2 +- .../pulumi/pulumi/sdk/v3/version.go | 2 +- .../collector/featuregate/README.md | 51 +- .../internal/generated_proto_anyvalue.go | 129 +- .../internal/generated_proto_arrayvalue.go | 5 +- .../internal/generated_proto_entityref.go | 5 +- .../internal/generated_proto_exemplar.go | 21 +- .../generated_proto_exponentialhistogram.go | 5 +- ...ted_proto_exponentialhistogramdatapoint.go | 5 +- ...to_exponentialhistogramdatapointbuckets.go | 5 +- ...enerated_proto_exportlogspartialsuccess.go | 5 +- ...enerated_proto_exportlogsservicerequest.go | 5 +- ...nerated_proto_exportlogsserviceresponse.go | 5 +- ...rated_proto_exportmetricspartialsuccess.go | 5 +- ...rated_proto_exportmetricsservicerequest.go | 5 +- ...ated_proto_exportmetricsserviceresponse.go | 5 +- ...ated_proto_exportprofilespartialsuccess.go | 5 +- ...ated_proto_exportprofilesservicerequest.go | 5 +- ...ted_proto_exportprofilesserviceresponse.go | 5 +- ...nerated_proto_exporttracepartialsuccess.go | 5 +- ...nerated_proto_exporttraceservicerequest.go | 5 +- ...erated_proto_exporttraceserviceresponse.go | 5 +- .../internal/generated_proto_function.go | 5 +- .../pdata/internal/generated_proto_gauge.go | 5 +- .../internal/generated_proto_histogram.go | 5 +- .../generated_proto_histogramdatapoint.go | 5 +- .../generated_proto_instrumentationscope.go | 5 +- .../pdata/internal/generated_proto_ipaddr.go | 5 +- .../internal/generated_proto_keyvalue.go | 39 +- .../generated_proto_keyvalueandunit.go | 5 +- .../internal/generated_proto_keyvaluelist.go | 5 +- .../pdata/internal/generated_proto_line.go | 5 +- .../pdata/internal/generated_proto_link.go | 5 +- .../internal/generated_proto_location.go | 5 +- .../internal/generated_proto_logrecord.go | 5 +- .../internal/generated_proto_logsdata.go | 5 +- .../internal/generated_proto_logsrequest.go | 5 +- .../pdata/internal/generated_proto_mapping.go | 5 +- .../pdata/internal/generated_proto_metric.go | 35 +- .../internal/generated_proto_metricsdata.go | 5 +- .../generated_proto_metricsrequest.go | 5 +- .../generated_proto_numberdatapoint.go | 21 +- .../pdata/internal/generated_proto_profile.go | 5 +- .../internal/generated_proto_profilesdata.go | 5 +- .../generated_proto_profilesdictionary.go | 5 +- .../generated_proto_profilesrequest.go | 5 +- .../generated_proto_requestcontext.go | 29 +- .../internal/generated_proto_resource.go | 5 +- .../internal/generated_proto_resourcelogs.go | 5 +- .../generated_proto_resourcemetrics.go | 5 +- .../generated_proto_resourceprofiles.go | 5 +- .../internal/generated_proto_resourcespans.go | 5 +- .../pdata/internal/generated_proto_sample.go | 117 +- .../internal/generated_proto_scopelogs.go | 5 +- .../internal/generated_proto_scopemetrics.go | 5 +- .../internal/generated_proto_scopeprofiles.go | 5 +- .../internal/generated_proto_scopespans.go | 5 +- .../pdata/internal/generated_proto_span.go | 5 +- .../internal/generated_proto_spancontext.go | 5 +- .../internal/generated_proto_spanevent.go | 5 +- .../internal/generated_proto_spanlink.go | 5 +- .../pdata/internal/generated_proto_stack.go | 5 +- .../pdata/internal/generated_proto_status.go | 5 +- .../pdata/internal/generated_proto_sum.go | 5 +- .../pdata/internal/generated_proto_summary.go | 5 +- .../generated_proto_summarydatapoint.go | 5 +- ...d_proto_summarydatapointvalueatquantile.go | 5 +- .../pdata/internal/generated_proto_tcpaddr.go | 5 +- .../internal/generated_proto_tracesdata.go | 5 +- .../internal/generated_proto_tracesrequest.go | 5 +- .../pdata/internal/generated_proto_udpaddr.go | 5 +- .../internal/generated_proto_unixaddr.go | 5 +- .../internal/generated_proto_valuetype.go | 5 +- .../metadata/generated_feature_gates.go | 24 + .../collector/pdata/internal/state.go | 21 +- .../collector/pdata/internal/wrapper_value.go | 16 +- .../proto/otlp/common/v1/common.pb.go | 145 +- .../golang.org/x/crypto/ssh/agent/server.go | 2 +- vendor/golang.org/x/net/http2/http2.go | 16 +- vendor/golang.org/x/net/http2/server.go | 2 + vendor/golang.org/x/net/http2/transport.go | 8 - vendor/golang.org/x/net/http2/writesched.go | 6 + .../net/http2/writesched_priority_rfc7540.go | 5 + .../x/net/http2/writesched_random.go | 2 + .../golang.org/x/tools/go/packages/golist.go | 33 +- .../x/tools/go/packages/packages.go | 4 + .../grpc/internal/envconfig/envconfig.go | 16 + vendor/google.golang.org/grpc/server.go | 57 +- vendor/google.golang.org/grpc/version.go | 2 +- vendor/k8s.io/utils/ptr/ptr.go | 2 +- vendor/modules.txt | 110 +- 430 files changed, 28933 insertions(+), 16060 deletions(-) create mode 100644 vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/getOutboundWebIdentityFederation.go create mode 100644 vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/errutil/format_exiterr.go create mode 100644 vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/otelreceiver/appdash_bridge.go create mode 100644 vendor/go.opentelemetry.io/collector/pdata/internal/metadata/generated_feature_gates.go diff --git a/Makefile b/Makefile index 446dd7c00..6ca5f42b0 100644 --- a/Makefile +++ b/Makefile @@ -9,9 +9,9 @@ TKN_IMG ?= quay.io/redhat-developer/mapt:v${VERSION}-tkn # renovate: datasource=github-releases depName=cirruslabs/cirrus-cli CIRRUS_CLI ?= v0.165.0 # renovate: datasource=github-releases depName=actions/runner -GITHUB_RUNNER ?= 2.332.0 +GITHUB_RUNNER ?= 2.333.0 # renovate: datasource=gitlab-releases depName=gitlab-org/gitlab-runner -GITLAB_RUNNER ?= 18.9.0 +GITLAB_RUNNER ?= 18.10.0 # Go and compilation related variables GOPATH ?= $(shell go env GOPATH) diff --git a/go.mod b/go.mod index 4cedd2830..5f623ddea 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ 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.225.1 + github.com/pulumi/pulumi/sdk/v3 v3.227.0 github.com/sirupsen/logrus v1.9.4 github.com/spf13/cobra v1.10.2 ) @@ -18,24 +18,24 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 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 v1.41.4 github.com/aws/aws-sdk-go-v2/config v1.32.11 - 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/ec2 v1.296.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 github.com/pulumi/pulumi-aws-native/sdk v1.57.0 - github.com/pulumi/pulumi-aws/sdk/v7 v7.21.0 + github.com/pulumi/pulumi-aws/sdk/v7 v7.23.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-azure-native-sdk/authorization/v3 v3.16.0 + github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.16.0 + github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.16.0 + github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.16.0 + github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.16.0 + github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.16.0 + github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.16.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 + golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 k8s.io/apimachinery v0.35.2 k8s.io/client-go v0.35.2 ) @@ -46,15 +46,15 @@ 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.15.0 // indirect + github.com/pulumi/pulumi-azure-native-sdk/v3 v3.16.0 // indirect github.com/pulumi/pulumi-docker/sdk/v4 v4.11.0 // indirect ) require ( - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 // indirect github.com/aws/aws-sdk-go-v2/service/pricing v1.40.13 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/evertras/bubble-table v0.19.2 // indirect @@ -64,8 +64,8 @@ require ( github.com/oliveagle/jsonpath v0.1.4 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/sahilm/fuzzy v0.1.1 // indirect - golang.org/x/mod v0.33.0 - golang.org/x/tools v0.42.0 // indirect + golang.org/x/mod v0.34.0 + golang.org/x/tools v0.43.0 // indirect ) require ( @@ -80,11 +80,11 @@ require ( github.com/atotto/clipboard v0.1.4 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.19.11 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 // indirect github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16 // indirect @@ -135,7 +135,7 @@ require ( github.com/pjbgf/sha1cd v0.5.0 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect - github.com/pulumi/esc v0.22.0 // indirect + github.com/pulumi/esc v0.23.0 // indirect github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.15 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // 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.53.0 // indirect - go.opentelemetry.io/collector/pdata v1.53.0 // indirect + go.opentelemetry.io/collector/featuregate v1.54.0 // indirect + go.opentelemetry.io/collector/pdata v1.54.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.opentelemetry.io/proto/otlp v1.10.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.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 + google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // 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 + k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9 // indirect + k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 // 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 @@ -179,7 +179,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.3.0 github.com/Microsoft/go-winio v0.6.2 // indirect github.com/ProtonMail/go-crypto v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.73.1 + github.com/aws/aws-sdk-go-v2/service/ecs v1.74.0 github.com/aws/aws-sdk-go-v2/service/iam v1.53.4 github.com/blang/semver v3.5.1+incompatible // indirect github.com/cheggaaa/pb v1.0.29 // indirect @@ -204,7 +204,7 @@ require ( github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect - github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.27.0 + github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.28.0 github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/sergi/go-diff v1.4.0 // indirect @@ -215,12 +215,12 @@ require ( github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect 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/crypto v0.49.0 // indirect + golang.org/x/net v0.52.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 + golang.org/x/term v0.41.0 // indirect + golang.org/x/text v0.35.0 // indirect + google.golang.org/grpc v1.79.3 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 9a832a22a..fc2e4c5c2 100644 --- a/go.sum +++ b/go.sum @@ -51,42 +51,42 @@ github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aws/amazon-ec2-instance-selector/v3 v3.1.3 h1:13qtG4reL2+2UiCm2U7gM9QJthDO8hPPzvn7hTjHask= github.com/aws/amazon-ec2-instance-selector/v3 v3.1.3/go.mod h1:wdlMRtz9G4IO6H1yZPsqfGBxR8E6B/bdxHlGkls4kGQ= -github.com/aws/aws-sdk-go-v2 v1.41.3 h1:4kQ/fa22KjDt13QCy1+bYADvdgcxpfH18f0zP542kZA= -github.com/aws/aws-sdk-go-v2 v1.41.3/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 h1:N4lRUXZpZ1KVEUn6hxtco/1d2lgYhNn1fHkkl8WhlyQ= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= +github.com/aws/aws-sdk-go-v2 v1.41.4 h1:10f50G7WyU02T56ox1wWXq+zTX9I1zxG46HYuG1hH/k= +github.com/aws/aws-sdk-go-v2 v1.41.4/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 h1:3kGOqnh1pPeddVa/E37XNTaWJ8W6vrbYV9lJEkCnhuY= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= github.com/aws/aws-sdk-go-v2/config v1.32.11 h1:ftxI5sgz8jZkckuUHXfC/wMUc8u3fG1vQS0plr2F2Zs= github.com/aws/aws-sdk-go-v2/config v1.32.11/go.mod h1:twF11+6ps9aNRKEDimksp923o44w/Thk9+8YIlzWMmo= github.com/aws/aws-sdk-go-v2/credentials v1.19.11 h1:NdV8cwCcAXrCWyxArt58BrvZJ9pZ9Fhf9w6Uh5W3Uyc= github.com/aws/aws-sdk-go-v2/credentials v1.19.11/go.mod h1:30yY2zqkMPdrvxBqzI9xQCM+WrlrZKSOpSJEsylVU+8= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 h1:INUvJxmhdEbVulJYHI061k4TVuS3jzzthNvjqvVvTKM= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19/go.mod h1:FpZN2QISLdEBWkayloda+sZjVJL+e9Gl0k1SyTgcswU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 h1:/sECfyq2JTifMI2JPyZ4bdRN77zJmr6SrS1eL3augIA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19/go.mod h1:dMf8A5oAqr9/oxOfLkC/c2LU/uMcALP0Rgn2BD5LWn0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 h1:AWeJMk33GTBf6J20XJe6qZoRSJo0WfUhsMdUKhoODXE= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19/go.mod h1:+GWrYoaAsV7/4pNHpwh1kiNLXkKaSoppxQq9lbH8Ejw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 h1:CNXO7mvgThFGqOFgbNAP2nol2qAWBOGfqR/7tQlvLmc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20/go.mod h1:oydPDJKcfMhgfcgBUZaG+toBbwy8yPWubJXBVERtI4o= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 h1:tN6W/hg+pkM+tf9XDkWUbDEjGLb+raoBMFsTodcoYKw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20/go.mod h1:YJ898MhD067hSHA6xYCx5ts/jEd8BSOLtQDL3iZsvbc= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 h1:clHU5fm//kWS1C2HgtgWxfQbFbx4b6rx+5jzhgX9HrI= 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.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/internal/v4a v1.4.21 h1:SwGMTMLIlvDNyhMteQ6r8IJSBPlRdXX5d4idhIGbkXA= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21/go.mod h1:UUxgWxofmOdAMuqEsSppbDtGKLfR04HGsD0HXzvhI1k= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.296.0 h1:98Miqj16un1WLNyM1RjVDhXYumhqZrQfAeG8i4jPG6o= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.296.0/go.mod h1:T6ndRfdhnXLIY5oKBHjYZDVj706los2zGdpThppquvA= +github.com/aws/aws-sdk-go-v2/service/ecs v1.74.0 h1:YS5TXaEvzDb+sV+wdQFUtuCAk0GeFR9Ai6HFdxpz6q8= +github.com/aws/aws-sdk-go-v2/service/ecs v1.74.0/go.mod h1:10kBgdaNJz0FO/+JWDUH+0rtSjkn5yafgavDDmmhFzs= github.com/aws/aws-sdk-go-v2/service/iam v1.53.4 h1:FUWGS7m97SYL0bk9Kb+Q4bVpcSrKOHNiIbEXIRFTRW4= github.com/aws/aws-sdk-go-v2/service/iam v1.53.4/go.mod h1:seDE466zJ4haVuAVcRk+yIH4DWb3s6cqt3Od8GxnGAA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 h1:XAq62tBTJP/85lFD5oqOOe7YYgWxY9LvWq8plyDvDVg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 h1:BYf7XNsJMzl4mObARUBUib+j2tf0U//JAAtTnYqvqCw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11/go.mod h1:aEUS4WrNk/+FxkBZZa7tVgp4pGH+kFGW40Y8rCPqt5g= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 h1:X1Tow7suZk9UCJHE1Iw9GMZJJl0dAnKXXP1NaSDHwmw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19/go.mod h1:/rARO8psX+4sfjUQXp5LLifjUt8DuATZ31WptNJTyQA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 h1:JnQeStZvPHFHeyky/7LbMlyQjUa+jIBj36OlWm0pzIk= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19/go.mod h1:HGyasyHvYdFQeJhvDHfH7HXkHh57htcJGKDZ+7z+I24= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 h1:5EniKhLZe4xzL7a+fU3C2tfUN4nWIqlLesfrjkuPFTY= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 h1:qtJZ70afD3ISKWnoX3xB0J2otEqu3LqicRcDBqsj0hQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12/go.mod h1:v2pNpJbRNl4vEUWEh5ytQok0zACAKfdmKS51Hotc3pQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 h1:2HvVAIq+YqgGotK6EkMf+KIEqTISmTYh5zLpYyeTo1Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20/go.mod h1:V4X406Y666khGa8ghKmphma/7C0DAtEQYhkq9z4vpbk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 h1:siU1A6xjUZ2N8zjTHSXFhB9L/2OY8Dqs0xXiLjF30jA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20/go.mod h1:4TLZCmVJDM3FOu5P5TJP0zOlu9zWgDWU7aUxWbr+rcw= github.com/aws/aws-sdk-go-v2/service/pricing v1.40.13 h1:zuo2FmpYZfANk5REBqD8OaEoDR+p28WDm799D3ySqUY= github.com/aws/aws-sdk-go-v2/service/pricing v1.40.13/go.mod h1:sVKRpoK0drDqf/V7cSBMu0xL/dV3YTNKtRbfF+u5hDA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 h1:4ExZyubQ6LQQVuF2Qp9OsfEvsTdAWh5Gfwf6PgIdLdk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4/go.mod h1:NF3JcMGOiARAss1ld3WGORCw71+4ExDD2cbbdKS5PpA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 h1:csi9NLpFZXb9fxY7rS1xVzgPRGMt7MSNWeQ6eo247kE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1/go.mod h1:qXVal5H0ChqXP63t6jze5LmFalc7+ZE7wOdLtZ0LCP0= github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 h1:Y2cAXlClHsXkkOvWZFXATr34b0hxxloeQu/pAZz2row= github.com/aws/aws-sdk-go-v2/service/signin v1.0.7/go.mod h1:idzZ7gmDeqeNrSPkdbtMp9qWMgcBwykA7P7Rzh5DXVU= github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 h1:iSsvB9EtQ09YrsmIc44Heqlx5ByGErqhPK1ZQLppias= @@ -101,6 +101,8 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY= github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= +github.com/bazelbuild/buildtools v0.0.0-20260211083412-859bfffeef82 h1:PmoVmwzAnGb0iCjulb7Mgsaqw2Wj36LQJ8VyYaFe/ak= +github.com/bazelbuild/buildtools v0.0.0-20260211083412-859bfffeef82/go.mod h1:PLNUetjLa77TCCziPsz0EI8a6CUxgC+1jgmWv0H25tg= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= @@ -167,6 +169,14 @@ github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sa github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/git-pkgs/manifests v0.4.1 h1:CWml+TrRXVzrfNJ2pTNKLqyi+9y/BFiQP/BX3pL4pPQ= +github.com/git-pkgs/manifests v0.4.1/go.mod h1:7SPFwU9diUG1Az682/p4ZupHJkfpbWKwRvNPwCcOeVs= +github.com/git-pkgs/packageurl-go v0.2.1 h1:j6VnjJiYS9b1nTLfJGsG6SLaA7Nk6Io+ta8grOyTa4o= +github.com/git-pkgs/packageurl-go v0.2.1/go.mod h1:rcIxiG37BlQLB6FZfgdj9Fm7yjhRQd3l+5o7J0QPAk4= +github.com/git-pkgs/purl v0.1.8 h1:iyjEHM2WIZUL9A3+q9ylrabqILsN4nOay9X6jfEjmzQ= +github.com/git-pkgs/purl v0.1.8/go.mod h1:ihlHw3bnSLXat+9Nl9MsJZBYiG7s3NkwmvE3L/Es/sI= +github.com/git-pkgs/vers v0.2.2 h1:42QkiIURhGN2wM8AuYYU+FbzS1YV6jmdGd1RiFp7gXs= +github.com/git-pkgs/vers v0.2.2/go.mod h1:biTbSQK1qdbrsxDEKnqe3Jzclxz8vW6uDcwKjfUGcOo= github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -332,30 +342,30 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= 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/esc v0.23.0 h1:5lOXO+5vvXOEQxXw7cTuYhjg9lVng23f9XNLWDR9EP4= +github.com/pulumi/esc v0.23.0/go.mod h1:mkghIFn/TvN3XnP4jmCB4U5BG1I4UjGluARi39ckrCE= 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-aws/sdk/v7 v7.23.0 h1:G4x1vd3JgtuEmzWF8h6Yoo2wYDB3ydZT/XxNaPxJ8PU= +github.com/pulumi/pulumi-aws/sdk/v7 v7.23.0/go.mod h1:XDXYVcBL20h4r2kXzpD34pB6gVcyb7MSG1DQP91gzFE= 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-azure-native-sdk/authorization/v3 v3.16.0 h1:1W6iNaRjVc46BXi64q1EanqACCBJc0vVJfhFLO+B4RU= +github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.16.0/go.mod h1:Ve9We5qYoxavBlzZn9EiaMPCxkR92uvYqjafPCRoeP0= +github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.16.0 h1:5D4MJdPI/y/IZBy/scSEoP7grk3R5JML9mce9XXKDEM= +github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.16.0/go.mod h1:Q8TDW2YGA/RnGqu4bd3hG/aJu7sExRMl/JjTcZAEOSI= +github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.16.0 h1:7YYTYy4SaDL/oafEoiDIiXhxFxnKFaH8EAZfhZcuhJI= +github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 v3.16.0/go.mod h1:F4jK+3pqz8eXYg53Q+zcvsdix/RJ7VJvuKafVMJCung= +github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.16.0 h1:uhCgqKSaOU3rkjUkzsDz0TbU50XSSygVQUX2/6+VWhc= +github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 v3.16.0/go.mod h1:dHaprf7wwcp8Y/L3mGW8u2geqeaYQybjn9cScB2+yLo= +github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.16.0 h1:EXdiCzZNHpNc4gSem7e6VVpI/CrF2O8JdQcNFQus1tI= +github.com/pulumi/pulumi-azure-native-sdk/network/v3 v3.16.0/go.mod h1:2r+Vt14MLHpCr2bz/aXO6+VIGOl9dHXncqCoGsUsQUI= +github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.16.0 h1:AP62GJ3I5a5tY31fEdPPBWL+uJ5T/Lh93iicOMzG2LM= +github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.16.0/go.mod h1:aAh6uR3aOX3DqWcTYRxyxotIW5RT3S4iDJfpmjRtEdg= +github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.16.0 h1:tmlSwkOo4OWs7hng1t7FilAIBFXKoP8G/02vctWxfK4= +github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.16.0/go.mod h1:5gKQtDYwh4PDVlUov31bM5lhXHnVJYZ+kkacp+LUebw= +github.com/pulumi/pulumi-azure-native-sdk/v3 v3.16.0 h1:ezB7f2RIiKbwDybpi4uEFqnaku66GZ+6o6a+rAOpsfI= +github.com/pulumi/pulumi-azure-native-sdk/v3 v3.16.0/go.mod h1:++PhnDe7L0yTTumzmWEyjgmRQhlGYJExPesZfHJV0o0= 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= @@ -364,14 +374,14 @@ github.com/pulumi/pulumi-docker/sdk/v4 v4.11.0 h1:I8nJlJcQQiMs0njR1/CvXWk2y0dzhw github.com/pulumi/pulumi-docker/sdk/v4 v4.11.0/go.mod h1:TbjBDNYFkMGmDZdrV6grRy+7AADkGLTcPjLHY9gh8dg= github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0 h1:nR406lhXeltZVfLXH8E4J5JetflNZePBgXz2eyHT7RM= github.com/pulumi/pulumi-gitlab/sdk/v8 v8.11.0/go.mod h1:TU9R5gbZHqe1iJ054UW3ygPU8PxQcOi4J2n/YsnTviE= -github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.27.0 h1:l33vcOD62jlEIiD/POknlKrVF4JG2ZV87khzavYwkR0= -github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.27.0/go.mod h1:B998wofejDKAvvpLwsi4UMfWDFHHBnzYiM8mZ9e7OSo= +github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.28.0 h1:muCE6cUJ4YmAaNLiOhbjEicxT+10i/EGsZrx2ZZQQ+o= +github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.28.0/go.mod h1:B998wofejDKAvvpLwsi4UMfWDFHHBnzYiM8mZ9e7OSo= github.com/pulumi/pulumi-random/sdk/v4 v4.19.1 h1:MUr4+gUQy+wqhoHsuhXO6ypT40KhU9j/2DT05YU9KIg= 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.225.1 h1:yn64PBZocE0Ums82fc6jaWRZthZ352BFi/tVAs5jrps= -github.com/pulumi/pulumi/sdk/v3 v3.225.1/go.mod h1:kiwkjulVm9ibqTOcyrZYhaRZsDSxWpzIKPXtCFeffBE= +github.com/pulumi/pulumi/sdk/v3 v3.227.0 h1:QMMHm+sGwauPnhU2pyI/pJT0VTrOaDYPconWwvtOO/c= +github.com/pulumi/pulumi/sdk/v3 v3.227.0/go.mod h1:c6s36sG4nygVc5KeT+PHAneaICdZul0UFjFJ6ioh6mA= 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,12 +444,12 @@ 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.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/collector/featuregate v1.54.0 h1:ufo5Hy4Co9pcHVg24hyanm8qFG3TkkYbVyQXPVAbwDc= +go.opentelemetry.io/collector/featuregate v1.54.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= +go.opentelemetry.io/collector/internal/testutil v0.148.0 h1:3Z9hperte3vSmbBTYeNndoEUICICrNz8hzx+v0FYXBQ= +go.opentelemetry.io/collector/internal/testutil v0.148.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= +go.opentelemetry.io/collector/pdata v1.54.0 h1:3LharKb792cQ3VrUGxd3IcpWwfu3ST+GSTU382jVz1s= +go.opentelemetry.io/collector/pdata v1.54.0/go.mod h1:+MqC3VVOv/EX9YVFUo+mI4F0YmwJ+fXBYwjmu+mRiZ8= 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= @@ -454,14 +464,14 @@ go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9 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= -go.opentelemetry.io/proto/slim/otlp v1.9.0/go.mod h1:xXdeJJ90Gqyll+orzUkY4bOd2HECo5JofeoLpymVqdI= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.2.0 h1:o13nadWDNkH/quoDomDUClnQBpdQQ2Qqv0lQBjIXjE8= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.2.0/go.mod h1:Gyb6Xe7FTi/6xBHwMmngGoHqL0w29Y4eW8TGFzpefGA= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.2.0 h1:EiUYvtwu6PMrMHVjcPfnsG3v+ajPkbUeH+IL93+QYyk= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.2.0/go.mod h1:mUUHKFiN2SST3AhJ8XhJxEoeVW12oqfXog0Bo8W3Ec4= +go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= +go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= +go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= +go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0/go.mod h1:I89cynRj8y+383o7tEQVg2SVA6SRgDVIouWPUVXjx0U= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0 h1:CQvJSldHRUN6Z8jsUeYv8J0lXRvygALXIzsmAeCcZE0= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0/go.mod h1:xSQ+mEfJe/GjK1LXEyVOoSI1N9JV9ZI923X5kup43W4= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -476,24 +486,24 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= -golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= +golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4= +golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA= +golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 h1:jiDhWWeC7jfWqR9c/uplMOqJ0sbNlNWv0UkzE0vX1MA= +golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90/go.mod h1:xE1HEv6b+1SCZ5/uscMRjUBKtIxworgEcEi+/n9NQDQ= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= -golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= +golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= +golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= 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/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= +golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= 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= @@ -521,13 +531,13 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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= +golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= +golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= +golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= 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= @@ -536,20 +546,20 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= -golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= +golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= +golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 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-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= -google.golang.org/grpc v1.79.2/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 h1:41r6JMbpzBMen0R/4TZeeAmGXSJC7DftGINUodzTkPI= +google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:EIQZ5bFCfRQDV4MhRle7+OgjNtZ6P1PiZBgAKuxXu/Y= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7 h1:ndE4FoJqsIceKP2oYSnUZqhTdYufCYYkqwtFzfrhI7w= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= +google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -577,10 +587,10 @@ 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.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= +k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9 h1:Sztf7ESG9tAXRW/ACJZjrj5jhdOUqS2KFRQT+CTvu78= +k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM= +k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/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 b5657b30d..535d58ee7 100644 --- a/oci/Containerfile +++ b/oci/Containerfile @@ -1,12 +1,12 @@ -FROM registry.access.redhat.com/ubi9/go-toolset@sha256:71101fd9ba32aabeaec2c073e5786c91642aaee902475fce3d8280457fb19e9d as builder +FROM registry.access.redhat.com/ubi9/go-toolset@sha256:8b211cc8793d8013140844e8070aa584a8eb3e4e6e842ea4b03dd9914b1a5dc6 as builder ARG TARGETARCH USER root WORKDIR /workspace COPY . . # renovate: datasource=github-releases depName=pulumi/pulumi -ENV PULUMI_VERSION 3.225.1 +ENV PULUMI_VERSION 3.227.0 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" @@ -19,7 +19,7 @@ RUN unset VERSION \ && tar -xzvf pulumicli.tar.gz # ubi 9.5-1732804088 -FROM registry.access.redhat.com/ubi9/ubi@sha256:cecb1cde7bda7c8165ae27841c2335667f8a3665a349c0d051329c61660a496c +FROM registry.access.redhat.com/ubi9/ubi@sha256:05fa0100593c08b5e9dde684cd3eaa94b4d5d7b3cc09944f1f73924e49fde036 ARG TARGETARCH LABEL org.opencontainers.image.authors="Redhat Developer" @@ -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.21.0 +ARG PULUMI_AWS_VERSION=v7.23.0 # renovate: datasource=github-releases depName=pulumi/pulumi-awsx ARG PULUMI_AWSX_VERSION=v3.3.0 # renovate: datasource=github-releases depName=pulumi/pulumi-azure-native -ARG PULUMI_AZURE_NATIVE_VERSION=v3.15.0 +ARG PULUMI_AZURE_NATIVE_VERSION=v3.16.0 # renovate: datasource=github-releases depName=pulumi/pulumi-command ARG PULUMI_COMMAND_VERSION=v1.2.1 # renovate: datasource=github-releases depName=pulumi/pulumi-tls @@ -46,7 +46,7 @@ ARG PULUMI_RANDOM_VERSION=v4.19.1 # renovate: datasource=github-releases depName=pulumi/pulumi-aws-native ARG PULUMI_AWS_NATIVE_VERSION=v1.57.0 # renovate: datasource=github-releases depName=pulumi/pulumi-gitlab -ARG PULUMI_GITLAB_VERSION=v9.9.0 +ARG PULUMI_GITLAB_VERSION=v9.10.0 ENV PULUMI_HOME "/opt/mapt/run" WORKDIR ${PULUMI_HOME} diff --git a/tools/go.mod b/tools/go.mod index 8f5f43214..6b6471958 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -26,7 +26,7 @@ require ( 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/golangci/gofmt e7be49a5ab4d // indirect github.com/gostaticanalysis/nilerr v0.1.2 // indirect github.com/nunnatsa/ginkgolinter v0.23.0 // indirect ) @@ -79,7 +79,7 @@ require ( // github.com/denis-tingaikin/go-header v1.0.0 // indirect github.com/dlclark/regexp2 v1.11.5 // indirect github.com/ettle/strcase v0.2.0 // indirect - github.com/fatih/color v1.18.0 // indirect + github.com/fatih/color v1.19.0 // indirect github.com/fatih/structtag v1.2.0 // indirect github.com/firefart/nonamedreturns v1.0.6 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect @@ -165,13 +165,13 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/ryancurrah/gomodguard v1.4.1 // indirect - github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect + github.com/ryanrolds/sqlclosecheck v0.6.0 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect github.com/sashamelentyev/usestdlibvars v1.29.0 // indirect - github.com/securego/gosec/v2 v2.24.7 // indirect + github.com/securego/gosec/v2 v2.25.0 // indirect github.com/sirupsen/logrus v1.9.4 // indirect github.com/sivchari/containedctx v1.0.3 // indirect github.com/sonatard/noctx v0.5.0 // indirect @@ -208,12 +208,12 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.1 // indirect 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/exp/typeparams 7ab1446f8b90 // indirect + golang.org/x/mod v0.34.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 + golang.org/x/text v0.35.0 // indirect + golang.org/x/tools v0.43.0 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect honnef.co/go/tools v0.7.0 // indirect diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go index cc5140b70..b46a0afcb 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go @@ -3,4 +3,4 @@ package aws // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.41.3" +const goModuleVersion = "1.41.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md index c292c41b6..af105a52d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.7.7 (2026-03-13) + +* **Bug Fix**: Replace usages of the old ioutil/ package throughout the SDK. + # v1.7.6 (2026-03-03) * **Bug Fix**: Modernize non codegen files with go fix diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go index cdac6dbc0..21414d681 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go @@ -3,4 +3,4 @@ package eventstream // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.7.6" +const goModuleVersion = "1.7.7" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/middleware.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/middleware.go index 360344791..39efd848c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/middleware.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/middleware.go @@ -3,7 +3,7 @@ package query import ( "context" "fmt" - "io/ioutil" + "io" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" @@ -52,7 +52,7 @@ func (m *asGetRequest) HandleSerialize( delim = "&" } - b, err := ioutil.ReadAll(stream) + b, err := io.ReadAll(stream) if err != nil { return out, metadata, fmt.Errorf("unable to get request body %w", err) } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go index c7ef0acc4..49cc31205 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go @@ -300,6 +300,17 @@ func limitedRedirect(r *http.Request, via []*http.Request) error { switch resp.StatusCode { case 307, 308: // Only allow 307 and 308 redirects as they preserve the method. + + // If redirecting to a different host, remove X-Amz-Security-Token header + // to prevent credentials from being sent to a different host, similar to + // how Authorization header is handled by the HTTP client. + if len(via) > 0 { + lastRequest := via[len(via)-1] + if lastRequest.URL.Host != r.URL.Host { + r.Header.Del("X-Amz-Security-Token") + } + } + return nil } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md index 71066a9c6..46942eee7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.4.20 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.4.19 (2026-03-03) * **Bug Fix**: Modernize non codegen files with go fix diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go index c42653ca4..2a210bd10 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go @@ -3,4 +3,4 @@ package configsources // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.4.19" +const goModuleVersion = "1.4.20" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md index f1ea7ea00..2673108d3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md @@ -1,3 +1,7 @@ +# v2.7.20 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v2.7.19 (2026-03-03) * **Bug Fix**: Modernize non codegen files with go fix diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go index 628a5269b..d4052854e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go @@ -3,4 +3,4 @@ package endpoints // goModuleVersion is the tagged release for this module -const goModuleVersion = "2.7.19" +const goModuleVersion = "2.7.20" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md index 87e6e587b..48f2bf86c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.4.21 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.4.20 (2026-03-05) * **Bug Fix**: Read the correct auth property for SigV4A signing names. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go index 87221df0a..7dd2a095b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go @@ -3,4 +3,4 @@ package v4a // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.4.20" +const goModuleVersion = "1.4.21" 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 e659edf76..2f5fdefad 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,15 @@ +# v1.296.0 (2026-03-19) + +* **Feature**: Amazon EC2 Fleet instant mode now supports launching instances into Interruptible Capacity Reservations, enabling customers to use spare capacity shared by Capacity Reservation owners within their AWS Organization. + +# v1.295.0 (2026-03-18) + +* **Feature**: The DescribeInstanceTypes API now returns default connection tracking timeout values for TCP, UDP, and UDP stream via the new connectionTrackingConfiguration field on NetworkInfo. + +# v1.294.1 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.294.0 (2026-03-05) * **Feature**: Added metadata field to CapacityAllocation. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFleet.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFleet.go index a96e0f3d6..41e02006a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFleet.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/api_op_CreateFleet.go @@ -83,6 +83,12 @@ type CreateFleetInput struct { // [EC2 Fleet health checks]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks ReplaceUnhealthyInstances *bool + // Defines EC2 Fleet preferences for utilizing reserved capacity when + // DefaultTargetCapacityType is set to reserved-capacity . + // + // Supported only for fleets of type instant . + ReservedCapacityOptions *types.ReservedCapacityOptionsRequest + // Describes the configuration of Spot Instances in an EC2 Fleet. SpotOptions *types.SpotOptionsRequest 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 17c35b3d3..2deaf7254 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 @@ -87214,6 +87214,93 @@ func awsEc2query_deserializeDocumentDedicatedHostIdListUnwrapped(v *[]string, de *v = sv return nil } +func awsEc2query_deserializeDocumentDefaultConnectionTrackingConfiguration(v **types.DefaultConnectionTrackingConfiguration, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.DefaultConnectionTrackingConfiguration + if *v == nil { + sv = &types.DefaultConnectionTrackingConfiguration{} + } 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("defaultTcpEstablishedTimeout", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.DefaultTcpEstablishedTimeout = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("defaultUdpStreamTimeout", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.DefaultUdpStreamTimeout = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("defaultUdpTimeout", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.DefaultUdpTimeout = ptr.Int32(int32(i64)) + } + + 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_deserializeDocumentDeleteFleetError(v **types.DeleteFleetError, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -96433,6 +96520,12 @@ func awsEc2query_deserializeDocumentFleetData(v **types.FleetData, decoder smith sv.ReplaceUnhealthyInstances = ptr.Bool(xtv) } + case strings.EqualFold("reservedCapacityOptions", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentReservedCapacityOptions(&sv.ReservedCapacityOptions, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("spotOptions", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) if err := awsEc2query_deserializeDocumentSpotOptions(&sv.SpotOptions, nodeDecoder); err != nil { @@ -130076,6 +130169,12 @@ func awsEc2query_deserializeDocumentNetworkInfo(v **types.NetworkInfo, decoder s return err } + case strings.EqualFold("connectionTrackingConfiguration", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentDefaultConnectionTrackingConfiguration(&sv.ConnectionTrackingConfiguration, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("defaultNetworkCardIndex", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -140616,6 +140715,86 @@ func awsEc2query_deserializeDocumentReservationListUnwrapped(v *[]types.Reservat *v = sv return nil } +func awsEc2query_deserializeDocumentReservationTypeList(v *[]types.FleetReservationType, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.FleetReservationType + if *v == nil { + sv = make([]types.FleetReservationType, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.FleetReservationType + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + col = types.FleetReservationType(xtv) + } + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentReservationTypeListUnwrapped(v *[]types.FleetReservationType, decoder smithyxml.NodeDecoder) error { + var sv []types.FleetReservationType + if *v == nil { + sv = make([]types.FleetReservationType, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.FleetReservationType + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.FleetReservationType(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentReservationValue(v **types.ReservationValue, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -140691,6 +140870,48 @@ func awsEc2query_deserializeDocumentReservationValue(v **types.ReservationValue, return nil } +func awsEc2query_deserializeDocumentReservedCapacityOptions(v **types.ReservedCapacityOptions, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ReservedCapacityOptions + if *v == nil { + sv = &types.ReservedCapacityOptions{} + } 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("reservationTypeSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentReservationTypeList(&sv.ReservationTypes, nodeDecoder); err != nil { + return err + } + + 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_deserializeDocumentReservedInstanceReservationValue(v **types.ReservedInstanceReservationValue, 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/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go index 2fecab13b..962a5f20c 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.294.0" +const goModuleVersion = "1.296.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go index be62d86c2..200985674 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/serializers.go @@ -61523,6 +61523,33 @@ func awsEc2query_serializeDocumentReservationFleetInstanceSpecificationList(v [] return nil } +func awsEc2query_serializeDocumentReservationTypeListRequest(v []types.FleetReservationType, value query.Value) error { + if len(v) == 0 { + return nil + } + array := value.Array("ReservationType") + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsEc2query_serializeDocumentReservedCapacityOptionsRequest(v *types.ReservedCapacityOptionsRequest, value query.Value) error { + object := value.Object() + _ = object + + if v.ReservationTypes != nil { + objectKey := object.FlatKey("ReservationType") + if err := awsEc2query_serializeDocumentReservationTypeListRequest(v.ReservationTypes, objectKey); err != nil { + return err + } + } + + return nil +} + func awsEc2query_serializeDocumentReservedInstanceIdSet(v []string, value query.Value) error { if len(v) == 0 { return nil @@ -67340,6 +67367,13 @@ func awsEc2query_serializeOpDocumentCreateFleetInput(v *CreateFleetInput, value objectKey.Boolean(*v.ReplaceUnhealthyInstances) } + if v.ReservedCapacityOptions != nil { + objectKey := object.Key("ReservedCapacityOptions") + if err := awsEc2query_serializeDocumentReservedCapacityOptionsRequest(v.ReservedCapacityOptions, objectKey); err != nil { + return err + } + } + if v.SpotOptions != nil { objectKey := object.Key("SpotOptions") if err := awsEc2query_serializeDocumentSpotOptionsRequest(v.SpotOptions, objectKey); err != nil { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go index 6d0ff724f..36a76dd43 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go @@ -1910,9 +1910,10 @@ type DefaultTargetCapacityType string // Enum values for DefaultTargetCapacityType const ( - DefaultTargetCapacityTypeSpot DefaultTargetCapacityType = "spot" - DefaultTargetCapacityTypeOnDemand DefaultTargetCapacityType = "on-demand" - DefaultTargetCapacityTypeCapacityBlock DefaultTargetCapacityType = "capacity-block" + DefaultTargetCapacityTypeSpot DefaultTargetCapacityType = "spot" + DefaultTargetCapacityTypeOnDemand DefaultTargetCapacityType = "on-demand" + DefaultTargetCapacityTypeCapacityBlock DefaultTargetCapacityType = "capacity-block" + DefaultTargetCapacityTypeReservedCapacity DefaultTargetCapacityType = "reserved-capacity" ) // Values returns all known values for DefaultTargetCapacityType. Note that this @@ -1924,6 +1925,7 @@ func (DefaultTargetCapacityType) Values() []DefaultTargetCapacityType { "spot", "on-demand", "capacity-block", + "reserved-capacity", } } @@ -2874,6 +2876,23 @@ func (FleetReplacementStrategy) Values() []FleetReplacementStrategy { } } +type FleetReservationType string + +// Enum values for FleetReservationType +const ( + FleetReservationTypeInterruptibleCapacityReservation FleetReservationType = "interruptible-capacity-reservation" +) + +// Values returns all known values for FleetReservationType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (FleetReservationType) Values() []FleetReservationType { + return []FleetReservationType{ + "interruptible-capacity-reservation", + } +} + type FleetStateCode string // Enum values for FleetStateCode @@ -3731,8 +3750,9 @@ type InstanceLifecycle string // Enum values for InstanceLifecycle const ( - InstanceLifecycleSpot InstanceLifecycle = "spot" - InstanceLifecycleOnDemand InstanceLifecycle = "on-demand" + InstanceLifecycleSpot InstanceLifecycle = "spot" + InstanceLifecycleOnDemand InstanceLifecycle = "on-demand" + InstanceLifecycleInterruptibleCapacityReservation InstanceLifecycle = "interruptible-capacity-reservation" ) // Values returns all known values for InstanceLifecycle. Note that this can be @@ -3743,6 +3763,7 @@ func (InstanceLifecycle) Values() []InstanceLifecycle { return []InstanceLifecycle{ "spot", "on-demand", + "interruptible-capacity-reservation", } } 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 023936c7b..616723b18 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 @@ -3356,8 +3356,8 @@ type CreateFleetError struct { // template. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse - // Indicates if the instance that could not be launched was a Spot Instance or - // On-Demand Instance. + // Indicates if the instance that could not be launched was a Spot, On-Demand, + // Capacity Block, or Interruptible Capacity Reservation instance. Lifecycle InstanceLifecycle noSmithyDocumentSerde @@ -3377,8 +3377,8 @@ type CreateFleetInstance struct { // template. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse - // Indicates if the instance that was launched is a Spot Instance or On-Demand - // Instance. + // Indicates if the instance that was launched is a Spot, On-Demand, Capacity + // Block, or Interruptible Capacity Reservation instance. Lifecycle InstanceLifecycle // The value is windows for Windows instances in an EC2 Fleet. Otherwise, the @@ -3841,6 +3841,26 @@ type DeclarativePoliciesReport struct { noSmithyDocumentSerde } +// Indicates default conntrack information for the instance type. For more +// information, see [Connection tracking timeouts]in the Amazon EC2 User Guide. +// +// [Connection tracking timeouts]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts +type DefaultConnectionTrackingConfiguration struct { + + // Default timeout (in seconds) for idle TCP connections in an established state. + DefaultTcpEstablishedTimeout *int32 + + // Default timeout (in seconds) for idle UDP flows classified as streams which + // have seen more than one request-response transaction. + DefaultUdpStreamTimeout *int32 + + // Default timeout (in seconds) for idle UDP flows that have seen traffic only in + // a single direction or a single request-response transaction. + DefaultUdpTimeout *int32 + + noSmithyDocumentSerde +} + // Describes an EC2 Fleet error. type DeleteFleetError struct { @@ -4103,8 +4123,8 @@ type DescribeFleetError struct { // template. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse - // Indicates if the instance that could not be launched was a Spot Instance or - // On-Demand Instance. + // Indicates if the instance that could not be launched was a Spot, On-Demand, + // Capacity Block, or Interruptible Capacity Reservation instance. Lifecycle InstanceLifecycle noSmithyDocumentSerde @@ -4124,8 +4144,8 @@ type DescribeFleetsInstances struct { // template. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse - // Indicates if the instance that was launched is a Spot Instance or On-Demand - // Instance. + // Indicates if the instance that was launched is a Spot, On-Demand, Capacity + // Block, or Interruptible Capacity Reservation instance. Lifecycle InstanceLifecycle // The value is windows for Windows instances in an EC2 Fleet. Otherwise, the @@ -6160,6 +6180,10 @@ type FleetData struct { // [EC2 Fleet health checks]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks ReplaceUnhealthyInstances *bool + // Defines EC2 Fleet preferences for utilizing reserved capacity when + // DefaultTargetCapacityType is set to reserved-capacity . + ReservedCapacityOptions *ReservedCapacityOptions + // The configuration of Spot Instances in an EC2 Fleet. SpotOptions *SpotOptions @@ -15661,6 +15685,9 @@ type NetworkInfo struct { // type, if supported. BandwidthWeightings []BandwidthWeightingType + // Indicates conntrack information for the instance type + ConnectionTrackingConfiguration *DefaultConnectionTrackingConfiguration + // The index of the default network card, starting at 0. DefaultNetworkCardIndex *int32 @@ -18281,6 +18308,37 @@ type ReservationValue struct { noSmithyDocumentSerde } +// Defines EC2 Fleet preferences for utilizing reserved capacity when +// DefaultTargetCapacityType is set to reserved-capacity . +type ReservedCapacityOptions struct { + + // The types of Capacity Reservations used for fulfilling the EC2 Fleet request. + ReservationTypes []FleetReservationType + + noSmithyDocumentSerde +} + +// Defines EC2 Fleet preferences for utilizing reserved capacity when +// DefaultTargetCapacityType is set to reserved-capacity . +// +// This configuration can only be used if the EC2 Fleet is of type instant . +// +// When you specify ReservedCapacityOptions , you must also set +// DefaultTargetCapacityType to reserved-capacity in the +// TargetCapacitySpecification . +// +// For more information about Interruptible Capacity Reservations, see [Launch instances into an Interruptible Capacity Reservation] in the +// Amazon EC2 User Guide. +// +// [Launch instances into an Interruptible Capacity Reservation]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-launch-instances-interruptible-cr-walkthrough.html +type ReservedCapacityOptionsRequest struct { + + // The types of Capacity Reservations to use for fulfilling the EC2 Fleet request. + ReservationTypes []FleetReservationType + + noSmithyDocumentSerde +} + // Describes the limit price of a Reserved Instance offering. type ReservedInstanceLimitPrice struct { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/CHANGELOG.md index 65294daf5..656dadf82 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.74.0 (2026-03-16) + +* **Feature**: Amazon ECS now supports configuring whether tags are propagated to the EC2 Instance Metadata Service (IMDS) for instances launched by the Managed Instances capacity provider. This gives customers control over tag visibility in IMDS when using ECS Managed Instances. + +# v1.73.2 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.73.1 (2026-03-03) * **Dependency Update**: Bump minimum Go version to 1.24 diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/deserializers.go index 65a674c38..8905552b2 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/deserializers.go @@ -15197,6 +15197,15 @@ func awsAwsjson11_deserializeDocumentInstanceLaunchTemplate(v **types.InstanceLa sv.FipsEnabled = ptr.Bool(jtv) } + case "instanceMetadataTagsPropagation": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected BoxedBoolean to be of type *bool, got %T instead", value) + } + sv.InstanceMetadataTagsPropagation = ptr.Bool(jtv) + } + case "instanceRequirements": if err := awsAwsjson11_deserializeDocumentInstanceRequirementsRequest(&sv.InstanceRequirements, value); err != nil { return err diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/go_module_metadata.go index 79d367bbc..9fcf911d8 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/go_module_metadata.go @@ -3,4 +3,4 @@ package ecs // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.73.1" +const goModuleVersion = "1.74.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/serializers.go index 426e00a2d..db94442a7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/serializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/serializers.go @@ -5787,6 +5787,11 @@ func awsAwsjson11_serializeDocumentInstanceLaunchTemplate(v *types.InstanceLaunc ok.Boolean(*v.FipsEnabled) } + if v.InstanceMetadataTagsPropagation != nil { + ok := object.Key("instanceMetadataTagsPropagation") + ok.Boolean(*v.InstanceMetadataTagsPropagation) + } + if v.InstanceRequirements != nil { ok := object.Key("instanceRequirements") if err := awsAwsjson11_serializeDocumentInstanceRequirementsRequest(v.InstanceRequirements, ok); err != nil { @@ -5832,6 +5837,11 @@ func awsAwsjson11_serializeDocumentInstanceLaunchTemplateUpdate(v *types.Instanc ok.String(*v.Ec2InstanceProfileArn) } + if v.InstanceMetadataTagsPropagation != nil { + ok := object.Key("instanceMetadataTagsPropagation") + ok.Boolean(*v.InstanceMetadataTagsPropagation) + } + if v.InstanceRequirements != nil { ok := object.Key("instanceRequirements") if err := awsAwsjson11_serializeDocumentInstanceRequirementsRequest(v.InstanceRequirements, ok); err != nil { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/types/types.go index 7c0fe445e..4b07014da 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/types/types.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecs/types/types.go @@ -3439,6 +3439,22 @@ type InstanceLaunchTemplate struct { // regions and FIPS disabled in other regions. FipsEnabled *bool + // Determines whether tags are propagated to the instance metadata service (IMDS) + // for Amazon EC2 instances launched by the Managed Instances capacity provider. + // When enabled, all tags associated with the instance are available through the + // instance metadata service. When disabled, tags are not propagated to IMDS. + // + // Disable this setting if your tags contain characters that are not compatible + // with IMDS, such as / . IMDS requires tag keys to match the pattern + // [0-9a-zA-Z\-_+=,.@:]{1,255} . + // + // The default value is true . + // + // For more information, see [Work with instance tags in instance metadata] in the Amazon EC2 User Guide. + // + // [Work with instance tags in instance metadata]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS + InstanceMetadataTagsPropagation *bool + // The instance requirements. You can specify: // // - The instance types @@ -3489,6 +3505,22 @@ type InstanceLaunchTemplateUpdate struct { // [Amazon ECS instance profile for Managed Instances]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html Ec2InstanceProfileArn *string + // Determines whether tags are propagated to the instance metadata service (IMDS) + // for Amazon EC2 instances launched by the Managed Instances capacity provider. + // When enabled, all tags associated with the instance are available through the + // instance metadata service. When disabled, tags are not propagated to IMDS. + // + // Disable this setting if your tags contain characters that are not compatible + // with IMDS, such as / . IMDS requires tag keys to match the pattern + // [0-9a-zA-Z\-_+=,.@:]{1,255} . + // + // The default value is true . + // + // For more information, see [Work with instance tags in instance metadata] in the Amazon EC2 User Guide. + // + // [Work with instance tags in instance metadata]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS + InstanceMetadataTagsPropagation *bool + // The updated instance requirements for attribute-based instance type selection. // Changes to instance requirements affect which instance types Amazon ECS selects // for new instances. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md index b594dddaa..497d37230 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.13.7 (2026-03-13) + +* **Bug Fix**: Replace usages of the old ioutil/ package throughout the SDK. + # v1.13.6 (2026-03-03) * **Dependency Update**: Bump minimum Go version to 1.24 diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go index 0ece341c6..5679a2b2b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go @@ -3,4 +3,4 @@ package acceptencoding // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.6" +const goModuleVersion = "1.13.7" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md index 768c3716b..7148221e4 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md @@ -1,3 +1,8 @@ +# v1.9.12 (2026-03-13) + +* **Bug Fix**: Replace usages of the old ioutil/ package throughout the SDK. +* **Dependency Update**: Updated to the latest SDK module versions + # v1.9.11 (2026-03-03) * **Bug Fix**: Modernize non codegen files with go fix diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go index 0f45aeabc..bdce1ef6a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go @@ -3,4 +3,4 @@ package checksum // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.9.11" +const goModuleVersion = "1.9.12" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md index 6be7fa536..0a52b84b6 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.13.20 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.13.19 (2026-03-03) * **Bug Fix**: Modernize non codegen files with go fix diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go index 983aaa4b6..f65e864d0 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go @@ -3,4 +3,4 @@ package presignedurl // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.19" +const goModuleVersion = "1.13.20" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md index da0728750..1e5b70f75 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.19.20 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.19.19 (2026-03-03) * **Bug Fix**: Modernize non codegen files with go fix diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go index 87ec0db1c..47ba8ecd7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go @@ -3,4 +3,4 @@ package s3shared // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.19.19" +const goModuleVersion = "1.19.20" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md index 3017d7236..c7cd4c4ac 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md @@ -1,3 +1,12 @@ +# v1.97.1 (2026-03-13) + +* **Bug Fix**: Replace usages of the old ioutil/ package throughout the SDK. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.97.0 (2026-03-12) + +* **Feature**: Adds support for account regional namespaces for general purpose buckets. The account regional namespace is a reserved subdivision of the global bucket namespace where only your account can create general purpose buckets. + # v1.96.4 (2026-03-05) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go index b50e49e34..02b5d6bcc 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go @@ -90,9 +90,11 @@ import ( // // - If the source object that you want to copy is in a directory bucket, you // must have the s3express:CreateSession permission in the Action element of a -// policy to read the object. By default, the session is in the ReadWrite mode. -// If you want to restrict the access, you can explicitly set the -// s3express:SessionMode condition key to ReadOnly on the copy source bucket. +// policy to read the object. If no session mode is specified, the session will be +// created with the maximum allowable privilege, attempting ReadWrite first, then +// ReadOnly if ReadWrite is not permitted. If you want to explicitly restrict the +// access to be read-only, you can set the s3express:SessionMode condition key to +// ReadOnly on the copy source bucket. // // - If the copy destination is a directory bucket, you must have the // s3express:CreateSession permission in the Action element of a policy to write diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go index a889220ab..2b87aa3a5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go @@ -25,6 +25,18 @@ import ( // There are two types of buckets: general purpose buckets and directory buckets. // For more information about these bucket types, see [Creating, configuring, and working with Amazon S3 buckets]in the Amazon S3 User Guide. // +// General purpose buckets exist in a global namespace, which means that each +// bucket name must be unique across all Amazon Web Services accounts in all the +// Amazon Web Services Regions within a partition. A partition is a grouping of +// Regions. Amazon Web Services currently has four partitions: aws (Standard +// Regions), aws-cn (China Regions), aws-us-gov (Amazon Web Services GovCloud +// (US)), and aws-eusc (European Sovereign Cloud). When you create a general +// purpose bucket, you can choose to create a bucket in the shared global namespace +// or you can choose to create a bucket in your account regional namespace. Your +// account regional namespace is a subdivision of the global namespace that only +// your account can create buckets in. For more information on account regional +// namespaces, see [Namespaces for general purpose buckets]. +// // - General purpose buckets - If you send your CreateBucket request to the // s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So // the signature calculations in Signature Version 4 must use us-east-1 as the @@ -120,6 +132,7 @@ import ( // [Creating, configuring, and working with Amazon S3 buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html // [Concepts for directory buckets in Local Zones]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html // [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html +// [Namespaces for general purpose buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/gpbucketnamespaces.html // [DeleteBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html // [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html // [Virtual hosting of buckets]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html @@ -173,6 +186,27 @@ type CreateBucketInput struct { // This functionality is not supported for directory buckets. ACL types.BucketCannedACL + // Specifies the namespace where you want to create your general purpose bucket. + // When you create a general purpose bucket, you can choose to create a bucket in + // the shared global namespace or you can choose to create a bucket in your account + // regional namespace. Your account regional namespace is a subdivision of the + // global namespace that only your account can create buckets in. For more + // information on bucket namespaces, see [Namespaces for general purpose buckets]. + // + // General purpose buckets in your account regional namespace must follow a + // specific naming convention. These buckets consist of a bucket name prefix that + // you create, and a suffix that contains your 12-digit Amazon Web Services Account + // ID, the Amazon Web Services Region code, and ends with -an . Bucket names must + // follow the format bucket-name-prefix-accountId-region-an (for example, + // amzn-s3-demo-bucket-111122223333-us-west-2-an ). For information about bucket + // naming restrictions, see [Account regional namespace naming rules]in the Amazon S3 User Guide. + // + // This functionality is not supported for directory buckets. + // + // [Account regional namespace naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html#account-regional-naming-rules + // [Namespaces for general purpose buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/gpbucketnamespaces.html + BucketNamespace types.BucketNamespace + // The configuration information for the bucket. CreateBucketConfiguration *types.CreateBucketConfiguration diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go index 3b9f1a5ea..ea4f7006d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go @@ -234,11 +234,15 @@ type CreateSessionInput struct { ServerSideEncryption types.ServerSideEncryption // Specifies the mode of the session that will be created, either ReadWrite or - // ReadOnly . By default, a ReadWrite session is created. A ReadWrite session is - // capable of executing all the Zonal endpoint API operations on a directory - // bucket. A ReadOnly session is constrained to execute the following Zonal - // endpoint API operations: GetObject , HeadObject , ListObjectsV2 , - // GetObjectAttributes , ListParts , and ListMultipartUploads . + // ReadOnly . If no session mode is specified, the default behavior attempts to + // create a session with the maximum allowable privilege. It will first attempt to + // create a ReadWrite session, and if that is not allowed by permissions, it will + // attempt to create a ReadOnly session. If neither session type is allowed, the + // request will return an Access Denied error. A ReadWrite session is capable of + // executing all the Zonal endpoint API operations on a directory bucket. A + // ReadOnly session is constrained to execute the following Zonal endpoint API + // operations: GetObject , HeadObject , ListObjectsV2 , GetObjectAttributes , + // ListParts , and ListMultipartUploads . SessionMode types.SessionMode noSmithyDocumentSerde diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go index d46c4a135..8745e236e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go @@ -19,9 +19,6 @@ import ( // (ABAC) is not enabled for the bucket. When you [enable ABAC for a general purpose bucket], you can no longer use this // operation for that bucket and must use [UntagResource]instead. // -// if ABAC is not enabled for the bucket. When you [enable ABAC for a general purpose bucket], you can no longer use this -// operation for that bucket and must use [UntagResource]instead. -// // To use this operation, you must have permission to perform the // s3:PutBucketTagging action. By default, the bucket owner has this permission and // can grant this permission to others. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go index c5bb22aac..888333793 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go @@ -18,9 +18,6 @@ import ( // // Returns the tag set associated with the general purpose bucket. // -// if ABAC is not enabled for the bucket. When you [enable ABAC for a general purpose bucket], you can no longer use this -// operation for that bucket and must use [ListTagsForResource]instead. -// // To use this operation, you must have permission to perform the // s3:GetBucketTagging action. By default, the bucket owner has this permission and // can grant this permission to others. @@ -42,9 +39,7 @@ import ( // URL encode this value to my%20%20file.txt . // // [PutBucketTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html -// [enable ABAC for a general purpose bucket]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html // [DeleteBucketTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html -// [ListTagsForResource]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html func (c *Client) GetBucketTagging(ctx context.Context, params *GetBucketTaggingInput, optFns ...func(*Options)) (*GetBucketTaggingOutput, error) { if params == nil { params = &GetBucketTaggingInput{} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go index 29e413e14..587b66e86 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go @@ -52,9 +52,11 @@ import ( // information about permissions, see [Managing access permissions to your Amazon S3 resources]in the Amazon S3 User Guide. // // - Directory bucket permissions - You must have the s3express:CreateSession -// permission in the Action element of a policy. By default, the session is in -// the ReadWrite mode. If you want to restrict the access, you can explicitly set -// the s3express:SessionMode condition key to ReadOnly on the bucket. +// permission in the Action element of a policy. If no session mode is specified, +// the session will be created with the maximum allowable privilege, attempting +// ReadWrite first, then ReadOnly if ReadWrite is not permitted. If you want to +// explicitly restrict the access to be read-only, you can set the +// s3express:SessionMode condition key to ReadOnly on the bucket. // // For more information about example bucket policies, see [Example bucket policies for S3 Express One Zone]and [Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone]in the Amazon S3 // diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go index f6a7126e7..ff94b912c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go @@ -84,9 +84,11 @@ import ( // // - If the source object that you want to copy is in a directory bucket, you // must have the s3express:CreateSession permission in the Action element of a -// policy to read the object. By default, the session is in the ReadWrite mode. -// If you want to restrict the access, you can explicitly set the -// s3express:SessionMode condition key to ReadOnly on the copy source bucket. +// policy to read the object. If no session mode is specified, the session will be +// created with the maximum allowable privilege, attempting ReadWrite first, then +// ReadOnly if ReadWrite is not permitted. If you want to explicitly restrict the +// access to be read-only, you can set the s3express:SessionMode condition key to +// ReadOnly on the copy source bucket. // // - If the copy destination is a directory bucket, you must have the // s3express:CreateSession permission in the Action element of a policy to write diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go index 070ece6cd..7f8df3d48 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go @@ -3,4 +3,4 @@ package s3 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.96.4" +const goModuleVersion = "1.97.1" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go index 4730b7a16..4a3500518 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go @@ -644,6 +644,11 @@ func awsRestxml_serializeOpHttpBindingsCreateBucketInput(v *CreateBucketInput, e encoder.SetHeader(locationName).String(string(v.ACL)) } + if len(v.BucketNamespace) > 0 { + locationName := "X-Amz-Bucket-Namespace" + encoder.SetHeader(locationName).String(string(v.BucketNamespace)) + } + if v.GrantFullControl != nil { locationName := "X-Amz-Grant-Full-Control" encoder.SetHeader(locationName).String(*v.GrantFullControl) diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go index 1a4d118f7..0aa362e8e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go @@ -201,6 +201,25 @@ func (BucketLogsPermission) Values() []BucketLogsPermission { } } +type BucketNamespace string + +// Enum values for BucketNamespace +const ( + BucketNamespaceAccountRegional BucketNamespace = "account-regional" + BucketNamespaceGlobal BucketNamespace = "global" +) + +// Values returns all known values for BucketNamespace. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (BucketNamespace) Values() []BucketNamespace { + return []BucketNamespace{ + "account-regional", + "global", + } +} + type BucketType string // Enum values for BucketType diff --git a/vendor/github.com/pulumi/esc/.version b/vendor/github.com/pulumi/esc/.version index 215740905..ca222b7cf 100644 --- a/vendor/github.com/pulumi/esc/.version +++ b/vendor/github.com/pulumi/esc/.version @@ -1 +1 @@ -0.22.0 +0.23.0 diff --git a/vendor/github.com/pulumi/esc/CHANGELOG.md b/vendor/github.com/pulumi/esc/CHANGELOG.md index af99d949e..bda45c6ce 100644 --- a/vendor/github.com/pulumi/esc/CHANGELOG.md +++ b/vendor/github.com/pulumi/esc/CHANGELOG.md @@ -1,5 +1,15 @@ # CHANGELOG +## 0.23.0 + +### Improvements + +- Add warning in CLI when using an ambiguous 2-part environment ref + [#622](https://github.com/pulumi/esc/pull/622) + +- Add support for `fn::final` built-in function that marks values as final and unable to be overwritten. + [#621](https://github.com/pulumi/esc/pull/621) + ## 0.22.0 ### Improvements diff --git a/vendor/github.com/pulumi/esc/CHANGELOG_PENDING.md b/vendor/github.com/pulumi/esc/CHANGELOG_PENDING.md index 5c2a5aa0b..5f2076d07 100644 --- a/vendor/github.com/pulumi/esc/CHANGELOG_PENDING.md +++ b/vendor/github.com/pulumi/esc/CHANGELOG_PENDING.md @@ -1,5 +1,11 @@ ### Improvements +- Add warning in CLI when using an ambiguous 2-part environment ref + [#622](https://github.com/pulumi/esc/pull/622) + +- Add support for `fn::final` built-in function that marks values as final and unable to be overwritten. + [#621](https://github.com/pulumi/esc/pull/621) + ### Bug Fixes ### Breaking changes diff --git a/vendor/github.com/pulumi/esc/ast/expr.go b/vendor/github.com/pulumi/esc/ast/expr.go index a9bd142d3..536c0da6b 100644 --- a/vendor/github.com/pulumi/esc/ast/expr.go +++ b/vendor/github.com/pulumi/esc/ast/expr.go @@ -671,6 +671,25 @@ func FromBase64(value Expr) *FromBase64Expr { return FromBase64Syntax(nil, name, value) } +// FinalExpr marks a value as final, preventing child environments from overriding it. +type FinalExpr struct { + builtinNode + + Value Expr +} + +func FinalSyntax(node *syntax.ObjectNode, name *StringExpr, args Expr) *FinalExpr { + return &FinalExpr{ + builtinNode: builtin(node, name, args), + Value: args, + } +} + +func Final(value Expr) *FinalExpr { + name := String("fn::final") + return FinalSyntax(nil, name, value) +} + // ValidateExpr validates a value against a JSON schema. type ValidateExpr struct { builtinNode @@ -717,6 +736,8 @@ func tryParseFunction(node *syntax.ObjectNode) (Expr, syntax.Diagnostics, bool) switch kvp.Key.Value() { case "fn::concat": parse = parseConcat + case "fn::final": + parse = parseFinal case "fn::validate": parse = parseValidate case "fn::fromJSON": @@ -948,6 +969,10 @@ func parseToString(node *syntax.ObjectNode, name *StringExpr, args Expr) (Expr, return ToStringSyntax(node, name, args), nil } +func parseFinal(node *syntax.ObjectNode, name *StringExpr, args Expr) (Expr, syntax.Diagnostics) { + return FinalSyntax(node, name, args), nil +} + func parseToBase64(node *syntax.ObjectNode, name *StringExpr, args Expr) (Expr, syntax.Diagnostics) { return ToBase64Syntax(node, name, args), nil } diff --git a/vendor/github.com/pulumi/esc/eval/eval.go b/vendor/github.com/pulumi/esc/eval/eval.go index c8372ed8c..7328cecc4 100644 --- a/vendor/github.com/pulumi/esc/eval/eval.go +++ b/vendor/github.com/pulumi/esc/eval/eval.go @@ -26,6 +26,7 @@ import ( "slices" "strings" + "github.com/hashicorp/hcl/v2" "github.com/pulumi/esc" "github.com/pulumi/esc/ast" "github.com/pulumi/esc/internal/spell" @@ -340,6 +341,9 @@ func declare[Expr exprNode](e *evalContext, path string, x Expr, base *value) *e } // Output schema is dynamic - will be determined during evaluation return newExpr(path, repr, schema.Always().Schema(), base) + case *ast.FinalExpr: + repr := &finalExpr{node: x, value: declare(e, "", x.Value, nil)} + return newExpr(path, repr, schema.Always().Schema(), base) case *ast.FromJSONExpr: repr := &fromJSONExpr{node: x, string: declare(e, "", x.String, nil)} return newExpr(path, repr, schema.Always(), base) @@ -588,6 +592,17 @@ func (e *evalContext) evaluateExpr(x *expr, accept *schema.Schema) *value { return val } + // Check if the base value is final. If so, the child cannot override it. + if x.base != nil && x.base.final { + diag := ast.ExprError(x.repr.syntax(), "cannot override final value") + diag.Severity = hcl.DiagWarning + e.diags.Extend(diag) + val := x.base + x.schema = val.schema + x.value = val + return val + } + val := (*value)(nil) switch repr := x.repr.(type) { case *missingExpr: @@ -611,6 +626,8 @@ func (e *evalContext) evaluateExpr(x *expr, accept *schema.Schema) *value { val = e.evaluateBuiltinConcat(x, repr) case *fromBase64Expr: val = e.evaluateBuiltinFromBase64(x, repr) + case *finalExpr: + val = e.evaluateBuiltinFinal(x, repr) case *validateExpr: val = e.evaluateBuiltinValidate(x, repr) case *fromJSONExpr: @@ -1423,6 +1440,17 @@ func (e *evalContext) valueToSchema(v *value) (*schema.Schema, error) { return &s, nil } +// evaluateBuiltinFinal evaluates a call to the fn::final builtin. The inner value is evaluated +// normally, and the result is wrapped with the final flag to prevent overrides in child environments. +func (e *evalContext) evaluateBuiltinFinal(x *expr, repr *finalExpr) *value { + val := e.evaluateExpr(repr.value, schema.Always()) + v := &value{def: x, final: true} + v.schema = val.schema + v.repr = val.repr + v.combine(val) + return v +} + // evaluateBuiltinFromJSON evaluates a call from the fn::fromJSON builtin. func (e *evalContext) evaluateBuiltinFromJSON(x *expr, repr *fromJSONExpr) *value { v := &value{def: x, schema: x.schema} diff --git a/vendor/github.com/pulumi/esc/eval/expr.go b/vendor/github.com/pulumi/esc/eval/expr.go index 33f2d7be8..79ae74888 100644 --- a/vendor/github.com/pulumi/esc/eval/expr.go +++ b/vendor/github.com/pulumi/esc/eval/expr.go @@ -320,6 +320,13 @@ func (x *expr) export(environment string) esc.Expr { ArgSchema: schema.Always().Schema(), Arg: repr.value.export(environment), } + case *finalExpr: + ex.Builtin = &esc.BuiltinExpr{ + Name: repr.node.Name().Value, + NameRange: convertRange(repr.node.Name().Syntax().Syntax().Range(), environment), + ArgSchema: schema.Always().Schema(), + Arg: repr.value.export(environment), + } case *arrayExpr: ex.List = make([]esc.Expr, len(repr.elements)) for i, el := range repr.elements { @@ -568,6 +575,17 @@ func (x *fromBase64Expr) syntax() ast.Expr { return x.node } +// finalExpr represents a call to the fn::final builtin. +type finalExpr struct { + node *ast.FinalExpr + + value *expr +} + +func (x *finalExpr) syntax() ast.Expr { + return x.node +} + // validateExpr represents a call to the fn::validate builtin. type validateExpr struct { node *ast.ValidateExpr diff --git a/vendor/github.com/pulumi/esc/eval/value.go b/vendor/github.com/pulumi/esc/eval/value.go index 34324dd66..9e5b9e9b3 100644 --- a/vendor/github.com/pulumi/esc/eval/value.go +++ b/vendor/github.com/pulumi/esc/eval/value.go @@ -49,6 +49,7 @@ type value struct { unknown bool rotateOnly bool secret bool // true if the value is secret + final bool // true if the value is final and cannot be overridden by child environments repr any // nil | bool | json.Number | string | []*value | map[string]*value } @@ -493,6 +494,7 @@ func (c copier) copy(v *value) *value { schema: v.schema, unknown: v.unknown, secret: v.secret, + final: v.final, repr: repr, } return copy diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logResourcePolicy.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logResourcePolicy.go index fdb7b3582..146b9e794 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logResourcePolicy.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logResourcePolicy.go @@ -123,20 +123,30 @@ import ( // // ## Import // -// Using `pulumi import`, import CloudWatch log resource policies using the policy name. For example: +// Using `pulumi import`, import CloudWatch log resource policies using the policy name for account-scoped policies, or the ARN of the CloudWatch Logs resource to which the policy is attached for resource-scoped policies. For example: // // ```sh -// $ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy MyPolicy MyPolicy +// $ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy my_policy_account_scoped my_policy +// ``` +// +// ```sh +// $ pulumi import aws:cloudwatch/logResourcePolicy:LogResourcePolicy my_policy_resource_scoped "arn:aws:logs:us-west-2:123456789012:log-group:/my-log-group" // ``` type LogResourcePolicy struct { pulumi.CustomResourceState // Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters. PolicyDocument pulumi.StringOutput `pulumi:"policyDocument"` - // Name of the resource policy. - PolicyName pulumi.StringOutput `pulumi:"policyName"` + // Name of the resource policy. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for account-scoped policies. Note that the number of resource policies without `resourceArn` is limited to 10 per region. + PolicyName pulumi.StringPtrOutput `pulumi:"policyName"` + // Scope of the resource policy (`ACCOUNT` or `RESOURCE`). + PolicyScope pulumi.StringOutput `pulumi:"policyScope"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringOutput `pulumi:"region"` + // ARN of the CloudWatch Logs resource to which the resource policy is attached. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for resource-scoped policies. Only one policy can be attached per log group resource ARN. + ResourceArn pulumi.StringPtrOutput `pulumi:"resourceArn"` + // Revision ID of the resource policy. Only populated for resource-scoped policies. + RevisionId pulumi.StringOutput `pulumi:"revisionId"` } // NewLogResourcePolicy registers a new resource with the given unique name, arguments, and options. @@ -149,9 +159,6 @@ func NewLogResourcePolicy(ctx *pulumi.Context, if args.PolicyDocument == nil { return nil, errors.New("invalid value for required argument 'PolicyDocument'") } - if args.PolicyName == nil { - return nil, errors.New("invalid value for required argument 'PolicyName'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource LogResourcePolicy err := ctx.RegisterResource("aws:cloudwatch/logResourcePolicy:LogResourcePolicy", name, args, &resource, opts...) @@ -177,19 +184,31 @@ func GetLogResourcePolicy(ctx *pulumi.Context, type logResourcePolicyState struct { // Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters. PolicyDocument interface{} `pulumi:"policyDocument"` - // Name of the resource policy. + // Name of the resource policy. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for account-scoped policies. Note that the number of resource policies without `resourceArn` is limited to 10 per region. PolicyName *string `pulumi:"policyName"` + // Scope of the resource policy (`ACCOUNT` or `RESOURCE`). + PolicyScope *string `pulumi:"policyScope"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` + // ARN of the CloudWatch Logs resource to which the resource policy is attached. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for resource-scoped policies. Only one policy can be attached per log group resource ARN. + ResourceArn *string `pulumi:"resourceArn"` + // Revision ID of the resource policy. Only populated for resource-scoped policies. + RevisionId *string `pulumi:"revisionId"` } type LogResourcePolicyState struct { // Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters. PolicyDocument pulumi.Input - // Name of the resource policy. + // Name of the resource policy. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for account-scoped policies. Note that the number of resource policies without `resourceArn` is limited to 10 per region. PolicyName pulumi.StringPtrInput + // Scope of the resource policy (`ACCOUNT` or `RESOURCE`). + PolicyScope pulumi.StringPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput + // ARN of the CloudWatch Logs resource to which the resource policy is attached. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for resource-scoped policies. Only one policy can be attached per log group resource ARN. + ResourceArn pulumi.StringPtrInput + // Revision ID of the resource policy. Only populated for resource-scoped policies. + RevisionId pulumi.StringPtrInput } func (LogResourcePolicyState) ElementType() reflect.Type { @@ -199,20 +218,24 @@ func (LogResourcePolicyState) ElementType() reflect.Type { type logResourcePolicyArgs struct { // Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters. PolicyDocument interface{} `pulumi:"policyDocument"` - // Name of the resource policy. - PolicyName string `pulumi:"policyName"` + // Name of the resource policy. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for account-scoped policies. Note that the number of resource policies without `resourceArn` is limited to 10 per region. + PolicyName *string `pulumi:"policyName"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` + // ARN of the CloudWatch Logs resource to which the resource policy is attached. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for resource-scoped policies. Only one policy can be attached per log group resource ARN. + ResourceArn *string `pulumi:"resourceArn"` } // The set of arguments for constructing a LogResourcePolicy resource. type LogResourcePolicyArgs struct { // Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters. PolicyDocument pulumi.Input - // Name of the resource policy. - PolicyName pulumi.StringInput + // Name of the resource policy. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for account-scoped policies. Note that the number of resource policies without `resourceArn` is limited to 10 per region. + PolicyName pulumi.StringPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput + // ARN of the CloudWatch Logs resource to which the resource policy is attached. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for resource-scoped policies. Only one policy can be attached per log group resource ARN. + ResourceArn pulumi.StringPtrInput } func (LogResourcePolicyArgs) ElementType() reflect.Type { @@ -307,9 +330,14 @@ func (o LogResourcePolicyOutput) PolicyDocument() pulumi.StringOutput { return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringOutput { return v.PolicyDocument }).(pulumi.StringOutput) } -// Name of the resource policy. -func (o LogResourcePolicyOutput) PolicyName() pulumi.StringOutput { - return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringOutput { return v.PolicyName }).(pulumi.StringOutput) +// Name of the resource policy. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for account-scoped policies. Note that the number of resource policies without `resourceArn` is limited to 10 per region. +func (o LogResourcePolicyOutput) PolicyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringPtrOutput { return v.PolicyName }).(pulumi.StringPtrOutput) +} + +// Scope of the resource policy (`ACCOUNT` or `RESOURCE`). +func (o LogResourcePolicyOutput) PolicyScope() pulumi.StringOutput { + return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringOutput { return v.PolicyScope }).(pulumi.StringOutput) } // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. @@ -317,6 +345,16 @@ func (o LogResourcePolicyOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// ARN of the CloudWatch Logs resource to which the resource policy is attached. Exactly one of `policyName` or `resourceArn` must be specified and this argument is required for resource-scoped policies. Only one policy can be attached per log group resource ARN. +func (o LogResourcePolicyOutput) ResourceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringPtrOutput { return v.ResourceArn }).(pulumi.StringPtrOutput) +} + +// Revision ID of the resource policy. Only populated for resource-scoped policies. +func (o LogResourcePolicyOutput) RevisionId() pulumi.StringOutput { + return o.ApplyT(func(v *LogResourcePolicy) pulumi.StringOutput { return v.RevisionId }).(pulumi.StringOutput) +} + type LogResourcePolicyArrayOutput struct{ *pulumi.OutputState } func (LogResourcePolicyArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go index e2b6d2351..ca9e37126 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go @@ -397,7 +397,7 @@ type VpcEndpoint struct { // The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`. PrefixListId pulumi.StringOutput `pulumi:"prefixListId"` // Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Most users will want this enabled to allow services within the VPC to automatically use the endpoint. - // Defaults to `false`. + // Defaults to `false`. If `vpcEndpointType` is anything other than `Interface`, changing this value forces a new resource to be created. PrivateDnsEnabled pulumi.BoolOutput `pulumi:"privateDnsEnabled"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringOutput `pulumi:"region"` @@ -486,7 +486,7 @@ type vpcEndpointState struct { // The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`. PrefixListId *string `pulumi:"prefixListId"` // Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Most users will want this enabled to allow services within the VPC to automatically use the endpoint. - // Defaults to `false`. + // Defaults to `false`. If `vpcEndpointType` is anything other than `Interface`, changing this value forces a new resource to be created. PrivateDnsEnabled *bool `pulumi:"privateDnsEnabled"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` @@ -543,7 +543,7 @@ type VpcEndpointState struct { // The prefix list ID of the exposed AWS service. Applicable for endpoints of type `Gateway`. PrefixListId pulumi.StringPtrInput // Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Most users will want this enabled to allow services within the VPC to automatically use the endpoint. - // Defaults to `false`. + // Defaults to `false`. If `vpcEndpointType` is anything other than `Interface`, changing this value forces a new resource to be created. PrivateDnsEnabled pulumi.BoolPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput @@ -592,7 +592,7 @@ type vpcEndpointArgs struct { // A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All `Gateway` and some `Interface` endpoints support policies - see the [relevant AWS documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) for more details. Policy *string `pulumi:"policy"` // Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Most users will want this enabled to allow services within the VPC to automatically use the endpoint. - // Defaults to `false`. + // Defaults to `false`. If `vpcEndpointType` is anything other than `Interface`, changing this value forces a new resource to be created. PrivateDnsEnabled *bool `pulumi:"privateDnsEnabled"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` @@ -632,7 +632,7 @@ type VpcEndpointArgs struct { // A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All `Gateway` and some `Interface` endpoints support policies - see the [relevant AWS documentation](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) for more details. Policy pulumi.StringPtrInput // Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Most users will want this enabled to allow services within the VPC to automatically use the endpoint. - // Defaults to `false`. + // Defaults to `false`. If `vpcEndpointType` is anything other than `Interface`, changing this value forces a new resource to be created. PrivateDnsEnabled pulumi.BoolPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput @@ -799,7 +799,7 @@ func (o VpcEndpointOutput) PrefixListId() pulumi.StringOutput { } // Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type `Interface`. Most users will want this enabled to allow services within the VPC to automatically use the endpoint. -// Defaults to `false`. +// Defaults to `false`. If `vpcEndpointType` is anything other than `Interface`, changing this value forces a new resource to be created. func (o VpcEndpointOutput) PrivateDnsEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *VpcEndpoint) pulumi.BoolOutput { return v.PrivateDnsEnabled }).(pulumi.BoolOutput) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/getOutboundWebIdentityFederation.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/getOutboundWebIdentityFederation.go new file mode 100644 index 000000000..60d09f571 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/getOutboundWebIdentityFederation.go @@ -0,0 +1,91 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package iam + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := iam.LookupOutboundWebIdentityFederation(ctx, map[string]interface{}{}, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupOutboundWebIdentityFederation(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupOutboundWebIdentityFederationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupOutboundWebIdentityFederationResult + err := ctx.Invoke("aws:iam/getOutboundWebIdentityFederation:getOutboundWebIdentityFederation", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getOutboundWebIdentityFederation. +type LookupOutboundWebIdentityFederationResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // A unique issuer URL for your AWS account that hosts the OpenID Connect (OIDC) discovery endpoints. + IssuerIdentifier string `pulumi:"issuerIdentifier"` +} + +func LookupOutboundWebIdentityFederationOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupOutboundWebIdentityFederationResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (LookupOutboundWebIdentityFederationResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("aws:iam/getOutboundWebIdentityFederation:getOutboundWebIdentityFederation", nil, LookupOutboundWebIdentityFederationResultOutput{}, options).(LookupOutboundWebIdentityFederationResultOutput), nil + }).(LookupOutboundWebIdentityFederationResultOutput) +} + +// A collection of values returned by getOutboundWebIdentityFederation. +type LookupOutboundWebIdentityFederationResultOutput struct{ *pulumi.OutputState } + +func (LookupOutboundWebIdentityFederationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupOutboundWebIdentityFederationResult)(nil)).Elem() +} + +func (o LookupOutboundWebIdentityFederationResultOutput) ToLookupOutboundWebIdentityFederationResultOutput() LookupOutboundWebIdentityFederationResultOutput { + return o +} + +func (o LookupOutboundWebIdentityFederationResultOutput) ToLookupOutboundWebIdentityFederationResultOutputWithContext(ctx context.Context) LookupOutboundWebIdentityFederationResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupOutboundWebIdentityFederationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupOutboundWebIdentityFederationResult) string { return v.Id }).(pulumi.StringOutput) +} + +// A unique issuer URL for your AWS account that hosts the OpenID Connect (OIDC) discovery endpoints. +func (o LookupOutboundWebIdentityFederationResultOutput) IssuerIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupOutboundWebIdentityFederationResult) string { return v.IssuerIdentifier }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupOutboundWebIdentityFederationResultOutput{}) +} 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 99a509eee..82c49cc1a 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.21.0") + version := semver.MustParse("7.23.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.21.0") + version := semver.MustParse("7.23.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/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json index 90c2c2494..71764feb2 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.21.0" + "version": "7.23.0" } 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/cloudService.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/cloudService.go index d7260fa16..e3044a888 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/cloudService.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/cloudService.go @@ -29,7 +29,7 @@ type CloudService struct { // Cloud service properties Properties CloudServicePropertiesResponseOutput `pulumi:"properties"` // The system meta data relating to this resource. - SystemData SystemDataResponsePtrOutput `pulumi:"systemData"` + SystemData SystemDataResponseV1PtrOutput `pulumi:"systemData"` // Resource tags. Tags pulumi.StringMapOutput `pulumi:"tags"` // Resource type. @@ -187,8 +187,8 @@ func (o CloudServiceOutput) Properties() CloudServicePropertiesResponseOutput { } // The system meta data relating to this resource. -func (o CloudServiceOutput) SystemData() SystemDataResponsePtrOutput { - return o.ApplyT(func(v *CloudService) SystemDataResponsePtrOutput { return v.SystemData }).(SystemDataResponsePtrOutput) +func (o CloudServiceOutput) SystemData() SystemDataResponseV1PtrOutput { + return o.ApplyT(func(v *CloudService) SystemDataResponseV1PtrOutput { return v.SystemData }).(SystemDataResponseV1PtrOutput) } // Resource tags. 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumiTypes.go index 2487be5f0..9cce690d1 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/compute/v3/pulumiTypes.go @@ -39455,6 +39455,83 @@ func (o SystemDataResponsePtrOutput) LastModifiedByType() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } +// The system meta data relating to this resource. +type SystemDataResponseV1 struct { + // Specifies the time in UTC at which the Cloud Service (extended support) resource was created.
Minimum api-version: 2022-04-04. + CreatedAt string `pulumi:"createdAt"` + // Specifies the time in UTC at which the Cloud Service (extended support) resource was last modified.
Minimum api-version: 2022-04-04. + LastModifiedAt string `pulumi:"lastModifiedAt"` +} + +// The system meta data relating to this resource. +type SystemDataResponseV1Output struct{ *pulumi.OutputState } + +func (SystemDataResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*SystemDataResponseV1)(nil)).Elem() +} + +func (o SystemDataResponseV1Output) ToSystemDataResponseV1Output() SystemDataResponseV1Output { + return o +} + +func (o SystemDataResponseV1Output) ToSystemDataResponseV1OutputWithContext(ctx context.Context) SystemDataResponseV1Output { + return o +} + +// Specifies the time in UTC at which the Cloud Service (extended support) resource was created.
Minimum api-version: 2022-04-04. +func (o SystemDataResponseV1Output) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v SystemDataResponseV1) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Specifies the time in UTC at which the Cloud Service (extended support) resource was last modified.
Minimum api-version: 2022-04-04. +func (o SystemDataResponseV1Output) LastModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v SystemDataResponseV1) string { return v.LastModifiedAt }).(pulumi.StringOutput) +} + +type SystemDataResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (SystemDataResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SystemDataResponseV1)(nil)).Elem() +} + +func (o SystemDataResponseV1PtrOutput) ToSystemDataResponseV1PtrOutput() SystemDataResponseV1PtrOutput { + return o +} + +func (o SystemDataResponseV1PtrOutput) ToSystemDataResponseV1PtrOutputWithContext(ctx context.Context) SystemDataResponseV1PtrOutput { + return o +} + +func (o SystemDataResponseV1PtrOutput) Elem() SystemDataResponseV1Output { + return o.ApplyT(func(v *SystemDataResponseV1) SystemDataResponseV1 { + if v != nil { + return *v + } + var ret SystemDataResponseV1 + return ret + }).(SystemDataResponseV1Output) +} + +// Specifies the time in UTC at which the Cloud Service (extended support) resource was created.
Minimum api-version: 2022-04-04. +func (o SystemDataResponseV1PtrOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SystemDataResponseV1) *string { + if v == nil { + return nil + } + return &v.CreatedAt + }).(pulumi.StringPtrOutput) +} + +// Specifies the time in UTC at which the Cloud Service (extended support) resource was last modified.
Minimum api-version: 2022-04-04. +func (o SystemDataResponseV1PtrOutput) LastModifiedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SystemDataResponseV1) *string { + if v == nil { + return nil + } + return &v.LastModifiedAt + }).(pulumi.StringPtrOutput) +} + // Describes the target region information. type TargetRegion struct { // List of storage sku with replica count to create direct drive replicas. @@ -54759,6 +54836,8 @@ func init() { pulumi.RegisterOutputType(SupportedCapabilitiesResponsePtrOutput{}) pulumi.RegisterOutputType(SystemDataResponseOutput{}) pulumi.RegisterOutputType(SystemDataResponsePtrOutput{}) + pulumi.RegisterOutputType(SystemDataResponseV1Output{}) + pulumi.RegisterOutputType(SystemDataResponseV1PtrOutput{}) pulumi.RegisterOutputType(TargetRegionOutput{}) pulumi.RegisterOutputType(TargetRegionArrayOutput{}) pulumi.RegisterOutputType(TargetRegionResponseOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/managedCluster.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/managedCluster.go index f8bddfbb3..35adfe7a4 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/managedCluster.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/managedCluster.go @@ -67,7 +67,7 @@ type ManagedCluster struct { // The identity of the managed cluster, if configured. Identity ManagedClusterIdentityResponsePtrOutput `pulumi:"identity"` // The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". - IdentityProfile UserAssignedIdentityResponseMapOutput `pulumi:"identityProfile"` + IdentityProfile UserAssignedIdentityResponseV1MapOutput `pulumi:"identityProfile"` // Ingress profile for the managed cluster. IngressProfile ManagedClusterIngressProfileResponsePtrOutput `pulumi:"ingressProfile"` // This is primarily used to expose different UI experiences in the portal for different kinds @@ -848,8 +848,8 @@ func (o ManagedClusterOutput) Identity() ManagedClusterIdentityResponsePtrOutput } // The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". -func (o ManagedClusterOutput) IdentityProfile() UserAssignedIdentityResponseMapOutput { - return o.ApplyT(func(v *ManagedCluster) UserAssignedIdentityResponseMapOutput { return v.IdentityProfile }).(UserAssignedIdentityResponseMapOutput) +func (o ManagedClusterOutput) IdentityProfile() UserAssignedIdentityResponseV1MapOutput { + return o.ApplyT(func(v *ManagedCluster) UserAssignedIdentityResponseV1MapOutput { return v.IdentityProfile }).(UserAssignedIdentityResponseV1MapOutput) } // Ingress profile for the managed cluster. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/namespace.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/namespace.go index 54254a78b..de939948b 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/namespace.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/namespace.go @@ -27,7 +27,7 @@ type Namespace struct { // The name of the resource that is unique within a resource group. This name can be used to access the resource. Name pulumi.StringOutput `pulumi:"name"` // Properties of a namespace. - Properties NamespacePropertiesResponseOutput `pulumi:"properties"` + Properties NamespacePropertiesResponseV1Output `pulumi:"properties"` // The system metadata relating to this resource. SystemData SystemDataResponseOutput `pulumi:"systemData"` // The tags to be persisted on the managed cluster namespace. @@ -179,8 +179,8 @@ func (o NamespaceOutput) Name() pulumi.StringOutput { } // Properties of a namespace. -func (o NamespaceOutput) Properties() NamespacePropertiesResponseOutput { - return o.ApplyT(func(v *Namespace) NamespacePropertiesResponseOutput { return v.Properties }).(NamespacePropertiesResponseOutput) +func (o NamespaceOutput) Properties() NamespacePropertiesResponseV1Output { + return o.ApplyT(func(v *Namespace) NamespacePropertiesResponseV1Output { return v.Properties }).(NamespacePropertiesResponseV1Output) } // The system metadata relating to this resource. 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumiTypes.go index afbfc5ebe..9d7f8b63c 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3/pulumiTypes.go @@ -27960,16 +27960,16 @@ type NamespacePropertiesResponse struct { AdoptionPolicy *string `pulumi:"adoptionPolicy"` // The annotations of managed namespace. Annotations map[string]string `pulumi:"annotations"` - // The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. All the network policies will be enforced. + // The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow. DefaultNetworkPolicy *NetworkPoliciesResponse `pulumi:"defaultNetworkPolicy"` - // The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. All the resource quotas will be enforced. + // The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied. DefaultResourceQuota *ResourceQuotaResponse `pulumi:"defaultResourceQuota"` // Delete options of a namespace. DeletePolicy *string `pulumi:"deletePolicy"` // The labels of managed namespace. Labels map[string]string `pulumi:"labels"` // The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. - PortalFqdn *string `pulumi:"portalFqdn"` + PortalFqdn string `pulumi:"portalFqdn"` // The current provisioning state of the namespace. ProvisioningState string `pulumi:"provisioningState"` } @@ -28010,12 +28010,12 @@ func (o NamespacePropertiesResponseOutput) Annotations() pulumi.StringMapOutput return o.ApplyT(func(v NamespacePropertiesResponse) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) } -// The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. All the network policies will be enforced. +// The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. Network policies are additive; if a policy or policies apply to a given pod for a given direction, the connections allowed in that direction for the pod is the union of what all applicable policies allow. func (o NamespacePropertiesResponseOutput) DefaultNetworkPolicy() NetworkPoliciesResponsePtrOutput { return o.ApplyT(func(v NamespacePropertiesResponse) *NetworkPoliciesResponse { return v.DefaultNetworkPolicy }).(NetworkPoliciesResponsePtrOutput) } -// The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. All the resource quotas will be enforced. +// The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. Resource quotas are additive; if multiple resource quotas are applied to a given namespace, then the effective limit will be one such that all quotas on the namespace can be satisfied. func (o NamespacePropertiesResponseOutput) DefaultResourceQuota() ResourceQuotaResponsePtrOutput { return o.ApplyT(func(v NamespacePropertiesResponse) *ResourceQuotaResponse { return v.DefaultResourceQuota }).(ResourceQuotaResponsePtrOutput) } @@ -28031,8 +28031,8 @@ func (o NamespacePropertiesResponseOutput) Labels() pulumi.StringMapOutput { } // The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. -func (o NamespacePropertiesResponseOutput) PortalFqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NamespacePropertiesResponse) *string { return v.PortalFqdn }).(pulumi.StringPtrOutput) +func (o NamespacePropertiesResponseOutput) PortalFqdn() pulumi.StringOutput { + return o.ApplyT(func(v NamespacePropertiesResponse) string { return v.PortalFqdn }).(pulumi.StringOutput) } // The current provisioning state of the namespace. @@ -28040,6 +28040,85 @@ func (o NamespacePropertiesResponseOutput) ProvisioningState() pulumi.StringOutp return o.ApplyT(func(v NamespacePropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } +// Properties of a namespace managed by ARM +type NamespacePropertiesResponseV1 struct { + // Action if Kubernetes namespace with same name already exists. + AdoptionPolicy *string `pulumi:"adoptionPolicy"` + // The annotations of managed namespace. + Annotations map[string]string `pulumi:"annotations"` + // The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. All the network policies will be enforced. + DefaultNetworkPolicy *NetworkPoliciesResponse `pulumi:"defaultNetworkPolicy"` + // The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. All the resource quotas will be enforced. + DefaultResourceQuota *ResourceQuotaResponse `pulumi:"defaultResourceQuota"` + // Delete options of a namespace. + DeletePolicy *string `pulumi:"deletePolicy"` + // The labels of managed namespace. + Labels map[string]string `pulumi:"labels"` + // The current provisioning state of the namespace. + ProvisioningState string `pulumi:"provisioningState"` +} + +// Defaults sets the appropriate defaults for NamespacePropertiesResponseV1 +func (val *NamespacePropertiesResponseV1) Defaults() *NamespacePropertiesResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.DefaultNetworkPolicy = tmp.DefaultNetworkPolicy.Defaults() + + return &tmp +} + +// Properties of a namespace managed by ARM +type NamespacePropertiesResponseV1Output struct{ *pulumi.OutputState } + +func (NamespacePropertiesResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NamespacePropertiesResponseV1)(nil)).Elem() +} + +func (o NamespacePropertiesResponseV1Output) ToNamespacePropertiesResponseV1Output() NamespacePropertiesResponseV1Output { + return o +} + +func (o NamespacePropertiesResponseV1Output) ToNamespacePropertiesResponseV1OutputWithContext(ctx context.Context) NamespacePropertiesResponseV1Output { + return o +} + +// Action if Kubernetes namespace with same name already exists. +func (o NamespacePropertiesResponseV1Output) AdoptionPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) *string { return v.AdoptionPolicy }).(pulumi.StringPtrOutput) +} + +// The annotations of managed namespace. +func (o NamespacePropertiesResponseV1Output) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +} + +// The default network policy enforced upon the namespace. Customers can have other Kubernetes network policy objects under the namespace. All the network policies will be enforced. +func (o NamespacePropertiesResponseV1Output) DefaultNetworkPolicy() NetworkPoliciesResponsePtrOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) *NetworkPoliciesResponse { return v.DefaultNetworkPolicy }).(NetworkPoliciesResponsePtrOutput) +} + +// The default resource quota enforced upon the namespace. Customers can have other Kubernetes resource quota objects under the namespace. All the resource quotas will be enforced. +func (o NamespacePropertiesResponseV1Output) DefaultResourceQuota() ResourceQuotaResponsePtrOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) *ResourceQuotaResponse { return v.DefaultResourceQuota }).(ResourceQuotaResponsePtrOutput) +} + +// Delete options of a namespace. +func (o NamespacePropertiesResponseV1Output) DeletePolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) *string { return v.DeletePolicy }).(pulumi.StringPtrOutput) +} + +// The labels of managed namespace. +func (o NamespacePropertiesResponseV1Output) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The current provisioning state of the namespace. +func (o NamespacePropertiesResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NamespacePropertiesResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + // Default network policy of the namespace, specifying ingress and egress rules. type NetworkPolicies struct { // Egress policy for the network. @@ -36536,12 +36615,8 @@ func (o UserAssignedIdentityMapOutput) MapIndex(k pulumi.StringInput) UserAssign type UserAssignedIdentityResponse struct { // The client ID of the assigned identity. ClientId string `pulumi:"clientId"` - // The object ID of the user assigned identity. - ObjectId *string `pulumi:"objectId"` // The principal ID of the assigned identity. PrincipalId string `pulumi:"principalId"` - // The resource ID of the user assigned identity. - ResourceId *string `pulumi:"resourceId"` } // User assigned identity properties @@ -36564,21 +36639,11 @@ func (o UserAssignedIdentityResponseOutput) ClientId() pulumi.StringOutput { return o.ApplyT(func(v UserAssignedIdentityResponse) string { return v.ClientId }).(pulumi.StringOutput) } -// The object ID of the user assigned identity. -func (o UserAssignedIdentityResponseOutput) ObjectId() pulumi.StringPtrOutput { - return o.ApplyT(func(v UserAssignedIdentityResponse) *string { return v.ObjectId }).(pulumi.StringPtrOutput) -} - // The principal ID of the assigned identity. func (o UserAssignedIdentityResponseOutput) PrincipalId() pulumi.StringOutput { return o.ApplyT(func(v UserAssignedIdentityResponse) string { return v.PrincipalId }).(pulumi.StringOutput) } -// The resource ID of the user assigned identity. -func (o UserAssignedIdentityResponseOutput) ResourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v UserAssignedIdentityResponse) *string { return v.ResourceId }).(pulumi.StringPtrOutput) -} - type UserAssignedIdentityResponsePtrOutput struct{ *pulumi.OutputState } func (UserAssignedIdentityResponsePtrOutput) ElementType() reflect.Type { @@ -36613,16 +36678,6 @@ func (o UserAssignedIdentityResponsePtrOutput) ClientId() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -// The object ID of the user assigned identity. -func (o UserAssignedIdentityResponsePtrOutput) ObjectId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *UserAssignedIdentityResponse) *string { - if v == nil { - return nil - } - return v.ObjectId - }).(pulumi.StringPtrOutput) -} - // The principal ID of the assigned identity. func (o UserAssignedIdentityResponsePtrOutput) PrincipalId() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserAssignedIdentityResponse) *string { @@ -36633,16 +36688,6 @@ func (o UserAssignedIdentityResponsePtrOutput) PrincipalId() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } -// The resource ID of the user assigned identity. -func (o UserAssignedIdentityResponsePtrOutput) ResourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *UserAssignedIdentityResponse) *string { - if v == nil { - return nil - } - return v.ResourceId - }).(pulumi.StringPtrOutput) -} - type UserAssignedIdentityResponseMapOutput struct{ *pulumi.OutputState } func (UserAssignedIdentityResponseMapOutput) ElementType() reflect.Type { @@ -36663,6 +36708,66 @@ func (o UserAssignedIdentityResponseMapOutput) MapIndex(k pulumi.StringInput) Us }).(UserAssignedIdentityResponseOutput) } +// Details about a user assigned identity. +type UserAssignedIdentityResponseV1 struct { + // The client ID of the user assigned identity. + ClientId *string `pulumi:"clientId"` + // The object ID of the user assigned identity. + ObjectId *string `pulumi:"objectId"` + // The resource ID of the user assigned identity. + ResourceId *string `pulumi:"resourceId"` +} + +// Details about a user assigned identity. +type UserAssignedIdentityResponseV1Output struct{ *pulumi.OutputState } + +func (UserAssignedIdentityResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*UserAssignedIdentityResponseV1)(nil)).Elem() +} + +func (o UserAssignedIdentityResponseV1Output) ToUserAssignedIdentityResponseV1Output() UserAssignedIdentityResponseV1Output { + return o +} + +func (o UserAssignedIdentityResponseV1Output) ToUserAssignedIdentityResponseV1OutputWithContext(ctx context.Context) UserAssignedIdentityResponseV1Output { + return o +} + +// The client ID of the user assigned identity. +func (o UserAssignedIdentityResponseV1Output) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v UserAssignedIdentityResponseV1) *string { return v.ClientId }).(pulumi.StringPtrOutput) +} + +// The object ID of the user assigned identity. +func (o UserAssignedIdentityResponseV1Output) ObjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v UserAssignedIdentityResponseV1) *string { return v.ObjectId }).(pulumi.StringPtrOutput) +} + +// The resource ID of the user assigned identity. +func (o UserAssignedIdentityResponseV1Output) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v UserAssignedIdentityResponseV1) *string { return v.ResourceId }).(pulumi.StringPtrOutput) +} + +type UserAssignedIdentityResponseV1MapOutput struct{ *pulumi.OutputState } + +func (UserAssignedIdentityResponseV1MapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]UserAssignedIdentityResponseV1)(nil)).Elem() +} + +func (o UserAssignedIdentityResponseV1MapOutput) ToUserAssignedIdentityResponseV1MapOutput() UserAssignedIdentityResponseV1MapOutput { + return o +} + +func (o UserAssignedIdentityResponseV1MapOutput) ToUserAssignedIdentityResponseV1MapOutputWithContext(ctx context.Context) UserAssignedIdentityResponseV1MapOutput { + return o +} + +func (o UserAssignedIdentityResponseV1MapOutput) MapIndex(k pulumi.StringInput) UserAssignedIdentityResponseV1Output { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) UserAssignedIdentityResponseV1 { + return vs[0].(map[string]UserAssignedIdentityResponseV1)[vs[1].(string)] + }).(UserAssignedIdentityResponseV1Output) +} + // Current status on a group of nodes of the same vm size. type VirtualMachineNodes struct { // Number of nodes. @@ -37995,6 +38100,7 @@ func init() { pulumi.RegisterOutputType(NamespacePropertiesOutput{}) pulumi.RegisterOutputType(NamespacePropertiesPtrOutput{}) pulumi.RegisterOutputType(NamespacePropertiesResponseOutput{}) + pulumi.RegisterOutputType(NamespacePropertiesResponseV1Output{}) pulumi.RegisterOutputType(NetworkPoliciesOutput{}) pulumi.RegisterOutputType(NetworkPoliciesPtrOutput{}) pulumi.RegisterOutputType(NetworkPoliciesResponseOutput{}) @@ -38142,6 +38248,8 @@ func init() { pulumi.RegisterOutputType(UserAssignedIdentityResponseOutput{}) pulumi.RegisterOutputType(UserAssignedIdentityResponsePtrOutput{}) pulumi.RegisterOutputType(UserAssignedIdentityResponseMapOutput{}) + pulumi.RegisterOutputType(UserAssignedIdentityResponseV1Output{}) + pulumi.RegisterOutputType(UserAssignedIdentityResponseV1MapOutput{}) pulumi.RegisterOutputType(VirtualMachineNodesOutput{}) pulumi.RegisterOutputType(VirtualMachineNodesArrayOutput{}) pulumi.RegisterOutputType(VirtualMachineNodesResponseOutput{}) 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.0" } diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/interfaceEndpoint.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/interfaceEndpoint.go index b8a510669..3b4369e59 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/interfaceEndpoint.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/interfaceEndpoint.go @@ -33,7 +33,7 @@ type InterfaceEndpoint struct { // Resource name. Name pulumi.StringOutput `pulumi:"name"` // Gets an array of references to the network interfaces created for this interface endpoint. - NetworkInterfaces NetworkInterfaceResponseArrayOutput `pulumi:"networkInterfaces"` + NetworkInterfaces NetworkInterfaceResponseV1ArrayOutput `pulumi:"networkInterfaces"` // A read-only property that identifies who created this interface endpoint. Owner pulumi.StringOutput `pulumi:"owner"` // The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'. @@ -360,8 +360,8 @@ func (o InterfaceEndpointOutput) Name() pulumi.StringOutput { } // Gets an array of references to the network interfaces created for this interface endpoint. -func (o InterfaceEndpointOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v *InterfaceEndpoint) NetworkInterfaceResponseArrayOutput { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) +func (o InterfaceEndpointOutput) NetworkInterfaces() NetworkInterfaceResponseV1ArrayOutput { + return o.ApplyT(func(v *InterfaceEndpoint) NetworkInterfaceResponseV1ArrayOutput { return v.NetworkInterfaces }).(NetworkInterfaceResponseV1ArrayOutput) } // A read-only property that identifies who created this interface endpoint. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listActiveConnectivityConfigurations.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listActiveConnectivityConfigurations.go index 328a6c364..f47a7e68c 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listActiveConnectivityConfigurations.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listActiveConnectivityConfigurations.go @@ -44,7 +44,7 @@ type ListActiveConnectivityConfigurationsResult struct { // When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. SkipToken *string `pulumi:"skipToken"` // Gets a page of active connectivity configurations. - Value []ActiveConnectivityConfigurationResponse `pulumi:"value"` + Value []ActiveConnectivityConfigurationResponseV1 `pulumi:"value"` } func ListActiveConnectivityConfigurationsOutput(ctx *pulumi.Context, args ListActiveConnectivityConfigurationsOutputArgs, opts ...pulumi.InvokeOption) ListActiveConnectivityConfigurationsResultOutput { @@ -94,10 +94,10 @@ func (o ListActiveConnectivityConfigurationsResultOutput) SkipToken() pulumi.Str } // Gets a page of active connectivity configurations. -func (o ListActiveConnectivityConfigurationsResultOutput) Value() ActiveConnectivityConfigurationResponseArrayOutput { - return o.ApplyT(func(v ListActiveConnectivityConfigurationsResult) []ActiveConnectivityConfigurationResponse { +func (o ListActiveConnectivityConfigurationsResultOutput) Value() ActiveConnectivityConfigurationResponseV1ArrayOutput { + return o.ApplyT(func(v ListActiveConnectivityConfigurationsResult) []ActiveConnectivityConfigurationResponseV1 { return v.Value - }).(ActiveConnectivityConfigurationResponseArrayOutput) + }).(ActiveConnectivityConfigurationResponseV1ArrayOutput) } func init() { diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listNetworkManagerEffectiveConnectivityConfigurations.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listNetworkManagerEffectiveConnectivityConfigurations.go index a3d3f7e25..8dcc27792 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listNetworkManagerEffectiveConnectivityConfigurations.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/listNetworkManagerEffectiveConnectivityConfigurations.go @@ -42,7 +42,7 @@ type ListNetworkManagerEffectiveConnectivityConfigurationsResult struct { // When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. SkipToken *string `pulumi:"skipToken"` // Gets a page of NetworkManagerEffectiveConnectivityConfiguration - Value []EffectiveConnectivityConfigurationResponse `pulumi:"value"` + Value []EffectiveConnectivityConfigurationResponseV1 `pulumi:"value"` } func ListNetworkManagerEffectiveConnectivityConfigurationsOutput(ctx *pulumi.Context, args ListNetworkManagerEffectiveConnectivityConfigurationsOutputArgs, opts ...pulumi.InvokeOption) ListNetworkManagerEffectiveConnectivityConfigurationsResultOutput { @@ -90,10 +90,10 @@ func (o ListNetworkManagerEffectiveConnectivityConfigurationsResultOutput) SkipT } // Gets a page of NetworkManagerEffectiveConnectivityConfiguration -func (o ListNetworkManagerEffectiveConnectivityConfigurationsResultOutput) Value() EffectiveConnectivityConfigurationResponseArrayOutput { - return o.ApplyT(func(v ListNetworkManagerEffectiveConnectivityConfigurationsResult) []EffectiveConnectivityConfigurationResponse { +func (o ListNetworkManagerEffectiveConnectivityConfigurationsResultOutput) Value() EffectiveConnectivityConfigurationResponseV1ArrayOutput { + return o.ApplyT(func(v ListNetworkManagerEffectiveConnectivityConfigurationsResult) []EffectiveConnectivityConfigurationResponseV1 { return v.Value - }).(EffectiveConnectivityConfigurationResponseArrayOutput) + }).(EffectiveConnectivityConfigurationResponseV1ArrayOutput) } func init() { 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.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 a7ecf7e71..c82233e04 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 @@ -450,7 +450,7 @@ func (o ActionResponseArrayOutput) Index(i pulumi.IntInput) ActionResponseOutput // Active connectivity configuration. type ActiveConnectivityConfigurationResponse struct { // Groups for configuration - AppliesToGroups []ConnectivityGroupItemResponse `pulumi:"appliesToGroups"` + AppliesToGroups []ConnectivityGroupItemResponseV1 `pulumi:"appliesToGroups"` // Deployment time string. CommitTime *string `pulumi:"commitTime"` // Effective configuration groups. @@ -465,7 +465,7 @@ type ActiveConnectivityConfigurationResponse struct { DisplayName *string `pulumi:"displayName"` // List of hubItems Hubs []HubResponse `pulumi:"hubs"` - // Connectivity configuration ID. + // Resource ID. Id *string `pulumi:"id"` // Flag if global mesh is supported. IsGlobal *string `pulumi:"isGlobal"` @@ -473,8 +473,6 @@ type ActiveConnectivityConfigurationResponse struct { ProvisioningState string `pulumi:"provisioningState"` // Deployment region. Region *string `pulumi:"region"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` } // Active connectivity configuration. @@ -493,10 +491,10 @@ func (o ActiveConnectivityConfigurationResponseOutput) ToActiveConnectivityConfi } // Groups for configuration -func (o ActiveConnectivityConfigurationResponseOutput) AppliesToGroups() ConnectivityGroupItemResponseArrayOutput { - return o.ApplyT(func(v ActiveConnectivityConfigurationResponse) []ConnectivityGroupItemResponse { +func (o ActiveConnectivityConfigurationResponseOutput) AppliesToGroups() ConnectivityGroupItemResponseV1ArrayOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponse) []ConnectivityGroupItemResponseV1 { return v.AppliesToGroups - }).(ConnectivityGroupItemResponseArrayOutput) + }).(ConnectivityGroupItemResponseV1ArrayOutput) } // Deployment time string. @@ -536,7 +534,7 @@ func (o ActiveConnectivityConfigurationResponseOutput) Hubs() HubResponseArrayOu return o.ApplyT(func(v ActiveConnectivityConfigurationResponse) []HubResponse { return v.Hubs }).(HubResponseArrayOutput) } -// Connectivity configuration ID. +// Resource ID. func (o ActiveConnectivityConfigurationResponseOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v ActiveConnectivityConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } @@ -556,11 +554,6 @@ func (o ActiveConnectivityConfigurationResponseOutput) Region() pulumi.StringPtr return o.ApplyT(func(v ActiveConnectivityConfigurationResponse) *string { return v.Region }).(pulumi.StringPtrOutput) } -// Unique identifier for this resource. -func (o ActiveConnectivityConfigurationResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v ActiveConnectivityConfigurationResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - type ActiveConnectivityConfigurationResponseArrayOutput struct{ *pulumi.OutputState } func (ActiveConnectivityConfigurationResponseArrayOutput) ElementType() reflect.Type { @@ -581,6 +574,133 @@ func (o ActiveConnectivityConfigurationResponseArrayOutput) Index(i pulumi.IntIn }).(ActiveConnectivityConfigurationResponseOutput) } +// Active connectivity configuration. +type ActiveConnectivityConfigurationResponseV1 struct { + // Groups for configuration + AppliesToGroups []ConnectivityGroupItemResponse `pulumi:"appliesToGroups"` + // Deployment time string. + CommitTime *string `pulumi:"commitTime"` + // Effective configuration groups. + ConfigurationGroups []ConfigurationGroupResponseV1 `pulumi:"configurationGroups"` + // Connectivity topology type. + ConnectivityTopology string `pulumi:"connectivityTopology"` + // Flag if need to remove current existing peerings. + DeleteExistingPeering *string `pulumi:"deleteExistingPeering"` + // A description of the connectivity configuration. + Description *string `pulumi:"description"` + // List of hubItems + Hubs []HubResponse `pulumi:"hubs"` + // Connectivity configuration ID. + Id *string `pulumi:"id"` + // Flag if global mesh is supported. + IsGlobal *string `pulumi:"isGlobal"` + // The provisioning state of the connectivity configuration resource. + ProvisioningState string `pulumi:"provisioningState"` + // Deployment region. + Region *string `pulumi:"region"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` +} + +// Active connectivity configuration. +type ActiveConnectivityConfigurationResponseV1Output struct{ *pulumi.OutputState } + +func (ActiveConnectivityConfigurationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActiveConnectivityConfigurationResponseV1)(nil)).Elem() +} + +func (o ActiveConnectivityConfigurationResponseV1Output) ToActiveConnectivityConfigurationResponseV1Output() ActiveConnectivityConfigurationResponseV1Output { + return o +} + +func (o ActiveConnectivityConfigurationResponseV1Output) ToActiveConnectivityConfigurationResponseV1OutputWithContext(ctx context.Context) ActiveConnectivityConfigurationResponseV1Output { + return o +} + +// Groups for configuration +func (o ActiveConnectivityConfigurationResponseV1Output) AppliesToGroups() ConnectivityGroupItemResponseArrayOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) []ConnectivityGroupItemResponse { + return v.AppliesToGroups + }).(ConnectivityGroupItemResponseArrayOutput) +} + +// Deployment time string. +func (o ActiveConnectivityConfigurationResponseV1Output) CommitTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) *string { return v.CommitTime }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o ActiveConnectivityConfigurationResponseV1Output) ConfigurationGroups() ConfigurationGroupResponseV1ArrayOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) []ConfigurationGroupResponseV1 { + return v.ConfigurationGroups + }).(ConfigurationGroupResponseV1ArrayOutput) +} + +// Connectivity topology type. +func (o ActiveConnectivityConfigurationResponseV1Output) ConnectivityTopology() pulumi.StringOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) string { return v.ConnectivityTopology }).(pulumi.StringOutput) +} + +// Flag if need to remove current existing peerings. +func (o ActiveConnectivityConfigurationResponseV1Output) DeleteExistingPeering() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) *string { return v.DeleteExistingPeering }).(pulumi.StringPtrOutput) +} + +// A description of the connectivity configuration. +func (o ActiveConnectivityConfigurationResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// List of hubItems +func (o ActiveConnectivityConfigurationResponseV1Output) Hubs() HubResponseArrayOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) []HubResponse { return v.Hubs }).(HubResponseArrayOutput) +} + +// Connectivity configuration ID. +func (o ActiveConnectivityConfigurationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Flag if global mesh is supported. +func (o ActiveConnectivityConfigurationResponseV1Output) IsGlobal() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) *string { return v.IsGlobal }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the connectivity configuration resource. +func (o ActiveConnectivityConfigurationResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Deployment region. +func (o ActiveConnectivityConfigurationResponseV1Output) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Unique identifier for this resource. +func (o ActiveConnectivityConfigurationResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ActiveConnectivityConfigurationResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +type ActiveConnectivityConfigurationResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ActiveConnectivityConfigurationResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ActiveConnectivityConfigurationResponseV1)(nil)).Elem() +} + +func (o ActiveConnectivityConfigurationResponseV1ArrayOutput) ToActiveConnectivityConfigurationResponseV1ArrayOutput() ActiveConnectivityConfigurationResponseV1ArrayOutput { + return o +} + +func (o ActiveConnectivityConfigurationResponseV1ArrayOutput) ToActiveConnectivityConfigurationResponseV1ArrayOutputWithContext(ctx context.Context) ActiveConnectivityConfigurationResponseV1ArrayOutput { + return o +} + +func (o ActiveConnectivityConfigurationResponseV1ArrayOutput) Index(i pulumi.IntInput) ActiveConnectivityConfigurationResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ActiveConnectivityConfigurationResponseV1 { + return vs[0].([]ActiveConnectivityConfigurationResponseV1)[vs[1].(int)] + }).(ActiveConnectivityConfigurationResponseV1Output) +} + // Network default admin rule. type ActiveDefaultSecurityAdminRuleResponse struct { // Indicates the access allowed for this particular rule @@ -600,7 +720,7 @@ type ActiveDefaultSecurityAdminRuleResponse struct { // Indicates if the traffic matched against the rule in inbound or outbound. Direction string `pulumi:"direction"` // A friendly name for the rule. - DisplayName *string `pulumi:"displayName"` + DisplayName string `pulumi:"displayName"` // Default rule flag. Flag *string `pulumi:"flag"` // Resource ID. @@ -616,10 +736,8 @@ type ActiveDefaultSecurityAdminRuleResponse struct { ProvisioningState string `pulumi:"provisioningState"` // Deployment region. Region *string `pulumi:"region"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` // Groups for rule collection - RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponseV1 `pulumi:"ruleCollectionAppliesToGroups"` // A description of the rule collection. RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` // A display name of the rule collection. @@ -688,8 +806,8 @@ func (o ActiveDefaultSecurityAdminRuleResponseOutput) Direction() pulumi.StringO } // A friendly name for the rule. -func (o ActiveDefaultSecurityAdminRuleResponseOutput) DisplayName() pulumi.StringPtrOutput { - return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +func (o ActiveDefaultSecurityAdminRuleResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) string { return v.DisplayName }).(pulumi.StringOutput) } // Default rule flag. @@ -728,16 +846,11 @@ func (o ActiveDefaultSecurityAdminRuleResponseOutput) Region() pulumi.StringPtrO return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) *string { return v.Region }).(pulumi.StringPtrOutput) } -// Unique identifier for this resource. -func (o ActiveDefaultSecurityAdminRuleResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - // Groups for rule collection -func (o ActiveDefaultSecurityAdminRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { - return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) []NetworkManagerSecurityGroupItemResponse { +func (o ActiveDefaultSecurityAdminRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseV1ArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) []NetworkManagerSecurityGroupItemResponseV1 { return v.RuleCollectionAppliesToGroups - }).(NetworkManagerSecurityGroupItemResponseArrayOutput) + }).(NetworkManagerSecurityGroupItemResponseV1ArrayOutput) } // A description of the rule collection. @@ -765,6 +878,169 @@ func (o ActiveDefaultSecurityAdminRuleResponseOutput) Sources() AddressPrefixIte return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponse) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) } +// Network default admin rule. +type ActiveDefaultSecurityAdminRuleResponseV1 struct { + // Indicates the access allowed for this particular rule + Access string `pulumi:"access"` + // Deployment time string. + CommitTime *string `pulumi:"commitTime"` + // A description of the security admin configuration. + ConfigurationDescription *string `pulumi:"configurationDescription"` + // A description for this rule. Restricted to 140 chars. + Description string `pulumi:"description"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The destination address prefixes. CIDR or destination IP ranges. + Destinations []AddressPrefixItemResponse `pulumi:"destinations"` + // Indicates if the traffic matched against the rule in inbound or outbound. + Direction string `pulumi:"direction"` + // Default rule flag. + Flag *string `pulumi:"flag"` + // Resource ID. + Id *string `pulumi:"id"` + // Whether the rule is custom or default. + // Expected value is 'Default'. + Kind string `pulumi:"kind"` + // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority int `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // Deployment region. + Region *string `pulumi:"region"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Groups for rule collection + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + // A description of the rule collection. + RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` + // Effective configuration groups. + RuleGroups []ConfigurationGroupResponseV2 `pulumi:"ruleGroups"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The CIDR or source IP ranges. + Sources []AddressPrefixItemResponse `pulumi:"sources"` +} + +// Network default admin rule. +type ActiveDefaultSecurityAdminRuleResponseV1Output struct{ *pulumi.OutputState } + +func (ActiveDefaultSecurityAdminRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActiveDefaultSecurityAdminRuleResponseV1)(nil)).Elem() +} + +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) ToActiveDefaultSecurityAdminRuleResponseV1Output() ActiveDefaultSecurityAdminRuleResponseV1Output { + return o +} + +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) ToActiveDefaultSecurityAdminRuleResponseV1OutputWithContext(ctx context.Context) ActiveDefaultSecurityAdminRuleResponseV1Output { + return o +} + +// Indicates the access allowed for this particular rule +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Access() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.Access }).(pulumi.StringOutput) +} + +// Deployment time string. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) CommitTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) *string { return v.CommitTime }).(pulumi.StringPtrOutput) +} + +// A description of the security admin configuration. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) ConfigurationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) *string { return v.ConfigurationDescription }).(pulumi.StringPtrOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Description() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.Description }).(pulumi.StringOutput) +} + +// The destination port ranges. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Destinations() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Destinations }).(AddressPrefixItemResponseArrayOutput) +} + +// Indicates if the traffic matched against the rule in inbound or outbound. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// Default rule flag. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Flag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) *string { return v.Flag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Whether the rule is custom or default. +// Expected value is 'Default'. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.Kind }).(pulumi.StringOutput) +} + +// The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Priority() pulumi.IntOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) int { return v.Priority }).(pulumi.IntOutput) +} + +// Network protocol this rule applies to. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Deployment region. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Unique identifier for this resource. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Groups for rule collection +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) []NetworkManagerSecurityGroupItemResponse { + return v.RuleCollectionAppliesToGroups + }).(NetworkManagerSecurityGroupItemResponseArrayOutput) +} + +// A description of the rule collection. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) RuleCollectionDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) *string { return v.RuleCollectionDescription }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) RuleGroups() ConfigurationGroupResponseV2ArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) []ConfigurationGroupResponseV2 { return v.RuleGroups }).(ConfigurationGroupResponseV2ArrayOutput) +} + +// The source port ranges. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The CIDR or source IP ranges. +func (o ActiveDefaultSecurityAdminRuleResponseV1Output) Sources() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) +} + // Network security default user rule. type ActiveDefaultSecurityUserRuleResponse struct { // Deployment time string. @@ -782,7 +1058,7 @@ type ActiveDefaultSecurityUserRuleResponse struct { // Indicates if the traffic matched against the rule in inbound or outbound. Direction string `pulumi:"direction"` // A friendly name for the rule. - DisplayName *string `pulumi:"displayName"` + DisplayName string `pulumi:"displayName"` // Default rule flag. Flag *string `pulumi:"flag"` // Resource ID. @@ -797,7 +1073,7 @@ type ActiveDefaultSecurityUserRuleResponse struct { // Deployment region. Region *string `pulumi:"region"` // Groups for rule collection - RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponseV2 `pulumi:"ruleCollectionAppliesToGroups"` // A description of the rule collection. RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` // A display name of the rule collection. @@ -861,8 +1137,8 @@ func (o ActiveDefaultSecurityUserRuleResponseOutput) Direction() pulumi.StringOu } // A friendly name for the rule. -func (o ActiveDefaultSecurityUserRuleResponseOutput) DisplayName() pulumi.StringPtrOutput { - return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponse) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +func (o ActiveDefaultSecurityUserRuleResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponse) string { return v.DisplayName }).(pulumi.StringOutput) } // Default rule flag. @@ -897,10 +1173,10 @@ func (o ActiveDefaultSecurityUserRuleResponseOutput) Region() pulumi.StringPtrOu } // Groups for rule collection -func (o ActiveDefaultSecurityUserRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { - return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponse) []NetworkManagerSecurityGroupItemResponse { +func (o ActiveDefaultSecurityUserRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseV2ArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponse) []NetworkManagerSecurityGroupItemResponseV2 { return v.RuleCollectionAppliesToGroups - }).(NetworkManagerSecurityGroupItemResponseArrayOutput) + }).(NetworkManagerSecurityGroupItemResponseV2ArrayOutput) } // A description of the rule collection. @@ -928,6 +1204,148 @@ func (o ActiveDefaultSecurityUserRuleResponseOutput) Sources() AddressPrefixItem return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponse) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) } +// Network security default user rule. +type ActiveDefaultSecurityUserRuleResponseV1 struct { + // Deployment time string. + CommitTime *string `pulumi:"commitTime"` + // A description of the security user configuration. + ConfigurationDescription *string `pulumi:"configurationDescription"` + // A description for this rule. Restricted to 140 chars. + Description string `pulumi:"description"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The destination address prefixes. CIDR or destination IP ranges. + Destinations []AddressPrefixItemResponse `pulumi:"destinations"` + // Indicates if the traffic matched against the rule in inbound or outbound. + Direction string `pulumi:"direction"` + // Default rule flag. + Flag *string `pulumi:"flag"` + // Resource ID. + Id *string `pulumi:"id"` + // Whether the rule is custom or default. + // Expected value is 'Default'. + Kind string `pulumi:"kind"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the security configuration user rule resource. + ProvisioningState string `pulumi:"provisioningState"` + // Deployment region. + Region *string `pulumi:"region"` + // Groups for rule collection + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + // A description of the rule collection. + RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` + // Effective configuration groups. + RuleGroups []ConfigurationGroupResponseV3 `pulumi:"ruleGroups"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The CIDR or source IP ranges. + Sources []AddressPrefixItemResponse `pulumi:"sources"` +} + +// Network security default user rule. +type ActiveDefaultSecurityUserRuleResponseV1Output struct{ *pulumi.OutputState } + +func (ActiveDefaultSecurityUserRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActiveDefaultSecurityUserRuleResponseV1)(nil)).Elem() +} + +func (o ActiveDefaultSecurityUserRuleResponseV1Output) ToActiveDefaultSecurityUserRuleResponseV1Output() ActiveDefaultSecurityUserRuleResponseV1Output { + return o +} + +func (o ActiveDefaultSecurityUserRuleResponseV1Output) ToActiveDefaultSecurityUserRuleResponseV1OutputWithContext(ctx context.Context) ActiveDefaultSecurityUserRuleResponseV1Output { + return o +} + +// Deployment time string. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) CommitTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) *string { return v.CommitTime }).(pulumi.StringPtrOutput) +} + +// A description of the security user configuration. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) ConfigurationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) *string { return v.ConfigurationDescription }).(pulumi.StringPtrOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Description() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) string { return v.Description }).(pulumi.StringOutput) +} + +// The destination port ranges. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Destinations() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) []AddressPrefixItemResponse { return v.Destinations }).(AddressPrefixItemResponseArrayOutput) +} + +// Indicates if the traffic matched against the rule in inbound or outbound. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// Default rule flag. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Flag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) *string { return v.Flag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Whether the rule is custom or default. +// Expected value is 'Default'. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) string { return v.Kind }).(pulumi.StringOutput) +} + +// Network protocol this rule applies to. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the security configuration user rule resource. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Deployment region. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Groups for rule collection +func (o ActiveDefaultSecurityUserRuleResponseV1Output) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) []NetworkManagerSecurityGroupItemResponse { + return v.RuleCollectionAppliesToGroups + }).(NetworkManagerSecurityGroupItemResponseArrayOutput) +} + +// A description of the rule collection. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) RuleCollectionDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) *string { return v.RuleCollectionDescription }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) RuleGroups() ConfigurationGroupResponseV3ArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) []ConfigurationGroupResponseV3 { return v.RuleGroups }).(ConfigurationGroupResponseV3ArrayOutput) +} + +// The source port ranges. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The CIDR or source IP ranges. +func (o ActiveDefaultSecurityUserRuleResponseV1Output) Sources() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveDefaultSecurityUserRuleResponseV1) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) +} + // Network admin rule. type ActiveSecurityAdminRuleResponse struct { // Indicates the access allowed for this particular rule @@ -954,15 +1372,13 @@ type ActiveSecurityAdminRuleResponse struct { // Expected value is 'Custom'. Kind string `pulumi:"kind"` // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - Priority int `pulumi:"priority"` + Priority *int `pulumi:"priority"` // Network protocol this rule applies to. Protocol string `pulumi:"protocol"` // The provisioning state of the resource. ProvisioningState string `pulumi:"provisioningState"` // Deployment region. Region *string `pulumi:"region"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` // Groups for rule collection RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` // A description of the rule collection. @@ -1049,8 +1465,8 @@ func (o ActiveSecurityAdminRuleResponseOutput) Kind() pulumi.StringOutput { } // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. -func (o ActiveSecurityAdminRuleResponseOutput) Priority() pulumi.IntOutput { - return o.ApplyT(func(v ActiveSecurityAdminRuleResponse) int { return v.Priority }).(pulumi.IntOutput) +func (o ActiveSecurityAdminRuleResponseOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponse) *int { return v.Priority }).(pulumi.IntPtrOutput) } // Network protocol this rule applies to. @@ -1068,11 +1484,6 @@ func (o ActiveSecurityAdminRuleResponseOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v ActiveSecurityAdminRuleResponse) *string { return v.Region }).(pulumi.StringPtrOutput) } -// Unique identifier for this resource. -func (o ActiveSecurityAdminRuleResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v ActiveSecurityAdminRuleResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - // Groups for rule collection func (o ActiveSecurityAdminRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { return o.ApplyT(func(v ActiveSecurityAdminRuleResponse) []NetworkManagerSecurityGroupItemResponse { @@ -1105,6 +1516,162 @@ func (o ActiveSecurityAdminRuleResponseOutput) Sources() AddressPrefixItemRespon return o.ApplyT(func(v ActiveSecurityAdminRuleResponse) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) } +// Network admin rule. +type ActiveSecurityAdminRuleResponseV1 struct { + // Indicates the access allowed for this particular rule + Access string `pulumi:"access"` + // Deployment time string. + CommitTime *string `pulumi:"commitTime"` + // A description of the security admin configuration. + ConfigurationDescription *string `pulumi:"configurationDescription"` + // A description for this rule. Restricted to 140 chars. + Description *string `pulumi:"description"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The destination address prefixes. CIDR or destination IP ranges. + Destinations []AddressPrefixItemResponse `pulumi:"destinations"` + // Indicates if the traffic matched against the rule in inbound or outbound. + Direction string `pulumi:"direction"` + // Resource ID. + Id *string `pulumi:"id"` + // Whether the rule is custom or default. + // Expected value is 'Custom'. + Kind string `pulumi:"kind"` + // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority int `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // Deployment region. + Region *string `pulumi:"region"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Groups for rule collection + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + // A description of the rule collection. + RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` + // Effective configuration groups. + RuleGroups []ConfigurationGroupResponse `pulumi:"ruleGroups"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The CIDR or source IP ranges. + Sources []AddressPrefixItemResponse `pulumi:"sources"` +} + +// Network admin rule. +type ActiveSecurityAdminRuleResponseV1Output struct{ *pulumi.OutputState } + +func (ActiveSecurityAdminRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActiveSecurityAdminRuleResponseV1)(nil)).Elem() +} + +func (o ActiveSecurityAdminRuleResponseV1Output) ToActiveSecurityAdminRuleResponseV1Output() ActiveSecurityAdminRuleResponseV1Output { + return o +} + +func (o ActiveSecurityAdminRuleResponseV1Output) ToActiveSecurityAdminRuleResponseV1OutputWithContext(ctx context.Context) ActiveSecurityAdminRuleResponseV1Output { + return o +} + +// Indicates the access allowed for this particular rule +func (o ActiveSecurityAdminRuleResponseV1Output) Access() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) string { return v.Access }).(pulumi.StringOutput) +} + +// Deployment time string. +func (o ActiveSecurityAdminRuleResponseV1Output) CommitTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) *string { return v.CommitTime }).(pulumi.StringPtrOutput) +} + +// A description of the security admin configuration. +func (o ActiveSecurityAdminRuleResponseV1Output) ConfigurationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) *string { return v.ConfigurationDescription }).(pulumi.StringPtrOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o ActiveSecurityAdminRuleResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The destination port ranges. +func (o ActiveSecurityAdminRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o ActiveSecurityAdminRuleResponseV1Output) Destinations() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Destinations }).(AddressPrefixItemResponseArrayOutput) +} + +// Indicates if the traffic matched against the rule in inbound or outbound. +func (o ActiveSecurityAdminRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ActiveSecurityAdminRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Whether the rule is custom or default. +// Expected value is 'Custom'. +func (o ActiveSecurityAdminRuleResponseV1Output) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) string { return v.Kind }).(pulumi.StringOutput) +} + +// The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o ActiveSecurityAdminRuleResponseV1Output) Priority() pulumi.IntOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) int { return v.Priority }).(pulumi.IntOutput) +} + +// Network protocol this rule applies to. +func (o ActiveSecurityAdminRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. +func (o ActiveSecurityAdminRuleResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Deployment region. +func (o ActiveSecurityAdminRuleResponseV1Output) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Unique identifier for this resource. +func (o ActiveSecurityAdminRuleResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Groups for rule collection +func (o ActiveSecurityAdminRuleResponseV1Output) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) []NetworkManagerSecurityGroupItemResponse { + return v.RuleCollectionAppliesToGroups + }).(NetworkManagerSecurityGroupItemResponseArrayOutput) +} + +// A description of the rule collection. +func (o ActiveSecurityAdminRuleResponseV1Output) RuleCollectionDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) *string { return v.RuleCollectionDescription }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o ActiveSecurityAdminRuleResponseV1Output) RuleGroups() ConfigurationGroupResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) []ConfigurationGroupResponse { return v.RuleGroups }).(ConfigurationGroupResponseArrayOutput) +} + +// The source port ranges. +func (o ActiveSecurityAdminRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The CIDR or source IP ranges. +func (o ActiveSecurityAdminRuleResponseV1Output) Sources() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) +} + // Network security user rule. type ActiveSecurityUserRuleResponse struct { // Deployment time string. @@ -1261,48 +1828,183 @@ func (o ActiveSecurityUserRuleResponseOutput) Sources() AddressPrefixItemRespons return o.ApplyT(func(v ActiveSecurityUserRuleResponse) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) } -// Address prefix item. -type AddressPrefixItem struct { - // Address prefix. - AddressPrefix *string `pulumi:"addressPrefix"` - // Address prefix type. - AddressPrefixType *string `pulumi:"addressPrefixType"` +// Network security user rule. +type ActiveSecurityUserRuleResponseV1 struct { + // Deployment time string. + CommitTime *string `pulumi:"commitTime"` + // A description of the security user configuration. + ConfigurationDescription *string `pulumi:"configurationDescription"` + // A description for this rule. + Description *string `pulumi:"description"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The destination address prefixes. CIDR or destination IP ranges. + Destinations []AddressPrefixItemResponse `pulumi:"destinations"` + // Indicates if the traffic matched against the rule in inbound or outbound. + Direction string `pulumi:"direction"` + // Resource ID. + Id *string `pulumi:"id"` + // Whether the rule is custom or default. + // Expected value is 'Custom'. + Kind string `pulumi:"kind"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the security configuration user rule resource. + ProvisioningState string `pulumi:"provisioningState"` + // Deployment region. + Region *string `pulumi:"region"` + // Groups for rule collection + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + // A description of the rule collection. + RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` + // Effective configuration groups. + RuleGroups []ConfigurationGroupResponse `pulumi:"ruleGroups"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The CIDR or source IP ranges. + Sources []AddressPrefixItemResponse `pulumi:"sources"` } -// AddressPrefixItemInput is an input type that accepts AddressPrefixItemArgs and AddressPrefixItemOutput values. -// You can construct a concrete instance of `AddressPrefixItemInput` via: -// -// AddressPrefixItemArgs{...} -type AddressPrefixItemInput interface { - pulumi.Input +// Network security user rule. +type ActiveSecurityUserRuleResponseV1Output struct{ *pulumi.OutputState } - ToAddressPrefixItemOutput() AddressPrefixItemOutput - ToAddressPrefixItemOutputWithContext(context.Context) AddressPrefixItemOutput +func (ActiveSecurityUserRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActiveSecurityUserRuleResponseV1)(nil)).Elem() } -// Address prefix item. -type AddressPrefixItemArgs struct { - // Address prefix. - AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` - // Address prefix type. - AddressPrefixType pulumi.StringPtrInput `pulumi:"addressPrefixType"` +func (o ActiveSecurityUserRuleResponseV1Output) ToActiveSecurityUserRuleResponseV1Output() ActiveSecurityUserRuleResponseV1Output { + return o } -func (AddressPrefixItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AddressPrefixItem)(nil)).Elem() +func (o ActiveSecurityUserRuleResponseV1Output) ToActiveSecurityUserRuleResponseV1OutputWithContext(ctx context.Context) ActiveSecurityUserRuleResponseV1Output { + return o } -func (i AddressPrefixItemArgs) ToAddressPrefixItemOutput() AddressPrefixItemOutput { - return i.ToAddressPrefixItemOutputWithContext(context.Background()) +// Deployment time string. +func (o ActiveSecurityUserRuleResponseV1Output) CommitTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) *string { return v.CommitTime }).(pulumi.StringPtrOutput) } -func (i AddressPrefixItemArgs) ToAddressPrefixItemOutputWithContext(ctx context.Context) AddressPrefixItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(AddressPrefixItemOutput) +// A description of the security user configuration. +func (o ActiveSecurityUserRuleResponseV1Output) ConfigurationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) *string { return v.ConfigurationDescription }).(pulumi.StringPtrOutput) } -// AddressPrefixItemArrayInput is an input type that accepts AddressPrefixItemArray and AddressPrefixItemArrayOutput values. -// You can construct a concrete instance of `AddressPrefixItemArrayInput` via: -// +// A description for this rule. +func (o ActiveSecurityUserRuleResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The destination port ranges. +func (o ActiveSecurityUserRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o ActiveSecurityUserRuleResponseV1Output) Destinations() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) []AddressPrefixItemResponse { return v.Destinations }).(AddressPrefixItemResponseArrayOutput) +} + +// Indicates if the traffic matched against the rule in inbound or outbound. +func (o ActiveSecurityUserRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ActiveSecurityUserRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Whether the rule is custom or default. +// Expected value is 'Custom'. +func (o ActiveSecurityUserRuleResponseV1Output) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) string { return v.Kind }).(pulumi.StringOutput) +} + +// Network protocol this rule applies to. +func (o ActiveSecurityUserRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the security configuration user rule resource. +func (o ActiveSecurityUserRuleResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Deployment region. +func (o ActiveSecurityUserRuleResponseV1Output) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Groups for rule collection +func (o ActiveSecurityUserRuleResponseV1Output) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) []NetworkManagerSecurityGroupItemResponse { + return v.RuleCollectionAppliesToGroups + }).(NetworkManagerSecurityGroupItemResponseArrayOutput) +} + +// A description of the rule collection. +func (o ActiveSecurityUserRuleResponseV1Output) RuleCollectionDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) *string { return v.RuleCollectionDescription }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o ActiveSecurityUserRuleResponseV1Output) RuleGroups() ConfigurationGroupResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) []ConfigurationGroupResponse { return v.RuleGroups }).(ConfigurationGroupResponseArrayOutput) +} + +// The source port ranges. +func (o ActiveSecurityUserRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The CIDR or source IP ranges. +func (o ActiveSecurityUserRuleResponseV1Output) Sources() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v ActiveSecurityUserRuleResponseV1) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) +} + +// Address prefix item. +type AddressPrefixItem struct { + // Address prefix. + AddressPrefix *string `pulumi:"addressPrefix"` + // Address prefix type. + AddressPrefixType *string `pulumi:"addressPrefixType"` +} + +// AddressPrefixItemInput is an input type that accepts AddressPrefixItemArgs and AddressPrefixItemOutput values. +// You can construct a concrete instance of `AddressPrefixItemInput` via: +// +// AddressPrefixItemArgs{...} +type AddressPrefixItemInput interface { + pulumi.Input + + ToAddressPrefixItemOutput() AddressPrefixItemOutput + ToAddressPrefixItemOutputWithContext(context.Context) AddressPrefixItemOutput +} + +// Address prefix item. +type AddressPrefixItemArgs struct { + // Address prefix. + AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` + // Address prefix type. + AddressPrefixType pulumi.StringPtrInput `pulumi:"addressPrefixType"` +} + +func (AddressPrefixItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AddressPrefixItem)(nil)).Elem() +} + +func (i AddressPrefixItemArgs) ToAddressPrefixItemOutput() AddressPrefixItemOutput { + return i.ToAddressPrefixItemOutputWithContext(context.Background()) +} + +func (i AddressPrefixItemArgs) ToAddressPrefixItemOutputWithContext(ctx context.Context) AddressPrefixItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(AddressPrefixItemOutput) +} + +// AddressPrefixItemArrayInput is an input type that accepts AddressPrefixItemArray and AddressPrefixItemArrayOutput values. +// You can construct a concrete instance of `AddressPrefixItemArrayInput` via: +// // AddressPrefixItemArray{ AddressPrefixItemArgs{...} } type AddressPrefixItemArrayInput interface { pulumi.Input @@ -2509,6 +3211,98 @@ func (o ApplicationGatewayBackendAddressPoolResponseArrayOutput) Index(i pulumi. }).(ApplicationGatewayBackendAddressPoolResponseOutput) } +// Backend Address Pool of an application gateway. +type ApplicationGatewayBackendAddressPoolResponseV1 struct { + // Backend addresses + BackendAddresses []ApplicationGatewayBackendAddressResponse `pulumi:"backendAddresses"` + // Collection of references to IPs defined in network interfaces. + BackendIPConfigurations []NetworkInterfaceIPConfigurationResponse `pulumi:"backendIPConfigurations"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Name of the backend address pool that is unique within an Application Gateway. + Name *string `pulumi:"name"` + // Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // Type of the resource. + Type *string `pulumi:"type"` +} + +// Backend Address Pool of an application gateway. +type ApplicationGatewayBackendAddressPoolResponseV1Output struct{ *pulumi.OutputState } + +func (ApplicationGatewayBackendAddressPoolResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ApplicationGatewayBackendAddressPoolResponseV1)(nil)).Elem() +} + +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) ToApplicationGatewayBackendAddressPoolResponseV1Output() ApplicationGatewayBackendAddressPoolResponseV1Output { + return o +} + +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) ToApplicationGatewayBackendAddressPoolResponseV1OutputWithContext(ctx context.Context) ApplicationGatewayBackendAddressPoolResponseV1Output { + return o +} + +// Backend addresses +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) BackendAddresses() ApplicationGatewayBackendAddressResponseArrayOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) []ApplicationGatewayBackendAddressResponse { + return v.BackendAddresses + }).(ApplicationGatewayBackendAddressResponseArrayOutput) +} + +// Collection of references to IPs defined in network interfaces. +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) BackendIPConfigurations() NetworkInterfaceIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) []NetworkInterfaceIPConfigurationResponse { + return v.BackendIPConfigurations + }).(NetworkInterfaceIPConfigurationResponseArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Name of the backend address pool that is unique within an Application Gateway. +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// Type of the resource. +func (o ApplicationGatewayBackendAddressPoolResponseV1Output) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplicationGatewayBackendAddressPoolResponseV1) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ApplicationGatewayBackendAddressPoolResponseV1)(nil)).Elem() +} + +func (o ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput) ToApplicationGatewayBackendAddressPoolResponseV1ArrayOutput() ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput { + return o +} + +func (o ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput) ToApplicationGatewayBackendAddressPoolResponseV1ArrayOutputWithContext(ctx context.Context) ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput { + return o +} + +func (o ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput) Index(i pulumi.IntInput) ApplicationGatewayBackendAddressPoolResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ApplicationGatewayBackendAddressPoolResponseV1 { + return vs[0].([]ApplicationGatewayBackendAddressPoolResponseV1)[vs[1].(int)] + }).(ApplicationGatewayBackendAddressPoolResponseV1Output) +} + // Backend address of an application gateway. type ApplicationGatewayBackendAddressResponse struct { // Fully qualified domain name (FQDN). @@ -17502,6 +18296,103 @@ func (o BackendAddressPoolResponseArrayOutput) Index(i pulumi.IntInput) BackendA }).(BackendAddressPoolResponseOutput) } +// Pool of backend IP addresses. +type BackendAddressPoolResponseV1 struct { + // Gets collection of references to IP addresses defined in network interfaces. + BackendIPConfigurations []NetworkInterfaceIPConfigurationResponse `pulumi:"backendIPConfigurations"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Gets load balancing rules that use this backend address pool. + LoadBalancingRules []SubResourceResponse `pulumi:"loadBalancingRules"` + // Gets name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `pulumi:"name"` + // Gets outbound rules that use this backend address pool. + OutboundRule SubResourceResponse `pulumi:"outboundRule"` + // Gets outbound rules that use this backend address pool. + OutboundRules []SubResourceResponse `pulumi:"outboundRules"` + // Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` +} + +// Pool of backend IP addresses. +type BackendAddressPoolResponseV1Output struct{ *pulumi.OutputState } + +func (BackendAddressPoolResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*BackendAddressPoolResponseV1)(nil)).Elem() +} + +func (o BackendAddressPoolResponseV1Output) ToBackendAddressPoolResponseV1Output() BackendAddressPoolResponseV1Output { + return o +} + +func (o BackendAddressPoolResponseV1Output) ToBackendAddressPoolResponseV1OutputWithContext(ctx context.Context) BackendAddressPoolResponseV1Output { + return o +} + +// Gets collection of references to IP addresses defined in network interfaces. +func (o BackendAddressPoolResponseV1Output) BackendIPConfigurations() NetworkInterfaceIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) []NetworkInterfaceIPConfigurationResponse { + return v.BackendIPConfigurations + }).(NetworkInterfaceIPConfigurationResponseArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o BackendAddressPoolResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o BackendAddressPoolResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Gets load balancing rules that use this backend address pool. +func (o BackendAddressPoolResponseV1Output) LoadBalancingRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) []SubResourceResponse { return v.LoadBalancingRules }).(SubResourceResponseArrayOutput) +} + +// Gets name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o BackendAddressPoolResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Gets outbound rules that use this backend address pool. +func (o BackendAddressPoolResponseV1Output) OutboundRule() SubResourceResponseOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) SubResourceResponse { return v.OutboundRule }).(SubResourceResponseOutput) +} + +// Gets outbound rules that use this backend address pool. +func (o BackendAddressPoolResponseV1Output) OutboundRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) []SubResourceResponse { return v.OutboundRules }).(SubResourceResponseArrayOutput) +} + +// Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o BackendAddressPoolResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendAddressPoolResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +type BackendAddressPoolResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (BackendAddressPoolResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackendAddressPoolResponseV1)(nil)).Elem() +} + +func (o BackendAddressPoolResponseV1ArrayOutput) ToBackendAddressPoolResponseV1ArrayOutput() BackendAddressPoolResponseV1ArrayOutput { + return o +} + +func (o BackendAddressPoolResponseV1ArrayOutput) ToBackendAddressPoolResponseV1ArrayOutputWithContext(ctx context.Context) BackendAddressPoolResponseV1ArrayOutput { + return o +} + +func (o BackendAddressPoolResponseV1ArrayOutput) Index(i pulumi.IntInput) BackendAddressPoolResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) BackendAddressPoolResponseV1 { + return vs[0].([]BackendAddressPoolResponseV1)[vs[1].(int)] + }).(BackendAddressPoolResponseV1Output) +} + // The session detail for a target. type BastionActiveSessionResponse struct { // The protocol used to connect to the target. @@ -18954,14 +19845,12 @@ type ConfigurationGroupResponse struct { DisplayName *string `pulumi:"displayName"` // Group members of network group. GroupMembers []GroupMembersItemResponse `pulumi:"groupMembers"` - // Network group ID. + // Resource ID. Id *string `pulumi:"id"` - // The type of the group member. + // Group member type. MemberType *string `pulumi:"memberType"` // The provisioning state of the scope assignment resource. ProvisioningState string `pulumi:"provisioningState"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` } // The network configuration group resource @@ -18999,12 +19888,12 @@ func (o ConfigurationGroupResponseOutput) GroupMembers() GroupMembersItemRespons return o.ApplyT(func(v ConfigurationGroupResponse) []GroupMembersItemResponse { return v.GroupMembers }).(GroupMembersItemResponseArrayOutput) } -// Network group ID. +// Resource ID. func (o ConfigurationGroupResponseOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v ConfigurationGroupResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The type of the group member. +// Group member type. func (o ConfigurationGroupResponseOutput) MemberType() pulumi.StringPtrOutput { return o.ApplyT(func(v ConfigurationGroupResponse) *string { return v.MemberType }).(pulumi.StringPtrOutput) } @@ -19014,11 +19903,6 @@ func (o ConfigurationGroupResponseOutput) ProvisioningState() pulumi.StringOutpu return o.ApplyT(func(v ConfigurationGroupResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Unique identifier for this resource. -func (o ConfigurationGroupResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v ConfigurationGroupResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - type ConfigurationGroupResponseArrayOutput struct{ *pulumi.OutputState } func (ConfigurationGroupResponseArrayOutput) ElementType() reflect.Type { @@ -19039,6 +19923,369 @@ func (o ConfigurationGroupResponseArrayOutput) Index(i pulumi.IntInput) Configur }).(ConfigurationGroupResponseOutput) } +// The network configuration group resource +type ConfigurationGroupResponseV1 struct { + // A description of the network group. + Description *string `pulumi:"description"` + // Network group ID. + Id *string `pulumi:"id"` + // The type of the group member. + MemberType *string `pulumi:"memberType"` + // The provisioning state of the scope assignment resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` +} + +// The network configuration group resource +type ConfigurationGroupResponseV1Output struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationGroupResponseV1)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV1Output) ToConfigurationGroupResponseV1Output() ConfigurationGroupResponseV1Output { + return o +} + +func (o ConfigurationGroupResponseV1Output) ToConfigurationGroupResponseV1OutputWithContext(ctx context.Context) ConfigurationGroupResponseV1Output { + return o +} + +// A description of the network group. +func (o ConfigurationGroupResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Network group ID. +func (o ConfigurationGroupResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of the group member. +func (o ConfigurationGroupResponseV1Output) MemberType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV1) *string { return v.MemberType }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the scope assignment resource. +func (o ConfigurationGroupResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o ConfigurationGroupResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +type ConfigurationGroupResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationGroupResponseV1)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV1ArrayOutput) ToConfigurationGroupResponseV1ArrayOutput() ConfigurationGroupResponseV1ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV1ArrayOutput) ToConfigurationGroupResponseV1ArrayOutputWithContext(ctx context.Context) ConfigurationGroupResponseV1ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV1ArrayOutput) Index(i pulumi.IntInput) ConfigurationGroupResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigurationGroupResponseV1 { + return vs[0].([]ConfigurationGroupResponseV1)[vs[1].(int)] + }).(ConfigurationGroupResponseV1Output) +} + +// The network configuration group resource +type ConfigurationGroupResponseV2 struct { + // A description of the network group. + Description *string `pulumi:"description"` + // Network group ID. + Id *string `pulumi:"id"` + // The type of the group member. + MemberType *string `pulumi:"memberType"` + // The provisioning state of the scope assignment resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` +} + +// The network configuration group resource +type ConfigurationGroupResponseV2Output struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationGroupResponseV2)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV2Output) ToConfigurationGroupResponseV2Output() ConfigurationGroupResponseV2Output { + return o +} + +func (o ConfigurationGroupResponseV2Output) ToConfigurationGroupResponseV2OutputWithContext(ctx context.Context) ConfigurationGroupResponseV2Output { + return o +} + +// A description of the network group. +func (o ConfigurationGroupResponseV2Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV2) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Network group ID. +func (o ConfigurationGroupResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of the group member. +func (o ConfigurationGroupResponseV2Output) MemberType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV2) *string { return v.MemberType }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the scope assignment resource. +func (o ConfigurationGroupResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o ConfigurationGroupResponseV2Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV2) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +type ConfigurationGroupResponseV2ArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationGroupResponseV2)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV2ArrayOutput) ToConfigurationGroupResponseV2ArrayOutput() ConfigurationGroupResponseV2ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV2ArrayOutput) ToConfigurationGroupResponseV2ArrayOutputWithContext(ctx context.Context) ConfigurationGroupResponseV2ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV2ArrayOutput) Index(i pulumi.IntInput) ConfigurationGroupResponseV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigurationGroupResponseV2 { + return vs[0].([]ConfigurationGroupResponseV2)[vs[1].(int)] + }).(ConfigurationGroupResponseV2Output) +} + +// The network configuration group resource +type ConfigurationGroupResponseV3 struct { + // A description of the network group. + Description *string `pulumi:"description"` + // Resource ID. + Id *string `pulumi:"id"` + // Group member type. + MemberType string `pulumi:"memberType"` + // The provisioning state of the scope assignment resource. + ProvisioningState string `pulumi:"provisioningState"` +} + +// The network configuration group resource +type ConfigurationGroupResponseV3Output struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationGroupResponseV3)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV3Output) ToConfigurationGroupResponseV3Output() ConfigurationGroupResponseV3Output { + return o +} + +func (o ConfigurationGroupResponseV3Output) ToConfigurationGroupResponseV3OutputWithContext(ctx context.Context) ConfigurationGroupResponseV3Output { + return o +} + +// A description of the network group. +func (o ConfigurationGroupResponseV3Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV3) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ConfigurationGroupResponseV3Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV3) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Group member type. +func (o ConfigurationGroupResponseV3Output) MemberType() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV3) string { return v.MemberType }).(pulumi.StringOutput) +} + +// The provisioning state of the scope assignment resource. +func (o ConfigurationGroupResponseV3Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV3) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +type ConfigurationGroupResponseV3ArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV3ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationGroupResponseV3)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV3ArrayOutput) ToConfigurationGroupResponseV3ArrayOutput() ConfigurationGroupResponseV3ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV3ArrayOutput) ToConfigurationGroupResponseV3ArrayOutputWithContext(ctx context.Context) ConfigurationGroupResponseV3ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV3ArrayOutput) Index(i pulumi.IntInput) ConfigurationGroupResponseV3Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigurationGroupResponseV3 { + return vs[0].([]ConfigurationGroupResponseV3)[vs[1].(int)] + }).(ConfigurationGroupResponseV3Output) +} + +// The network configuration group resource +type ConfigurationGroupResponseV4 struct { + // A description of the network group. + Description *string `pulumi:"description"` + // Network group ID. + Id *string `pulumi:"id"` + // The type of the group member. + MemberType *string `pulumi:"memberType"` + // The provisioning state of the scope assignment resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` +} + +// The network configuration group resource +type ConfigurationGroupResponseV4Output struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV4Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationGroupResponseV4)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV4Output) ToConfigurationGroupResponseV4Output() ConfigurationGroupResponseV4Output { + return o +} + +func (o ConfigurationGroupResponseV4Output) ToConfigurationGroupResponseV4OutputWithContext(ctx context.Context) ConfigurationGroupResponseV4Output { + return o +} + +// A description of the network group. +func (o ConfigurationGroupResponseV4Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV4) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Network group ID. +func (o ConfigurationGroupResponseV4Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV4) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of the group member. +func (o ConfigurationGroupResponseV4Output) MemberType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV4) *string { return v.MemberType }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the scope assignment resource. +func (o ConfigurationGroupResponseV4Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV4) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o ConfigurationGroupResponseV4Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV4) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +type ConfigurationGroupResponseV4ArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV4ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationGroupResponseV4)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV4ArrayOutput) ToConfigurationGroupResponseV4ArrayOutput() ConfigurationGroupResponseV4ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV4ArrayOutput) ToConfigurationGroupResponseV4ArrayOutputWithContext(ctx context.Context) ConfigurationGroupResponseV4ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV4ArrayOutput) Index(i pulumi.IntInput) ConfigurationGroupResponseV4Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigurationGroupResponseV4 { + return vs[0].([]ConfigurationGroupResponseV4)[vs[1].(int)] + }).(ConfigurationGroupResponseV4Output) +} + +// The network configuration group resource +type ConfigurationGroupResponseV5 struct { + // A description of the network group. + Description *string `pulumi:"description"` + // Network group ID. + Id *string `pulumi:"id"` + // The type of the group member. + MemberType *string `pulumi:"memberType"` + // The provisioning state of the scope assignment resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` +} + +// The network configuration group resource +type ConfigurationGroupResponseV5Output struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV5Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationGroupResponseV5)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV5Output) ToConfigurationGroupResponseV5Output() ConfigurationGroupResponseV5Output { + return o +} + +func (o ConfigurationGroupResponseV5Output) ToConfigurationGroupResponseV5OutputWithContext(ctx context.Context) ConfigurationGroupResponseV5Output { + return o +} + +// A description of the network group. +func (o ConfigurationGroupResponseV5Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV5) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Network group ID. +func (o ConfigurationGroupResponseV5Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV5) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The type of the group member. +func (o ConfigurationGroupResponseV5Output) MemberType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV5) *string { return v.MemberType }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the scope assignment resource. +func (o ConfigurationGroupResponseV5Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV5) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o ConfigurationGroupResponseV5Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationGroupResponseV5) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +type ConfigurationGroupResponseV5ArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationGroupResponseV5ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationGroupResponseV5)(nil)).Elem() +} + +func (o ConfigurationGroupResponseV5ArrayOutput) ToConfigurationGroupResponseV5ArrayOutput() ConfigurationGroupResponseV5ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV5ArrayOutput) ToConfigurationGroupResponseV5ArrayOutputWithContext(ctx context.Context) ConfigurationGroupResponseV5ArrayOutput { + return o +} + +func (o ConfigurationGroupResponseV5ArrayOutput) Index(i pulumi.IntInput) ConfigurationGroupResponseV5Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigurationGroupResponseV5 { + return vs[0].([]ConfigurationGroupResponseV5)[vs[1].(int)] + }).(ConfigurationGroupResponseV5Output) +} + // Describes the destination of connection monitor. type ConnectionMonitorDestination struct { // Address of the connection monitor destination (IP or domain name). @@ -22939,6 +24186,136 @@ func (o ConnectivityGroupItemResponseArrayOutput) Index(i pulumi.IntInput) Conne }).(ConnectivityGroupItemResponseOutput) } +type ConnectivityGroupItemResponseV1 struct { + // Group connectivity type. + GroupConnectivity *string `pulumi:"groupConnectivity"` + // Flag if global is supported. + IsGlobal *string `pulumi:"isGlobal"` + // Network group Id. + NetworkGroupId *string `pulumi:"networkGroupId"` + // Flag if need to use hub gateway. + UseHubGateway *string `pulumi:"useHubGateway"` +} + +type ConnectivityGroupItemResponseV1Output struct{ *pulumi.OutputState } + +func (ConnectivityGroupItemResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectivityGroupItemResponseV1)(nil)).Elem() +} + +func (o ConnectivityGroupItemResponseV1Output) ToConnectivityGroupItemResponseV1Output() ConnectivityGroupItemResponseV1Output { + return o +} + +func (o ConnectivityGroupItemResponseV1Output) ToConnectivityGroupItemResponseV1OutputWithContext(ctx context.Context) ConnectivityGroupItemResponseV1Output { + return o +} + +// Group connectivity type. +func (o ConnectivityGroupItemResponseV1Output) GroupConnectivity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV1) *string { return v.GroupConnectivity }).(pulumi.StringPtrOutput) +} + +// Flag if global is supported. +func (o ConnectivityGroupItemResponseV1Output) IsGlobal() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV1) *string { return v.IsGlobal }).(pulumi.StringPtrOutput) +} + +// Network group Id. +func (o ConnectivityGroupItemResponseV1Output) NetworkGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV1) *string { return v.NetworkGroupId }).(pulumi.StringPtrOutput) +} + +// Flag if need to use hub gateway. +func (o ConnectivityGroupItemResponseV1Output) UseHubGateway() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV1) *string { return v.UseHubGateway }).(pulumi.StringPtrOutput) +} + +type ConnectivityGroupItemResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ConnectivityGroupItemResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConnectivityGroupItemResponseV1)(nil)).Elem() +} + +func (o ConnectivityGroupItemResponseV1ArrayOutput) ToConnectivityGroupItemResponseV1ArrayOutput() ConnectivityGroupItemResponseV1ArrayOutput { + return o +} + +func (o ConnectivityGroupItemResponseV1ArrayOutput) ToConnectivityGroupItemResponseV1ArrayOutputWithContext(ctx context.Context) ConnectivityGroupItemResponseV1ArrayOutput { + return o +} + +func (o ConnectivityGroupItemResponseV1ArrayOutput) Index(i pulumi.IntInput) ConnectivityGroupItemResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConnectivityGroupItemResponseV1 { + return vs[0].([]ConnectivityGroupItemResponseV1)[vs[1].(int)] + }).(ConnectivityGroupItemResponseV1Output) +} + +type ConnectivityGroupItemResponseV2 struct { + // Group connectivity type. + GroupConnectivity *string `pulumi:"groupConnectivity"` + // Flag if global is supported. + IsGlobal *string `pulumi:"isGlobal"` + // Network group Id. + NetworkGroupId *string `pulumi:"networkGroupId"` + // Flag if need to use hub gateway. + UseHubGateway *string `pulumi:"useHubGateway"` +} + +type ConnectivityGroupItemResponseV2Output struct{ *pulumi.OutputState } + +func (ConnectivityGroupItemResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectivityGroupItemResponseV2)(nil)).Elem() +} + +func (o ConnectivityGroupItemResponseV2Output) ToConnectivityGroupItemResponseV2Output() ConnectivityGroupItemResponseV2Output { + return o +} + +func (o ConnectivityGroupItemResponseV2Output) ToConnectivityGroupItemResponseV2OutputWithContext(ctx context.Context) ConnectivityGroupItemResponseV2Output { + return o +} + +// Group connectivity type. +func (o ConnectivityGroupItemResponseV2Output) GroupConnectivity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV2) *string { return v.GroupConnectivity }).(pulumi.StringPtrOutput) +} + +// Flag if global is supported. +func (o ConnectivityGroupItemResponseV2Output) IsGlobal() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV2) *string { return v.IsGlobal }).(pulumi.StringPtrOutput) +} + +// Network group Id. +func (o ConnectivityGroupItemResponseV2Output) NetworkGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV2) *string { return v.NetworkGroupId }).(pulumi.StringPtrOutput) +} + +// Flag if need to use hub gateway. +func (o ConnectivityGroupItemResponseV2Output) UseHubGateway() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectivityGroupItemResponseV2) *string { return v.UseHubGateway }).(pulumi.StringPtrOutput) +} + +type ConnectivityGroupItemResponseV2ArrayOutput struct{ *pulumi.OutputState } + +func (ConnectivityGroupItemResponseV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConnectivityGroupItemResponseV2)(nil)).Elem() +} + +func (o ConnectivityGroupItemResponseV2ArrayOutput) ToConnectivityGroupItemResponseV2ArrayOutput() ConnectivityGroupItemResponseV2ArrayOutput { + return o +} + +func (o ConnectivityGroupItemResponseV2ArrayOutput) ToConnectivityGroupItemResponseV2ArrayOutputWithContext(ctx context.Context) ConnectivityGroupItemResponseV2ArrayOutput { + return o +} + +func (o ConnectivityGroupItemResponseV2ArrayOutput) Index(i pulumi.IntInput) ConnectivityGroupItemResponseV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConnectivityGroupItemResponseV2 { + return vs[0].([]ConnectivityGroupItemResponseV2)[vs[1].(int)] + }).(ConnectivityGroupItemResponseV2Output) +} + // Container network interface configuration child resource. type ContainerNetworkInterfaceConfiguration struct { // A list of container network interfaces created from this container network interface configuration. @@ -23961,12 +25338,8 @@ func (o DdosSettingsPtrOutput) ProtectionMode() pulumi.StringPtrOutput { // Contains the DDoS protection settings of the public IP. type DdosSettingsResponse struct { - // The DDoS custom policy associated with the public IP. - DdosCustomPolicy *SubResourceResponse `pulumi:"ddosCustomPolicy"` // The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled DdosProtectionPlan *SubResourceResponse `pulumi:"ddosProtectionPlan"` - // The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. - ProtectionCoverage *string `pulumi:"protectionCoverage"` // The DDoS protection mode of the public IP ProtectionMode *string `pulumi:"protectionMode"` } @@ -23986,21 +25359,11 @@ func (o DdosSettingsResponseOutput) ToDdosSettingsResponseOutputWithContext(ctx return o } -// The DDoS custom policy associated with the public IP. -func (o DdosSettingsResponseOutput) DdosCustomPolicy() SubResourceResponsePtrOutput { - return o.ApplyT(func(v DdosSettingsResponse) *SubResourceResponse { return v.DdosCustomPolicy }).(SubResourceResponsePtrOutput) -} - // The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled func (o DdosSettingsResponseOutput) DdosProtectionPlan() SubResourceResponsePtrOutput { return o.ApplyT(func(v DdosSettingsResponse) *SubResourceResponse { return v.DdosProtectionPlan }).(SubResourceResponsePtrOutput) } -// The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. -func (o DdosSettingsResponseOutput) ProtectionCoverage() pulumi.StringPtrOutput { - return o.ApplyT(func(v DdosSettingsResponse) *string { return v.ProtectionCoverage }).(pulumi.StringPtrOutput) -} - // The DDoS protection mode of the public IP func (o DdosSettingsResponseOutput) ProtectionMode() pulumi.StringPtrOutput { return o.ApplyT(func(v DdosSettingsResponse) *string { return v.ProtectionMode }).(pulumi.StringPtrOutput) @@ -24030,43 +25393,100 @@ func (o DdosSettingsResponsePtrOutput) Elem() DdosSettingsResponseOutput { }).(DdosSettingsResponseOutput) } -// The DDoS custom policy associated with the public IP. -func (o DdosSettingsResponsePtrOutput) DdosCustomPolicy() SubResourceResponsePtrOutput { +// The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled +func (o DdosSettingsResponsePtrOutput) DdosProtectionPlan() SubResourceResponsePtrOutput { return o.ApplyT(func(v *DdosSettingsResponse) *SubResourceResponse { if v == nil { return nil } - return v.DdosCustomPolicy + return v.DdosProtectionPlan }).(SubResourceResponsePtrOutput) } -// The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled -func (o DdosSettingsResponsePtrOutput) DdosProtectionPlan() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *DdosSettingsResponse) *SubResourceResponse { +// The DDoS protection mode of the public IP +func (o DdosSettingsResponsePtrOutput) ProtectionMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DdosSettingsResponse) *string { if v == nil { return nil } - return v.DdosProtectionPlan - }).(SubResourceResponsePtrOutput) + return v.ProtectionMode + }).(pulumi.StringPtrOutput) +} + +// Contains the DDoS protection settings of the public IP. +type DdosSettingsResponseV1 struct { + // The DDoS custom policy associated with the public IP. + DdosCustomPolicy *SubResourceResponse `pulumi:"ddosCustomPolicy"` + // The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. + ProtectionCoverage *string `pulumi:"protectionCoverage"` +} + +// Contains the DDoS protection settings of the public IP. +type DdosSettingsResponseV1Output struct{ *pulumi.OutputState } + +func (DdosSettingsResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*DdosSettingsResponseV1)(nil)).Elem() +} + +func (o DdosSettingsResponseV1Output) ToDdosSettingsResponseV1Output() DdosSettingsResponseV1Output { + return o +} + +func (o DdosSettingsResponseV1Output) ToDdosSettingsResponseV1OutputWithContext(ctx context.Context) DdosSettingsResponseV1Output { + return o +} + +// The DDoS custom policy associated with the public IP. +func (o DdosSettingsResponseV1Output) DdosCustomPolicy() SubResourceResponsePtrOutput { + return o.ApplyT(func(v DdosSettingsResponseV1) *SubResourceResponse { return v.DdosCustomPolicy }).(SubResourceResponsePtrOutput) } // The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. -func (o DdosSettingsResponsePtrOutput) ProtectionCoverage() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DdosSettingsResponse) *string { +func (o DdosSettingsResponseV1Output) ProtectionCoverage() pulumi.StringPtrOutput { + return o.ApplyT(func(v DdosSettingsResponseV1) *string { return v.ProtectionCoverage }).(pulumi.StringPtrOutput) +} + +type DdosSettingsResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (DdosSettingsResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DdosSettingsResponseV1)(nil)).Elem() +} + +func (o DdosSettingsResponseV1PtrOutput) ToDdosSettingsResponseV1PtrOutput() DdosSettingsResponseV1PtrOutput { + return o +} + +func (o DdosSettingsResponseV1PtrOutput) ToDdosSettingsResponseV1PtrOutputWithContext(ctx context.Context) DdosSettingsResponseV1PtrOutput { + return o +} + +func (o DdosSettingsResponseV1PtrOutput) Elem() DdosSettingsResponseV1Output { + return o.ApplyT(func(v *DdosSettingsResponseV1) DdosSettingsResponseV1 { + if v != nil { + return *v + } + var ret DdosSettingsResponseV1 + return ret + }).(DdosSettingsResponseV1Output) +} + +// The DDoS custom policy associated with the public IP. +func (o DdosSettingsResponseV1PtrOutput) DdosCustomPolicy() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *DdosSettingsResponseV1) *SubResourceResponse { if v == nil { return nil } - return v.ProtectionCoverage - }).(pulumi.StringPtrOutput) + return v.DdosCustomPolicy + }).(SubResourceResponsePtrOutput) } -// The DDoS protection mode of the public IP -func (o DdosSettingsResponsePtrOutput) ProtectionMode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DdosSettingsResponse) *string { +// The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. +func (o DdosSettingsResponseV1PtrOutput) ProtectionCoverage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DdosSettingsResponseV1) *string { if v == nil { return nil } - return v.ProtectionMode + return v.ProtectionCoverage }).(pulumi.StringPtrOutput) } @@ -24520,6 +25940,87 @@ func (o DelegationResponseArrayOutput) Index(i pulumi.IntInput) DelegationRespon }).(DelegationResponseOutput) } +// Details the service to which the subnet is delegated. +type DelegationResponseV1 struct { + // Describes the actions permitted to the service upon delegation + Actions []string `pulumi:"actions"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The name of the resource that is unique within a subnet. This name can be used to access the resource. + Name *string `pulumi:"name"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers) + ServiceName *string `pulumi:"serviceName"` +} + +// Details the service to which the subnet is delegated. +type DelegationResponseV1Output struct{ *pulumi.OutputState } + +func (DelegationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*DelegationResponseV1)(nil)).Elem() +} + +func (o DelegationResponseV1Output) ToDelegationResponseV1Output() DelegationResponseV1Output { + return o +} + +func (o DelegationResponseV1Output) ToDelegationResponseV1OutputWithContext(ctx context.Context) DelegationResponseV1Output { + return o +} + +// Describes the actions permitted to the service upon delegation +func (o DelegationResponseV1Output) Actions() pulumi.StringArrayOutput { + return o.ApplyT(func(v DelegationResponseV1) []string { return v.Actions }).(pulumi.StringArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o DelegationResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v DelegationResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o DelegationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v DelegationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a subnet. This name can be used to access the resource. +func (o DelegationResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v DelegationResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. +func (o DelegationResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v DelegationResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers) +func (o DelegationResponseV1Output) ServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DelegationResponseV1) *string { return v.ServiceName }).(pulumi.StringPtrOutput) +} + +type DelegationResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (DelegationResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DelegationResponseV1)(nil)).Elem() +} + +func (o DelegationResponseV1ArrayOutput) ToDelegationResponseV1ArrayOutput() DelegationResponseV1ArrayOutput { + return o +} + +func (o DelegationResponseV1ArrayOutput) ToDelegationResponseV1ArrayOutputWithContext(ctx context.Context) DelegationResponseV1ArrayOutput { + return o +} + +func (o DelegationResponseV1ArrayOutput) Index(i pulumi.IntInput) DelegationResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DelegationResponseV1 { + return vs[0].([]DelegationResponseV1)[vs[1].(int)] + }).(DelegationResponseV1Output) +} + // List of properties of the device. type DeviceProperties struct { // Model of the device. @@ -25267,7 +26768,7 @@ func (o DnsSettingsResponsePtrOutput) Servers() pulumi.StringArrayOutput { // The network manager effective connectivity configuration type EffectiveConnectivityConfigurationResponse struct { // Groups for configuration - AppliesToGroups []ConnectivityGroupItemResponse `pulumi:"appliesToGroups"` + AppliesToGroups []ConnectivityGroupItemResponseV2 `pulumi:"appliesToGroups"` // Effective configuration groups. ConfigurationGroups []ConfigurationGroupResponse `pulumi:"configurationGroups"` // Connectivity topology type. @@ -25280,14 +26781,12 @@ type EffectiveConnectivityConfigurationResponse struct { DisplayName *string `pulumi:"displayName"` // List of hubItems Hubs []HubResponse `pulumi:"hubs"` - // Connectivity configuration ID. + // Resource ID. Id *string `pulumi:"id"` // Flag if global mesh is supported. IsGlobal *string `pulumi:"isGlobal"` // The provisioning state of the connectivity configuration resource. ProvisioningState string `pulumi:"provisioningState"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` } // The network manager effective connectivity configuration @@ -25306,10 +26805,10 @@ func (o EffectiveConnectivityConfigurationResponseOutput) ToEffectiveConnectivit } // Groups for configuration -func (o EffectiveConnectivityConfigurationResponseOutput) AppliesToGroups() ConnectivityGroupItemResponseArrayOutput { - return o.ApplyT(func(v EffectiveConnectivityConfigurationResponse) []ConnectivityGroupItemResponse { +func (o EffectiveConnectivityConfigurationResponseOutput) AppliesToGroups() ConnectivityGroupItemResponseV2ArrayOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponse) []ConnectivityGroupItemResponseV2 { return v.AppliesToGroups - }).(ConnectivityGroupItemResponseArrayOutput) + }).(ConnectivityGroupItemResponseV2ArrayOutput) } // Effective configuration groups. @@ -25344,7 +26843,7 @@ func (o EffectiveConnectivityConfigurationResponseOutput) Hubs() HubResponseArra return o.ApplyT(func(v EffectiveConnectivityConfigurationResponse) []HubResponse { return v.Hubs }).(HubResponseArrayOutput) } -// Connectivity configuration ID. +// Resource ID. func (o EffectiveConnectivityConfigurationResponseOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v EffectiveConnectivityConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } @@ -25359,11 +26858,6 @@ func (o EffectiveConnectivityConfigurationResponseOutput) ProvisioningState() pu return o.ApplyT(func(v EffectiveConnectivityConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Unique identifier for this resource. -func (o EffectiveConnectivityConfigurationResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v EffectiveConnectivityConfigurationResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - type EffectiveConnectivityConfigurationResponseArrayOutput struct{ *pulumi.OutputState } func (EffectiveConnectivityConfigurationResponseArrayOutput) ElementType() reflect.Type { @@ -25384,6 +26878,119 @@ func (o EffectiveConnectivityConfigurationResponseArrayOutput) Index(i pulumi.In }).(EffectiveConnectivityConfigurationResponseOutput) } +// The network manager effective connectivity configuration +type EffectiveConnectivityConfigurationResponseV1 struct { + // Groups for configuration + AppliesToGroups []ConnectivityGroupItemResponse `pulumi:"appliesToGroups"` + // Effective configuration groups. + ConfigurationGroups []ConfigurationGroupResponseV4 `pulumi:"configurationGroups"` + // Connectivity topology type. + ConnectivityTopology string `pulumi:"connectivityTopology"` + // Flag if need to remove current existing peerings. + DeleteExistingPeering *string `pulumi:"deleteExistingPeering"` + // A description of the connectivity configuration. + Description *string `pulumi:"description"` + // List of hubItems + Hubs []HubResponse `pulumi:"hubs"` + // Connectivity configuration ID. + Id *string `pulumi:"id"` + // Flag if global mesh is supported. + IsGlobal *string `pulumi:"isGlobal"` + // The provisioning state of the connectivity configuration resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` +} + +// The network manager effective connectivity configuration +type EffectiveConnectivityConfigurationResponseV1Output struct{ *pulumi.OutputState } + +func (EffectiveConnectivityConfigurationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*EffectiveConnectivityConfigurationResponseV1)(nil)).Elem() +} + +func (o EffectiveConnectivityConfigurationResponseV1Output) ToEffectiveConnectivityConfigurationResponseV1Output() EffectiveConnectivityConfigurationResponseV1Output { + return o +} + +func (o EffectiveConnectivityConfigurationResponseV1Output) ToEffectiveConnectivityConfigurationResponseV1OutputWithContext(ctx context.Context) EffectiveConnectivityConfigurationResponseV1Output { + return o +} + +// Groups for configuration +func (o EffectiveConnectivityConfigurationResponseV1Output) AppliesToGroups() ConnectivityGroupItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) []ConnectivityGroupItemResponse { + return v.AppliesToGroups + }).(ConnectivityGroupItemResponseArrayOutput) +} + +// Effective configuration groups. +func (o EffectiveConnectivityConfigurationResponseV1Output) ConfigurationGroups() ConfigurationGroupResponseV4ArrayOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) []ConfigurationGroupResponseV4 { + return v.ConfigurationGroups + }).(ConfigurationGroupResponseV4ArrayOutput) +} + +// Connectivity topology type. +func (o EffectiveConnectivityConfigurationResponseV1Output) ConnectivityTopology() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) string { return v.ConnectivityTopology }).(pulumi.StringOutput) +} + +// Flag if need to remove current existing peerings. +func (o EffectiveConnectivityConfigurationResponseV1Output) DeleteExistingPeering() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) *string { return v.DeleteExistingPeering }).(pulumi.StringPtrOutput) +} + +// A description of the connectivity configuration. +func (o EffectiveConnectivityConfigurationResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// List of hubItems +func (o EffectiveConnectivityConfigurationResponseV1Output) Hubs() HubResponseArrayOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) []HubResponse { return v.Hubs }).(HubResponseArrayOutput) +} + +// Connectivity configuration ID. +func (o EffectiveConnectivityConfigurationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Flag if global mesh is supported. +func (o EffectiveConnectivityConfigurationResponseV1Output) IsGlobal() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) *string { return v.IsGlobal }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the connectivity configuration resource. +func (o EffectiveConnectivityConfigurationResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o EffectiveConnectivityConfigurationResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveConnectivityConfigurationResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +type EffectiveConnectivityConfigurationResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (EffectiveConnectivityConfigurationResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EffectiveConnectivityConfigurationResponseV1)(nil)).Elem() +} + +func (o EffectiveConnectivityConfigurationResponseV1ArrayOutput) ToEffectiveConnectivityConfigurationResponseV1ArrayOutput() EffectiveConnectivityConfigurationResponseV1ArrayOutput { + return o +} + +func (o EffectiveConnectivityConfigurationResponseV1ArrayOutput) ToEffectiveConnectivityConfigurationResponseV1ArrayOutputWithContext(ctx context.Context) EffectiveConnectivityConfigurationResponseV1ArrayOutput { + return o +} + +func (o EffectiveConnectivityConfigurationResponseV1ArrayOutput) Index(i pulumi.IntInput) EffectiveConnectivityConfigurationResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EffectiveConnectivityConfigurationResponseV1 { + return vs[0].([]EffectiveConnectivityConfigurationResponseV1)[vs[1].(int)] + }).(EffectiveConnectivityConfigurationResponseV1Output) +} + // Network default admin rule. type EffectiveDefaultSecurityAdminRuleResponse struct { // Indicates the access allowed for this particular rule @@ -25401,7 +27008,7 @@ type EffectiveDefaultSecurityAdminRuleResponse struct { // Indicates if the traffic matched against the rule in inbound or outbound. Direction string `pulumi:"direction"` // A friendly name for the rule. - DisplayName *string `pulumi:"displayName"` + DisplayName string `pulumi:"displayName"` // Default rule flag. Flag *string `pulumi:"flag"` // Resource ID. @@ -25415,10 +27022,8 @@ type EffectiveDefaultSecurityAdminRuleResponse struct { Protocol string `pulumi:"protocol"` // The provisioning state of the resource. ProvisioningState string `pulumi:"provisioningState"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` // Groups for rule collection - RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponseV3 `pulumi:"ruleCollectionAppliesToGroups"` // A description of the rule collection. RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` // A display name of the rule collection. @@ -25482,8 +27087,8 @@ func (o EffectiveDefaultSecurityAdminRuleResponseOutput) Direction() pulumi.Stri } // A friendly name for the rule. -func (o EffectiveDefaultSecurityAdminRuleResponseOutput) DisplayName() pulumi.StringPtrOutput { - return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +func (o EffectiveDefaultSecurityAdminRuleResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) string { return v.DisplayName }).(pulumi.StringOutput) } // Default rule flag. @@ -25517,16 +27122,11 @@ func (o EffectiveDefaultSecurityAdminRuleResponseOutput) ProvisioningState() pul return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Unique identifier for this resource. -func (o EffectiveDefaultSecurityAdminRuleResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - // Groups for rule collection -func (o EffectiveDefaultSecurityAdminRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { - return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) []NetworkManagerSecurityGroupItemResponse { +func (o EffectiveDefaultSecurityAdminRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseV3ArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) []NetworkManagerSecurityGroupItemResponseV3 { return v.RuleCollectionAppliesToGroups - }).(NetworkManagerSecurityGroupItemResponseArrayOutput) + }).(NetworkManagerSecurityGroupItemResponseV3ArrayOutput) } // A description of the rule collection. @@ -25554,6 +27154,157 @@ func (o EffectiveDefaultSecurityAdminRuleResponseOutput) Sources() AddressPrefix return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponse) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) } +// Network default admin rule. +type EffectiveDefaultSecurityAdminRuleResponseV1 struct { + // Indicates the access allowed for this particular rule + Access string `pulumi:"access"` + // A description of the security admin configuration. + ConfigurationDescription *string `pulumi:"configurationDescription"` + // A description for this rule. Restricted to 140 chars. + Description string `pulumi:"description"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The destination address prefixes. CIDR or destination IP ranges. + Destinations []AddressPrefixItemResponse `pulumi:"destinations"` + // Indicates if the traffic matched against the rule in inbound or outbound. + Direction string `pulumi:"direction"` + // Default rule flag. + Flag *string `pulumi:"flag"` + // Resource ID. + Id *string `pulumi:"id"` + // Whether the rule is custom or default. + // Expected value is 'Default'. + Kind string `pulumi:"kind"` + // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority int `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Groups for rule collection + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + // A description of the rule collection. + RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` + // Effective configuration groups. + RuleGroups []ConfigurationGroupResponseV5 `pulumi:"ruleGroups"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The CIDR or source IP ranges. + Sources []AddressPrefixItemResponse `pulumi:"sources"` +} + +// Network default admin rule. +type EffectiveDefaultSecurityAdminRuleResponseV1Output struct{ *pulumi.OutputState } + +func (EffectiveDefaultSecurityAdminRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*EffectiveDefaultSecurityAdminRuleResponseV1)(nil)).Elem() +} + +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) ToEffectiveDefaultSecurityAdminRuleResponseV1Output() EffectiveDefaultSecurityAdminRuleResponseV1Output { + return o +} + +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) ToEffectiveDefaultSecurityAdminRuleResponseV1OutputWithContext(ctx context.Context) EffectiveDefaultSecurityAdminRuleResponseV1Output { + return o +} + +// Indicates the access allowed for this particular rule +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Access() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.Access }).(pulumi.StringOutput) +} + +// A description of the security admin configuration. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) ConfigurationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) *string { return v.ConfigurationDescription }).(pulumi.StringPtrOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Description() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.Description }).(pulumi.StringOutput) +} + +// The destination port ranges. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Destinations() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Destinations }).(AddressPrefixItemResponseArrayOutput) +} + +// Indicates if the traffic matched against the rule in inbound or outbound. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// Default rule flag. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Flag() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) *string { return v.Flag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Whether the rule is custom or default. +// Expected value is 'Default'. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Kind() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.Kind }).(pulumi.StringOutput) +} + +// The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Priority() pulumi.IntOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) int { return v.Priority }).(pulumi.IntOutput) +} + +// Network protocol this rule applies to. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Groups for rule collection +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) []NetworkManagerSecurityGroupItemResponse { + return v.RuleCollectionAppliesToGroups + }).(NetworkManagerSecurityGroupItemResponseArrayOutput) +} + +// A description of the rule collection. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) RuleCollectionDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) *string { return v.RuleCollectionDescription }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) RuleGroups() ConfigurationGroupResponseV5ArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) []ConfigurationGroupResponseV5 { + return v.RuleGroups + }).(ConfigurationGroupResponseV5ArrayOutput) +} + +// The source port ranges. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The CIDR or source IP ranges. +func (o EffectiveDefaultSecurityAdminRuleResponseV1Output) Sources() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveDefaultSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) +} + // Network admin rule. type EffectiveSecurityAdminRuleResponse struct { // Indicates the access allowed for this particular rule @@ -25578,13 +27329,11 @@ type EffectiveSecurityAdminRuleResponse struct { // Expected value is 'Custom'. Kind string `pulumi:"kind"` // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - Priority int `pulumi:"priority"` + Priority *int `pulumi:"priority"` // Network protocol this rule applies to. Protocol string `pulumi:"protocol"` // The provisioning state of the resource. ProvisioningState string `pulumi:"provisioningState"` - // Unique identifier for this resource. - ResourceGuid string `pulumi:"resourceGuid"` // Groups for rule collection RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` // A description of the rule collection. @@ -25666,8 +27415,8 @@ func (o EffectiveSecurityAdminRuleResponseOutput) Kind() pulumi.StringOutput { } // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. -func (o EffectiveSecurityAdminRuleResponseOutput) Priority() pulumi.IntOutput { - return o.ApplyT(func(v EffectiveSecurityAdminRuleResponse) int { return v.Priority }).(pulumi.IntOutput) +func (o EffectiveSecurityAdminRuleResponseOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponse) *int { return v.Priority }).(pulumi.IntPtrOutput) } // Network protocol this rule applies to. @@ -25680,11 +27429,6 @@ func (o EffectiveSecurityAdminRuleResponseOutput) ProvisioningState() pulumi.Str return o.ApplyT(func(v EffectiveSecurityAdminRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Unique identifier for this resource. -func (o EffectiveSecurityAdminRuleResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v EffectiveSecurityAdminRuleResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) -} - // Groups for rule collection func (o EffectiveSecurityAdminRuleResponseOutput) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { return o.ApplyT(func(v EffectiveSecurityAdminRuleResponse) []NetworkManagerSecurityGroupItemResponse { @@ -25717,6 +27461,148 @@ func (o EffectiveSecurityAdminRuleResponseOutput) Sources() AddressPrefixItemRes return o.ApplyT(func(v EffectiveSecurityAdminRuleResponse) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) } +// Network admin rule. +type EffectiveSecurityAdminRuleResponseV1 struct { + // Indicates the access allowed for this particular rule + Access string `pulumi:"access"` + // A description of the security admin configuration. + ConfigurationDescription *string `pulumi:"configurationDescription"` + // A description for this rule. Restricted to 140 chars. + Description *string `pulumi:"description"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The destination address prefixes. CIDR or destination IP ranges. + Destinations []AddressPrefixItemResponse `pulumi:"destinations"` + // Indicates if the traffic matched against the rule in inbound or outbound. + Direction string `pulumi:"direction"` + // Resource ID. + Id *string `pulumi:"id"` + // Whether the rule is custom or default. + // Expected value is 'Custom'. + Kind string `pulumi:"kind"` + // The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority int `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // Unique identifier for this resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Groups for rule collection + RuleCollectionAppliesToGroups []NetworkManagerSecurityGroupItemResponse `pulumi:"ruleCollectionAppliesToGroups"` + // A description of the rule collection. + RuleCollectionDescription *string `pulumi:"ruleCollectionDescription"` + // Effective configuration groups. + RuleGroups []ConfigurationGroupResponse `pulumi:"ruleGroups"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The CIDR or source IP ranges. + Sources []AddressPrefixItemResponse `pulumi:"sources"` +} + +// Network admin rule. +type EffectiveSecurityAdminRuleResponseV1Output struct{ *pulumi.OutputState } + +func (EffectiveSecurityAdminRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*EffectiveSecurityAdminRuleResponseV1)(nil)).Elem() +} + +func (o EffectiveSecurityAdminRuleResponseV1Output) ToEffectiveSecurityAdminRuleResponseV1Output() EffectiveSecurityAdminRuleResponseV1Output { + return o +} + +func (o EffectiveSecurityAdminRuleResponseV1Output) ToEffectiveSecurityAdminRuleResponseV1OutputWithContext(ctx context.Context) EffectiveSecurityAdminRuleResponseV1Output { + return o +} + +// Indicates the access allowed for this particular rule +func (o EffectiveSecurityAdminRuleResponseV1Output) Access() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) string { return v.Access }).(pulumi.StringOutput) +} + +// A description of the security admin configuration. +func (o EffectiveSecurityAdminRuleResponseV1Output) ConfigurationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) *string { return v.ConfigurationDescription }).(pulumi.StringPtrOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o EffectiveSecurityAdminRuleResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The destination port ranges. +func (o EffectiveSecurityAdminRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o EffectiveSecurityAdminRuleResponseV1Output) Destinations() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Destinations }).(AddressPrefixItemResponseArrayOutput) +} + +// Indicates if the traffic matched against the rule in inbound or outbound. +func (o EffectiveSecurityAdminRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// Resource ID. +func (o EffectiveSecurityAdminRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Whether the rule is custom or default. +// Expected value is 'Custom'. +func (o EffectiveSecurityAdminRuleResponseV1Output) Kind() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) string { return v.Kind }).(pulumi.StringOutput) +} + +// The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o EffectiveSecurityAdminRuleResponseV1Output) Priority() pulumi.IntOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) int { return v.Priority }).(pulumi.IntOutput) +} + +// Network protocol this rule applies to. +func (o EffectiveSecurityAdminRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. +func (o EffectiveSecurityAdminRuleResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Unique identifier for this resource. +func (o EffectiveSecurityAdminRuleResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Groups for rule collection +func (o EffectiveSecurityAdminRuleResponseV1Output) RuleCollectionAppliesToGroups() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) []NetworkManagerSecurityGroupItemResponse { + return v.RuleCollectionAppliesToGroups + }).(NetworkManagerSecurityGroupItemResponseArrayOutput) +} + +// A description of the rule collection. +func (o EffectiveSecurityAdminRuleResponseV1Output) RuleCollectionDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) *string { return v.RuleCollectionDescription }).(pulumi.StringPtrOutput) +} + +// Effective configuration groups. +func (o EffectiveSecurityAdminRuleResponseV1Output) RuleGroups() ConfigurationGroupResponseArrayOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) []ConfigurationGroupResponse { return v.RuleGroups }).(ConfigurationGroupResponseArrayOutput) +} + +// The source port ranges. +func (o EffectiveSecurityAdminRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The CIDR or source IP ranges. +func (o EffectiveSecurityAdminRuleResponseV1Output) Sources() AddressPrefixItemResponseArrayOutput { + return o.ApplyT(func(v EffectiveSecurityAdminRuleResponseV1) []AddressPrefixItemResponse { return v.Sources }).(AddressPrefixItemResponseArrayOutput) +} + // Effective Virtual Network type EffectiveVirtualNetworkResponse struct { // Effective vnet Id. @@ -36220,8 +38106,6 @@ type FlowLogResponse struct { Name string `pulumi:"name"` // The provisioning state of the flow log. ProvisioningState string `pulumi:"provisioningState"` - // Optional field to filter network traffic logs based on flow states. Value of this field could be any comma separated combination string of letters B,C,E or D. B represents Begin, when a flow is created. C represents Continue for an ongoing flow generated at every five-minute interval. E represents End, when a flow is terminated. D represents Deny, when a flow is denied. If not specified, all network traffic will be logged. - RecordTypes *string `pulumi:"recordTypes"` // Parameters that define the retention policy for flow log. RetentionPolicy *RetentionPolicyParametersResponse `pulumi:"retentionPolicy"` // ID of the storage account which is used to store the flow log. @@ -36314,11 +38198,6 @@ func (o FlowLogResponseOutput) ProvisioningState() pulumi.StringOutput { return o.ApplyT(func(v FlowLogResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Optional field to filter network traffic logs based on flow states. Value of this field could be any comma separated combination string of letters B,C,E or D. B represents Begin, when a flow is created. C represents Continue for an ongoing flow generated at every five-minute interval. E represents End, when a flow is terminated. D represents Deny, when a flow is denied. If not specified, all network traffic will be logged. -func (o FlowLogResponseOutput) RecordTypes() pulumi.StringPtrOutput { - return o.ApplyT(func(v FlowLogResponse) *string { return v.RecordTypes }).(pulumi.StringPtrOutput) -} - // Parameters that define the retention policy for flow log. func (o FlowLogResponseOutput) RetentionPolicy() RetentionPolicyParametersResponsePtrOutput { return o.ApplyT(func(v FlowLogResponse) *RetentionPolicyParametersResponse { return v.RetentionPolicy }).(RetentionPolicyParametersResponsePtrOutput) @@ -36369,6 +38248,348 @@ func (o FlowLogResponseArrayOutput) Index(i pulumi.IntInput) FlowLogResponseOutp }).(FlowLogResponseOutput) } +// A flow log resource. +type FlowLogResponseV1 struct { + // Flag to enable/disable flow logging. + Enabled *bool `pulumi:"enabled"` + // Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. + EnabledFilteringCriteria *string `pulumi:"enabledFilteringCriteria"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Parameters that define the configuration of traffic analytics. + FlowAnalyticsConfiguration *TrafficAnalyticsPropertiesResponse `pulumi:"flowAnalyticsConfiguration"` + // Parameters that define the flow log format. + Format *FlowLogFormatParametersResponse `pulumi:"format"` + // Resource ID. + Id *string `pulumi:"id"` + // FlowLog resource Managed Identity + Identity *ManagedServiceIdentityResponse `pulumi:"identity"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the flow log. + ProvisioningState string `pulumi:"provisioningState"` + // Optional field to filter network traffic logs based on flow states. Value of this field could be any comma separated combination string of letters B,C,E or D. B represents Begin, when a flow is created. C represents Continue for an ongoing flow generated at every five-minute interval. E represents End, when a flow is terminated. D represents Deny, when a flow is denied. If not specified, all network traffic will be logged. + RecordTypes *string `pulumi:"recordTypes"` + // Parameters that define the retention policy for flow log. + RetentionPolicy *RetentionPolicyParametersResponse `pulumi:"retentionPolicy"` + // ID of the storage account which is used to store the flow log. + StorageId string `pulumi:"storageId"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Guid of network security group to which flow log will be applied. + TargetResourceGuid string `pulumi:"targetResourceGuid"` + // ID of network security group to which flow log will be applied. + TargetResourceId string `pulumi:"targetResourceId"` + // Resource type. + Type string `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for FlowLogResponseV1 +func (val *FlowLogResponseV1) Defaults() *FlowLogResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.Format = tmp.Format.Defaults() + + tmp.RetentionPolicy = tmp.RetentionPolicy.Defaults() + + return &tmp +} + +// A flow log resource. +type FlowLogResponseV1Output struct{ *pulumi.OutputState } + +func (FlowLogResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*FlowLogResponseV1)(nil)).Elem() +} + +func (o FlowLogResponseV1Output) ToFlowLogResponseV1Output() FlowLogResponseV1Output { + return o +} + +func (o FlowLogResponseV1Output) ToFlowLogResponseV1OutputWithContext(ctx context.Context) FlowLogResponseV1Output { + return o +} + +// Flag to enable/disable flow logging. +func (o FlowLogResponseV1Output) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. +func (o FlowLogResponseV1Output) EnabledFilteringCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *string { return v.EnabledFilteringCriteria }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o FlowLogResponseV1Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.Etag }).(pulumi.StringOutput) +} + +// Parameters that define the configuration of traffic analytics. +func (o FlowLogResponseV1Output) FlowAnalyticsConfiguration() TrafficAnalyticsPropertiesResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *TrafficAnalyticsPropertiesResponse { return v.FlowAnalyticsConfiguration }).(TrafficAnalyticsPropertiesResponsePtrOutput) +} + +// Parameters that define the flow log format. +func (o FlowLogResponseV1Output) Format() FlowLogFormatParametersResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *FlowLogFormatParametersResponse { return v.Format }).(FlowLogFormatParametersResponsePtrOutput) +} + +// Resource ID. +func (o FlowLogResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// FlowLog resource Managed Identity +func (o FlowLogResponseV1Output) Identity() ManagedServiceIdentityResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *ManagedServiceIdentityResponse { return v.Identity }).(ManagedServiceIdentityResponsePtrOutput) +} + +// Resource location. +func (o FlowLogResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o FlowLogResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the flow log. +func (o FlowLogResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Optional field to filter network traffic logs based on flow states. Value of this field could be any comma separated combination string of letters B,C,E or D. B represents Begin, when a flow is created. C represents Continue for an ongoing flow generated at every five-minute interval. E represents End, when a flow is terminated. D represents Deny, when a flow is denied. If not specified, all network traffic will be logged. +func (o FlowLogResponseV1Output) RecordTypes() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *string { return v.RecordTypes }).(pulumi.StringPtrOutput) +} + +// Parameters that define the retention policy for flow log. +func (o FlowLogResponseV1Output) RetentionPolicy() RetentionPolicyParametersResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV1) *RetentionPolicyParametersResponse { return v.RetentionPolicy }).(RetentionPolicyParametersResponsePtrOutput) +} + +// ID of the storage account which is used to store the flow log. +func (o FlowLogResponseV1Output) StorageId() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.StorageId }).(pulumi.StringOutput) +} + +// Resource tags. +func (o FlowLogResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v FlowLogResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Guid of network security group to which flow log will be applied. +func (o FlowLogResponseV1Output) TargetResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.TargetResourceGuid }).(pulumi.StringOutput) +} + +// ID of network security group to which flow log will be applied. +func (o FlowLogResponseV1Output) TargetResourceId() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.TargetResourceId }).(pulumi.StringOutput) +} + +// Resource type. +func (o FlowLogResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV1) string { return v.Type }).(pulumi.StringOutput) +} + +type FlowLogResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (FlowLogResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FlowLogResponseV1)(nil)).Elem() +} + +func (o FlowLogResponseV1ArrayOutput) ToFlowLogResponseV1ArrayOutput() FlowLogResponseV1ArrayOutput { + return o +} + +func (o FlowLogResponseV1ArrayOutput) ToFlowLogResponseV1ArrayOutputWithContext(ctx context.Context) FlowLogResponseV1ArrayOutput { + return o +} + +func (o FlowLogResponseV1ArrayOutput) Index(i pulumi.IntInput) FlowLogResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FlowLogResponseV1 { + return vs[0].([]FlowLogResponseV1)[vs[1].(int)] + }).(FlowLogResponseV1Output) +} + +// A flow log resource. +type FlowLogResponseV2 struct { + // Flag to enable/disable flow logging. + Enabled *bool `pulumi:"enabled"` + // Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. + EnabledFilteringCriteria *string `pulumi:"enabledFilteringCriteria"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Parameters that define the configuration of traffic analytics. + FlowAnalyticsConfiguration *TrafficAnalyticsPropertiesResponse `pulumi:"flowAnalyticsConfiguration"` + // Parameters that define the flow log format. + Format *FlowLogFormatParametersResponse `pulumi:"format"` + // Resource ID. + Id *string `pulumi:"id"` + // FlowLog resource Managed Identity + Identity *ManagedServiceIdentityResponse `pulumi:"identity"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the flow log. + ProvisioningState string `pulumi:"provisioningState"` + // Optional field to filter network traffic logs based on flow states. Value of this field could be any comma separated combination string of letters B,C,E or D. B represents Begin, when a flow is created. C represents Continue for an ongoing flow generated at every five-minute interval. E represents End, when a flow is terminated. D represents Deny, when a flow is denied. If not specified, all network traffic will be logged. + RecordTypes *string `pulumi:"recordTypes"` + // Parameters that define the retention policy for flow log. + RetentionPolicy *RetentionPolicyParametersResponse `pulumi:"retentionPolicy"` + // ID of the storage account which is used to store the flow log. + StorageId string `pulumi:"storageId"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Guid of network security group to which flow log will be applied. + TargetResourceGuid string `pulumi:"targetResourceGuid"` + // ID of network security group to which flow log will be applied. + TargetResourceId string `pulumi:"targetResourceId"` + // Resource type. + Type string `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for FlowLogResponseV2 +func (val *FlowLogResponseV2) Defaults() *FlowLogResponseV2 { + if val == nil { + return nil + } + tmp := *val + tmp.Format = tmp.Format.Defaults() + + tmp.RetentionPolicy = tmp.RetentionPolicy.Defaults() + + return &tmp +} + +// A flow log resource. +type FlowLogResponseV2Output struct{ *pulumi.OutputState } + +func (FlowLogResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*FlowLogResponseV2)(nil)).Elem() +} + +func (o FlowLogResponseV2Output) ToFlowLogResponseV2Output() FlowLogResponseV2Output { + return o +} + +func (o FlowLogResponseV2Output) ToFlowLogResponseV2OutputWithContext(ctx context.Context) FlowLogResponseV2Output { + return o +} + +// Flag to enable/disable flow logging. +func (o FlowLogResponseV2Output) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. +func (o FlowLogResponseV2Output) EnabledFilteringCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *string { return v.EnabledFilteringCriteria }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o FlowLogResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.Etag }).(pulumi.StringOutput) +} + +// Parameters that define the configuration of traffic analytics. +func (o FlowLogResponseV2Output) FlowAnalyticsConfiguration() TrafficAnalyticsPropertiesResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *TrafficAnalyticsPropertiesResponse { return v.FlowAnalyticsConfiguration }).(TrafficAnalyticsPropertiesResponsePtrOutput) +} + +// Parameters that define the flow log format. +func (o FlowLogResponseV2Output) Format() FlowLogFormatParametersResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *FlowLogFormatParametersResponse { return v.Format }).(FlowLogFormatParametersResponsePtrOutput) +} + +// Resource ID. +func (o FlowLogResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// FlowLog resource Managed Identity +func (o FlowLogResponseV2Output) Identity() ManagedServiceIdentityResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *ManagedServiceIdentityResponse { return v.Identity }).(ManagedServiceIdentityResponsePtrOutput) +} + +// Resource location. +func (o FlowLogResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o FlowLogResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the flow log. +func (o FlowLogResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Optional field to filter network traffic logs based on flow states. Value of this field could be any comma separated combination string of letters B,C,E or D. B represents Begin, when a flow is created. C represents Continue for an ongoing flow generated at every five-minute interval. E represents End, when a flow is terminated. D represents Deny, when a flow is denied. If not specified, all network traffic will be logged. +func (o FlowLogResponseV2Output) RecordTypes() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *string { return v.RecordTypes }).(pulumi.StringPtrOutput) +} + +// Parameters that define the retention policy for flow log. +func (o FlowLogResponseV2Output) RetentionPolicy() RetentionPolicyParametersResponsePtrOutput { + return o.ApplyT(func(v FlowLogResponseV2) *RetentionPolicyParametersResponse { return v.RetentionPolicy }).(RetentionPolicyParametersResponsePtrOutput) +} + +// ID of the storage account which is used to store the flow log. +func (o FlowLogResponseV2Output) StorageId() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.StorageId }).(pulumi.StringOutput) +} + +// Resource tags. +func (o FlowLogResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v FlowLogResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Guid of network security group to which flow log will be applied. +func (o FlowLogResponseV2Output) TargetResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.TargetResourceGuid }).(pulumi.StringOutput) +} + +// ID of network security group to which flow log will be applied. +func (o FlowLogResponseV2Output) TargetResourceId() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.TargetResourceId }).(pulumi.StringOutput) +} + +// Resource type. +func (o FlowLogResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v FlowLogResponseV2) string { return v.Type }).(pulumi.StringOutput) +} + +type FlowLogResponseV2ArrayOutput struct{ *pulumi.OutputState } + +func (FlowLogResponseV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FlowLogResponseV2)(nil)).Elem() +} + +func (o FlowLogResponseV2ArrayOutput) ToFlowLogResponseV2ArrayOutput() FlowLogResponseV2ArrayOutput { + return o +} + +func (o FlowLogResponseV2ArrayOutput) ToFlowLogResponseV2ArrayOutputWithContext(ctx context.Context) FlowLogResponseV2ArrayOutput { + return o +} + +func (o FlowLogResponseV2ArrayOutput) Index(i pulumi.IntInput) FlowLogResponseV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FlowLogResponseV2 { + return vs[0].([]FlowLogResponseV2)[vs[1].(int)] + }).(FlowLogResponseV2Output) +} + // Frontend IP address of the load balancer. type FrontendIPConfiguration struct { // The reference to gateway load balancer frontend IP. @@ -37110,6 +39331,300 @@ func (o FrontendIPConfigurationResponseArrayOutput) Index(i pulumi.IntInput) Fro }).(FrontendIPConfigurationResponseOutput) } +// Frontend IP address of the load balancer. +type FrontendIPConfigurationResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Read only. Inbound pools URIs that use this frontend IP. + InboundNatPools []SubResourceResponse `pulumi:"inboundNatPools"` + // Read only. Inbound rules URIs that use this frontend IP. + InboundNatRules []SubResourceResponse `pulumi:"inboundNatRules"` + // Gets load balancing rules URIs that use this frontend IP. + LoadBalancingRules []SubResourceResponse `pulumi:"loadBalancingRules"` + // 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"` + // Read only. Outbound rules URIs that use this frontend IP. + OutboundRules []SubResourceResponse `pulumi:"outboundRules"` + // The private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The Private IP allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The reference of the Public IP resource. + PublicIPAddress *PublicIPAddressResponse `pulumi:"publicIPAddress"` + // The reference of the Public IP Prefix resource. + PublicIPPrefix *SubResourceResponse `pulumi:"publicIPPrefix"` + // The reference of the subnet resource. + Subnet *SubnetResponse `pulumi:"subnet"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones []string `pulumi:"zones"` +} + +// Defaults sets the appropriate defaults for FrontendIPConfigurationResponseV1 +func (val *FrontendIPConfigurationResponseV1) Defaults() *FrontendIPConfigurationResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.PublicIPAddress = tmp.PublicIPAddress.Defaults() + + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// Frontend IP address of the load balancer. +type FrontendIPConfigurationResponseV1Output struct{ *pulumi.OutputState } + +func (FrontendIPConfigurationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*FrontendIPConfigurationResponseV1)(nil)).Elem() +} + +func (o FrontendIPConfigurationResponseV1Output) ToFrontendIPConfigurationResponseV1Output() FrontendIPConfigurationResponseV1Output { + return o +} + +func (o FrontendIPConfigurationResponseV1Output) ToFrontendIPConfigurationResponseV1OutputWithContext(ctx context.Context) FrontendIPConfigurationResponseV1Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o FrontendIPConfigurationResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o FrontendIPConfigurationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Read only. Inbound pools URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1Output) InboundNatPools() SubResourceResponseArrayOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) []SubResourceResponse { return v.InboundNatPools }).(SubResourceResponseArrayOutput) +} + +// Read only. Inbound rules URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1Output) InboundNatRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) []SubResourceResponse { return v.InboundNatRules }).(SubResourceResponseArrayOutput) +} + +// Gets load balancing rules URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1Output) LoadBalancingRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) []SubResourceResponse { return v.LoadBalancingRules }).(SubResourceResponseArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o FrontendIPConfigurationResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Read only. Outbound rules URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1Output) OutboundRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) []SubResourceResponse { return v.OutboundRules }).(SubResourceResponseArrayOutput) +} + +// The private IP address of the IP configuration. +func (o FrontendIPConfigurationResponseV1Output) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The Private IP allocation method. +func (o FrontendIPConfigurationResponseV1Output) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o FrontendIPConfigurationResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The reference of the Public IP resource. +func (o FrontendIPConfigurationResponseV1Output) PublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *PublicIPAddressResponse { return v.PublicIPAddress }).(PublicIPAddressResponsePtrOutput) +} + +// The reference of the Public IP Prefix resource. +func (o FrontendIPConfigurationResponseV1Output) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *SubResourceResponse { return v.PublicIPPrefix }).(SubResourceResponsePtrOutput) +} + +// The reference of the subnet resource. +func (o FrontendIPConfigurationResponseV1Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} + +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o FrontendIPConfigurationResponseV1Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v FrontendIPConfigurationResponseV1) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +type FrontendIPConfigurationResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (FrontendIPConfigurationResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FrontendIPConfigurationResponseV1)(nil)).Elem() +} + +func (o FrontendIPConfigurationResponseV1PtrOutput) ToFrontendIPConfigurationResponseV1PtrOutput() FrontendIPConfigurationResponseV1PtrOutput { + return o +} + +func (o FrontendIPConfigurationResponseV1PtrOutput) ToFrontendIPConfigurationResponseV1PtrOutputWithContext(ctx context.Context) FrontendIPConfigurationResponseV1PtrOutput { + return o +} + +func (o FrontendIPConfigurationResponseV1PtrOutput) Elem() FrontendIPConfigurationResponseV1Output { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) FrontendIPConfigurationResponseV1 { + if v != nil { + return *v + } + var ret FrontendIPConfigurationResponseV1 + return ret + }).(FrontendIPConfigurationResponseV1Output) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o FrontendIPConfigurationResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o FrontendIPConfigurationResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Read only. Inbound pools URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1PtrOutput) InboundNatPools() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) []SubResourceResponse { + if v == nil { + return nil + } + return v.InboundNatPools + }).(SubResourceResponseArrayOutput) +} + +// Read only. Inbound rules URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1PtrOutput) InboundNatRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) []SubResourceResponse { + if v == nil { + return nil + } + return v.InboundNatRules + }).(SubResourceResponseArrayOutput) +} + +// Gets load balancing rules URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1PtrOutput) LoadBalancingRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) []SubResourceResponse { + if v == nil { + return nil + } + return v.LoadBalancingRules + }).(SubResourceResponseArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o FrontendIPConfigurationResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Read only. Outbound rules URIs that use this frontend IP. +func (o FrontendIPConfigurationResponseV1PtrOutput) OutboundRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) []SubResourceResponse { + if v == nil { + return nil + } + return v.OutboundRules + }).(SubResourceResponseArrayOutput) +} + +// The private IP address of the IP configuration. +func (o FrontendIPConfigurationResponseV1PtrOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *string { + if v == nil { + return nil + } + return v.PrivateIPAddress + }).(pulumi.StringPtrOutput) +} + +// The Private IP allocation method. +func (o FrontendIPConfigurationResponseV1PtrOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *string { + if v == nil { + return nil + } + return v.PrivateIPAllocationMethod + }).(pulumi.StringPtrOutput) +} + +// Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o FrontendIPConfigurationResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// The reference of the Public IP resource. +func (o FrontendIPConfigurationResponseV1PtrOutput) PublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *PublicIPAddressResponse { + if v == nil { + return nil + } + return v.PublicIPAddress + }).(PublicIPAddressResponsePtrOutput) +} + +// The reference of the Public IP Prefix resource. +func (o FrontendIPConfigurationResponseV1PtrOutput) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIPPrefix + }).(SubResourceResponsePtrOutput) +} + +// The reference of the subnet resource. +func (o FrontendIPConfigurationResponseV1PtrOutput) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) *SubnetResponse { + if v == nil { + return nil + } + return v.Subnet + }).(SubnetResponsePtrOutput) +} + +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o FrontendIPConfigurationResponseV1PtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FrontendIPConfigurationResponseV1) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) +} + // GatewayCustomBgpIpAddressIpConfiguration for a virtual network gateway connection. type GatewayCustomBgpIpAddressIpConfiguration struct { // The custom BgpPeeringAddress which belongs to IpconfigurationId. @@ -39715,6 +42230,98 @@ func (o IPConfigurationProfileResponseArrayOutput) Index(i pulumi.IntInput) IPCo }).(IPConfigurationProfileResponseOutput) } +// IP configuration profile child resource. +type IPConfigurationProfileResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The name of the resource. This name can be used to access the resource. + Name *string `pulumi:"name"` + // The provisioning state of the resource. + ProvisioningState string `pulumi:"provisioningState"` + // The reference of the subnet resource to create a container network interface ip configuration. + Subnet *SubnetResponse `pulumi:"subnet"` + // Sub Resource type. + Type string `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for IPConfigurationProfileResponseV1 +func (val *IPConfigurationProfileResponseV1) Defaults() *IPConfigurationProfileResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// IP configuration profile child resource. +type IPConfigurationProfileResponseV1Output struct{ *pulumi.OutputState } + +func (IPConfigurationProfileResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*IPConfigurationProfileResponseV1)(nil)).Elem() +} + +func (o IPConfigurationProfileResponseV1Output) ToIPConfigurationProfileResponseV1Output() IPConfigurationProfileResponseV1Output { + return o +} + +func (o IPConfigurationProfileResponseV1Output) ToIPConfigurationProfileResponseV1OutputWithContext(ctx context.Context) IPConfigurationProfileResponseV1Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o IPConfigurationProfileResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationProfileResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o IPConfigurationProfileResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationProfileResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource. This name can be used to access the resource. +func (o IPConfigurationProfileResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationProfileResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. +func (o IPConfigurationProfileResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v IPConfigurationProfileResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The reference of the subnet resource to create a container network interface ip configuration. +func (o IPConfigurationProfileResponseV1Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v IPConfigurationProfileResponseV1) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} + +// Sub Resource type. +func (o IPConfigurationProfileResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v IPConfigurationProfileResponseV1) string { return v.Type }).(pulumi.StringOutput) +} + +type IPConfigurationProfileResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (IPConfigurationProfileResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IPConfigurationProfileResponseV1)(nil)).Elem() +} + +func (o IPConfigurationProfileResponseV1ArrayOutput) ToIPConfigurationProfileResponseV1ArrayOutput() IPConfigurationProfileResponseV1ArrayOutput { + return o +} + +func (o IPConfigurationProfileResponseV1ArrayOutput) ToIPConfigurationProfileResponseV1ArrayOutputWithContext(ctx context.Context) IPConfigurationProfileResponseV1ArrayOutput { + return o +} + +func (o IPConfigurationProfileResponseV1ArrayOutput) Index(i pulumi.IntInput) IPConfigurationProfileResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IPConfigurationProfileResponseV1 { + return vs[0].([]IPConfigurationProfileResponseV1)[vs[1].(int)] + }).(IPConfigurationProfileResponseV1Output) +} + // IP configuration. type IPConfigurationResponse struct { // A unique read-only string that changes whenever the resource is updated. @@ -39931,6 +42538,338 @@ func (o IPConfigurationResponseArrayOutput) Index(i pulumi.IntInput) IPConfigura }).(IPConfigurationResponseOutput) } +// IP configuration +type IPConfigurationResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The private IP address allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The reference of the public IP resource. + PublicIPAddress *PublicIPAddressResponseV1 `pulumi:"publicIPAddress"` + // The reference of the subnet resource. + Subnet *SubnetResponse `pulumi:"subnet"` +} + +// Defaults sets the appropriate defaults for IPConfigurationResponseV1 +func (val *IPConfigurationResponseV1) Defaults() *IPConfigurationResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.PublicIPAddress = tmp.PublicIPAddress.Defaults() + + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// IP configuration +type IPConfigurationResponseV1Output struct{ *pulumi.OutputState } + +func (IPConfigurationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*IPConfigurationResponseV1)(nil)).Elem() +} + +func (o IPConfigurationResponseV1Output) ToIPConfigurationResponseV1Output() IPConfigurationResponseV1Output { + return o +} + +func (o IPConfigurationResponseV1Output) ToIPConfigurationResponseV1OutputWithContext(ctx context.Context) IPConfigurationResponseV1Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o IPConfigurationResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o IPConfigurationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o IPConfigurationResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The private IP address of the IP configuration. +func (o IPConfigurationResponseV1Output) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The private IP address allocation method. +func (o IPConfigurationResponseV1Output) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o IPConfigurationResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The reference of the public IP resource. +func (o IPConfigurationResponseV1Output) PublicIPAddress() PublicIPAddressResponseV1PtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *PublicIPAddressResponseV1 { return v.PublicIPAddress }).(PublicIPAddressResponseV1PtrOutput) +} + +// The reference of the subnet resource. +func (o IPConfigurationResponseV1Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV1) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} + +type IPConfigurationResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (IPConfigurationResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IPConfigurationResponseV1)(nil)).Elem() +} + +func (o IPConfigurationResponseV1ArrayOutput) ToIPConfigurationResponseV1ArrayOutput() IPConfigurationResponseV1ArrayOutput { + return o +} + +func (o IPConfigurationResponseV1ArrayOutput) ToIPConfigurationResponseV1ArrayOutputWithContext(ctx context.Context) IPConfigurationResponseV1ArrayOutput { + return o +} + +func (o IPConfigurationResponseV1ArrayOutput) Index(i pulumi.IntInput) IPConfigurationResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IPConfigurationResponseV1 { + return vs[0].([]IPConfigurationResponseV1)[vs[1].(int)] + }).(IPConfigurationResponseV1Output) +} + +// IP configuration. +type IPConfigurationResponseV2 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The private IP address allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The provisioning state of the IP configuration resource. + ProvisioningState string `pulumi:"provisioningState"` + // The reference to the public IP resource. + PublicIPAddress *PublicIPAddressResponseV2 `pulumi:"publicIPAddress"` + // The reference to the subnet resource. + Subnet *SubnetResponse `pulumi:"subnet"` +} + +// Defaults sets the appropriate defaults for IPConfigurationResponseV2 +func (val *IPConfigurationResponseV2) Defaults() *IPConfigurationResponseV2 { + if val == nil { + return nil + } + tmp := *val + if tmp.PrivateIPAllocationMethod == nil { + privateIPAllocationMethod_ := "Dynamic" + tmp.PrivateIPAllocationMethod = &privateIPAllocationMethod_ + } + tmp.PublicIPAddress = tmp.PublicIPAddress.Defaults() + + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// IP configuration. +type IPConfigurationResponseV2Output struct{ *pulumi.OutputState } + +func (IPConfigurationResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*IPConfigurationResponseV2)(nil)).Elem() +} + +func (o IPConfigurationResponseV2Output) ToIPConfigurationResponseV2Output() IPConfigurationResponseV2Output { + return o +} + +func (o IPConfigurationResponseV2Output) ToIPConfigurationResponseV2OutputWithContext(ctx context.Context) IPConfigurationResponseV2Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o IPConfigurationResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o IPConfigurationResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o IPConfigurationResponseV2Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The private IP address of the IP configuration. +func (o IPConfigurationResponseV2Output) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The private IP address allocation method. +func (o IPConfigurationResponseV2Output) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the IP configuration resource. +func (o IPConfigurationResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The reference to the public IP resource. +func (o IPConfigurationResponseV2Output) PublicIPAddress() PublicIPAddressResponseV2PtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) *PublicIPAddressResponseV2 { return v.PublicIPAddress }).(PublicIPAddressResponseV2PtrOutput) +} + +// The reference to the subnet resource. +func (o IPConfigurationResponseV2Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV2) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} + +type IPConfigurationResponseV2ArrayOutput struct{ *pulumi.OutputState } + +func (IPConfigurationResponseV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IPConfigurationResponseV2)(nil)).Elem() +} + +func (o IPConfigurationResponseV2ArrayOutput) ToIPConfigurationResponseV2ArrayOutput() IPConfigurationResponseV2ArrayOutput { + return o +} + +func (o IPConfigurationResponseV2ArrayOutput) ToIPConfigurationResponseV2ArrayOutputWithContext(ctx context.Context) IPConfigurationResponseV2ArrayOutput { + return o +} + +func (o IPConfigurationResponseV2ArrayOutput) Index(i pulumi.IntInput) IPConfigurationResponseV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IPConfigurationResponseV2 { + return vs[0].([]IPConfigurationResponseV2)[vs[1].(int)] + }).(IPConfigurationResponseV2Output) +} + +// IP configuration. +type IPConfigurationResponseV3 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The private IP address allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The provisioning state of the IP configuration resource. + ProvisioningState string `pulumi:"provisioningState"` + // The reference to the public IP resource. + PublicIPAddress *PublicIPAddressResponseV3 `pulumi:"publicIPAddress"` + // The reference to the subnet resource. + Subnet *SubnetResponse `pulumi:"subnet"` +} + +// Defaults sets the appropriate defaults for IPConfigurationResponseV3 +func (val *IPConfigurationResponseV3) Defaults() *IPConfigurationResponseV3 { + if val == nil { + return nil + } + tmp := *val + if tmp.PrivateIPAllocationMethod == nil { + privateIPAllocationMethod_ := "Dynamic" + tmp.PrivateIPAllocationMethod = &privateIPAllocationMethod_ + } + tmp.PublicIPAddress = tmp.PublicIPAddress.Defaults() + + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// IP configuration. +type IPConfigurationResponseV3Output struct{ *pulumi.OutputState } + +func (IPConfigurationResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*IPConfigurationResponseV3)(nil)).Elem() +} + +func (o IPConfigurationResponseV3Output) ToIPConfigurationResponseV3Output() IPConfigurationResponseV3Output { + return o +} + +func (o IPConfigurationResponseV3Output) ToIPConfigurationResponseV3OutputWithContext(ctx context.Context) IPConfigurationResponseV3Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o IPConfigurationResponseV3Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o IPConfigurationResponseV3Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o IPConfigurationResponseV3Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The private IP address of the IP configuration. +func (o IPConfigurationResponseV3Output) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The private IP address allocation method. +func (o IPConfigurationResponseV3Output) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the IP configuration resource. +func (o IPConfigurationResponseV3Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The reference to the public IP resource. +func (o IPConfigurationResponseV3Output) PublicIPAddress() PublicIPAddressResponseV3PtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) *PublicIPAddressResponseV3 { return v.PublicIPAddress }).(PublicIPAddressResponseV3PtrOutput) +} + +// The reference to the subnet resource. +func (o IPConfigurationResponseV3Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v IPConfigurationResponseV3) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} + +type IPConfigurationResponseV3ArrayOutput struct{ *pulumi.OutputState } + +func (IPConfigurationResponseV3ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IPConfigurationResponseV3)(nil)).Elem() +} + +func (o IPConfigurationResponseV3ArrayOutput) ToIPConfigurationResponseV3ArrayOutput() IPConfigurationResponseV3ArrayOutput { + return o +} + +func (o IPConfigurationResponseV3ArrayOutput) ToIPConfigurationResponseV3ArrayOutputWithContext(ctx context.Context) IPConfigurationResponseV3ArrayOutput { + return o +} + +func (o IPConfigurationResponseV3ArrayOutput) Index(i pulumi.IntInput) IPConfigurationResponseV3Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IPConfigurationResponseV3 { + return vs[0].([]IPConfigurationResponseV3)[vs[1].(int)] + }).(IPConfigurationResponseV3Output) +} + type IPRule struct { // Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. AddressPrefix *string `pulumi:"addressPrefix"` @@ -40886,6 +43825,142 @@ func (o InboundNatRuleResponseArrayOutput) Index(i pulumi.IntInput) InboundNatRu }).(InboundNatRuleResponseOutput) } +// Inbound NAT rule of the load balancer. +type InboundNatRuleResponseV1 struct { + // A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP. + BackendIPConfiguration NetworkInterfaceIPConfigurationResponse `pulumi:"backendIPConfiguration"` + // The port used for the internal endpoint. Acceptable values range from 1 to 65535. + BackendPort *int `pulumi:"backendPort"` + // Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `pulumi:"enableFloatingIP"` + // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTcpReset *bool `pulumi:"enableTcpReset"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // A reference to frontend IP addresses. + FrontendIPConfiguration *SubResourceResponse `pulumi:"frontendIPConfiguration"` + // The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. + FrontendPort *int `pulumi:"frontendPort"` + // Resource ID. + Id *string `pulumi:"id"` + // The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // Gets 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 reference to the transport protocol used by the load balancing rule. + Protocol *string `pulumi:"protocol"` + // Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` +} + +// Defaults sets the appropriate defaults for InboundNatRuleResponseV1 +func (val *InboundNatRuleResponseV1) Defaults() *InboundNatRuleResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.BackendIPConfiguration = *tmp.BackendIPConfiguration.Defaults() + + return &tmp +} + +// Inbound NAT rule of the load balancer. +type InboundNatRuleResponseV1Output struct{ *pulumi.OutputState } + +func (InboundNatRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*InboundNatRuleResponseV1)(nil)).Elem() +} + +func (o InboundNatRuleResponseV1Output) ToInboundNatRuleResponseV1Output() InboundNatRuleResponseV1Output { + return o +} + +func (o InboundNatRuleResponseV1Output) ToInboundNatRuleResponseV1OutputWithContext(ctx context.Context) InboundNatRuleResponseV1Output { + return o +} + +// A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP. +func (o InboundNatRuleResponseV1Output) BackendIPConfiguration() NetworkInterfaceIPConfigurationResponseOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) NetworkInterfaceIPConfigurationResponse { + return v.BackendIPConfiguration + }).(NetworkInterfaceIPConfigurationResponseOutput) +} + +// The port used for the internal endpoint. Acceptable values range from 1 to 65535. +func (o InboundNatRuleResponseV1Output) BackendPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *int { return v.BackendPort }).(pulumi.IntPtrOutput) +} + +// Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. +func (o InboundNatRuleResponseV1Output) EnableFloatingIP() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *bool { return v.EnableFloatingIP }).(pulumi.BoolPtrOutput) +} + +// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. +func (o InboundNatRuleResponseV1Output) EnableTcpReset() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *bool { return v.EnableTcpReset }).(pulumi.BoolPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o InboundNatRuleResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// A reference to frontend IP addresses. +func (o InboundNatRuleResponseV1Output) FrontendIPConfiguration() SubResourceResponsePtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *SubResourceResponse { return v.FrontendIPConfiguration }).(SubResourceResponsePtrOutput) +} + +// The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. +func (o InboundNatRuleResponseV1Output) FrontendPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *int { return v.FrontendPort }).(pulumi.IntPtrOutput) +} + +// Resource ID. +func (o InboundNatRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. +func (o InboundNatRuleResponseV1Output) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +// Gets name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o InboundNatRuleResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The reference to the transport protocol used by the load balancing rule. +func (o InboundNatRuleResponseV1Output) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o InboundNatRuleResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v InboundNatRuleResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +type InboundNatRuleResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (InboundNatRuleResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InboundNatRuleResponseV1)(nil)).Elem() +} + +func (o InboundNatRuleResponseV1ArrayOutput) ToInboundNatRuleResponseV1ArrayOutput() InboundNatRuleResponseV1ArrayOutput { + return o +} + +func (o InboundNatRuleResponseV1ArrayOutput) ToInboundNatRuleResponseV1ArrayOutputWithContext(ctx context.Context) InboundNatRuleResponseV1ArrayOutput { + return o +} + +func (o InboundNatRuleResponseV1ArrayOutput) Index(i pulumi.IntInput) InboundNatRuleResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InboundNatRuleResponseV1 { + return vs[0].([]InboundNatRuleResponseV1)[vs[1].(int)] + }).(InboundNatRuleResponseV1Output) +} + // Intent information. type IntentContentResponse struct { Description *string `pulumi:"description"` @@ -40952,24 +44027,13 @@ type InterfaceEndpointResponse struct { // The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState string `pulumi:"provisioningState"` // The ID of the subnet from which the private IP will be allocated. - Subnet *SubnetResponse `pulumi:"subnet"` + Subnet *SubnetResponseV1 `pulumi:"subnet"` // Resource tags. Tags map[string]string `pulumi:"tags"` // Resource type. Type string `pulumi:"type"` } -// Defaults sets the appropriate defaults for InterfaceEndpointResponse -func (val *InterfaceEndpointResponse) Defaults() *InterfaceEndpointResponse { - if val == nil { - return nil - } - tmp := *val - tmp.Subnet = tmp.Subnet.Defaults() - - return &tmp -} - // Interface endpoint resource. type InterfaceEndpointResponseOutput struct{ *pulumi.OutputState } @@ -41031,8 +44095,8 @@ func (o InterfaceEndpointResponseOutput) ProvisioningState() pulumi.StringOutput } // The ID of the subnet from which the private IP will be allocated. -func (o InterfaceEndpointResponseOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v InterfaceEndpointResponse) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +func (o InterfaceEndpointResponseOutput) Subnet() SubnetResponseV1PtrOutput { + return o.ApplyT(func(v InterfaceEndpointResponse) *SubnetResponseV1 { return v.Subnet }).(SubnetResponseV1PtrOutput) } // Resource tags. @@ -41045,150 +44109,6 @@ func (o InterfaceEndpointResponseOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v InterfaceEndpointResponse) string { return v.Type }).(pulumi.StringOutput) } -type InterfaceEndpointResponsePtrOutput struct{ *pulumi.OutputState } - -func (InterfaceEndpointResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InterfaceEndpointResponse)(nil)).Elem() -} - -func (o InterfaceEndpointResponsePtrOutput) ToInterfaceEndpointResponsePtrOutput() InterfaceEndpointResponsePtrOutput { - return o -} - -func (o InterfaceEndpointResponsePtrOutput) ToInterfaceEndpointResponsePtrOutputWithContext(ctx context.Context) InterfaceEndpointResponsePtrOutput { - return o -} - -func (o InterfaceEndpointResponsePtrOutput) Elem() InterfaceEndpointResponseOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) InterfaceEndpointResponse { - if v != nil { - return *v - } - var ret InterfaceEndpointResponse - return ret - }).(InterfaceEndpointResponseOutput) -} - -// A reference to the service being brought into the virtual network. -func (o InterfaceEndpointResponsePtrOutput) EndpointService() EndpointServiceResponsePtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *EndpointServiceResponse { - if v == nil { - return nil - } - return v.EndpointService - }).(EndpointServiceResponsePtrOutput) -} - -// Gets a unique read-only string that changes whenever the resource is updated. -func (o InterfaceEndpointResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return v.Etag - }).(pulumi.StringPtrOutput) -} - -// A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint. -func (o InterfaceEndpointResponsePtrOutput) Fqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return v.Fqdn - }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o InterfaceEndpointResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) -} - -// Resource location. -func (o InterfaceEndpointResponsePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) -} - -// Resource name. -func (o InterfaceEndpointResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return &v.Name - }).(pulumi.StringPtrOutput) -} - -// Gets an array of references to the network interfaces created for this interface endpoint. -func (o InterfaceEndpointResponsePtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) []NetworkInterfaceResponse { - if v == nil { - return nil - } - return v.NetworkInterfaces - }).(NetworkInterfaceResponseArrayOutput) -} - -// A read-only property that identifies who created this interface endpoint. -func (o InterfaceEndpointResponsePtrOutput) Owner() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return &v.Owner - }).(pulumi.StringPtrOutput) -} - -// The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o InterfaceEndpointResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return &v.ProvisioningState - }).(pulumi.StringPtrOutput) -} - -// The ID of the subnet from which the private IP will be allocated. -func (o InterfaceEndpointResponsePtrOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *SubnetResponse { - if v == nil { - return nil - } - return v.Subnet - }).(SubnetResponsePtrOutput) -} - -// Resource tags. -func (o InterfaceEndpointResponsePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) -} - -// Resource type. -func (o InterfaceEndpointResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InterfaceEndpointResponse) *string { - if v == nil { - return nil - } - return &v.Type - }).(pulumi.StringPtrOutput) -} - type InterfaceEndpointResponseArrayOutput struct{ *pulumi.OutputState } func (InterfaceEndpointResponseArrayOutput) ElementType() reflect.Type { @@ -45636,9 +48556,290 @@ type NatGatewayResponse struct { ProvisioningState string `pulumi:"provisioningState"` // An array of public ip addresses associated with the nat gateway resource. PublicIpAddresses []SubResourceResponse `pulumi:"publicIpAddresses"` + // An array of public ip prefixes associated with the nat gateway resource. + PublicIpPrefixes []SubResourceResponse `pulumi:"publicIpPrefixes"` + // The resource GUID property of the NAT gateway resource. + ResourceGuid string `pulumi:"resourceGuid"` + // The nat gateway SKU. + Sku *NatGatewaySkuResponse `pulumi:"sku"` + // An array of references to the subnets using this nat gateway resource. + Subnets []SubResourceResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // A list of availability zones denoting the zone in which Nat Gateway should be deployed. + Zones []string `pulumi:"zones"` +} + +// Nat Gateway resource. +type NatGatewayResponseOutput struct{ *pulumi.OutputState } + +func (NatGatewayResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayResponse)(nil)).Elem() +} + +func (o NatGatewayResponseOutput) ToNatGatewayResponseOutput() NatGatewayResponseOutput { + return o +} + +func (o NatGatewayResponseOutput) ToNatGatewayResponseOutputWithContext(ctx context.Context) NatGatewayResponseOutput { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o NatGatewayResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o NatGatewayResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The idle timeout of the nat gateway. +func (o NatGatewayResponseOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v NatGatewayResponse) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +// Resource location. +func (o NatGatewayResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o NatGatewayResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the NAT gateway resource. +func (o NatGatewayResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// An array of public ip addresses associated with the nat gateway resource. +func (o NatGatewayResponseOutput) PublicIpAddresses() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.PublicIpAddresses }).(SubResourceResponseArrayOutput) +} + +// An array of public ip prefixes associated with the nat gateway resource. +func (o NatGatewayResponseOutput) PublicIpPrefixes() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.PublicIpPrefixes }).(SubResourceResponseArrayOutput) +} + +// The resource GUID property of the NAT gateway resource. +func (o NatGatewayResponseOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// The nat gateway SKU. +func (o NatGatewayResponseOutput) Sku() NatGatewaySkuResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponse) *NatGatewaySkuResponse { return v.Sku }).(NatGatewaySkuResponsePtrOutput) +} + +// An array of references to the subnets using this nat gateway resource. +func (o NatGatewayResponseOutput) Subnets() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.Subnets }).(SubResourceResponseArrayOutput) +} + +// Resource tags. +func (o NatGatewayResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NatGatewayResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o NatGatewayResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponse) string { return v.Type }).(pulumi.StringOutput) +} + +// A list of availability zones denoting the zone in which Nat Gateway should be deployed. +func (o NatGatewayResponseOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v NatGatewayResponse) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +type NatGatewayResponsePtrOutput struct{ *pulumi.OutputState } + +func (NatGatewayResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NatGatewayResponse)(nil)).Elem() +} + +func (o NatGatewayResponsePtrOutput) ToNatGatewayResponsePtrOutput() NatGatewayResponsePtrOutput { + return o +} + +func (o NatGatewayResponsePtrOutput) ToNatGatewayResponsePtrOutputWithContext(ctx context.Context) NatGatewayResponsePtrOutput { + return o +} + +func (o NatGatewayResponsePtrOutput) Elem() NatGatewayResponseOutput { + return o.ApplyT(func(v *NatGatewayResponse) NatGatewayResponse { + if v != nil { + return *v + } + var ret NatGatewayResponse + return ret + }).(NatGatewayResponseOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o NatGatewayResponsePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o NatGatewayResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The idle timeout of the nat gateway. +func (o NatGatewayResponsePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + +// Resource location. +func (o NatGatewayResponsePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o NatGatewayResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the NAT gateway resource. +func (o NatGatewayResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// An array of public ip addresses associated with the nat gateway resource. +func (o NatGatewayResponsePtrOutput) PublicIpAddresses() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIpAddresses + }).(SubResourceResponseArrayOutput) +} + +// An array of public ip prefixes associated with the nat gateway resource. +func (o NatGatewayResponsePtrOutput) PublicIpPrefixes() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIpPrefixes + }).(SubResourceResponseArrayOutput) +} + +// The resource GUID property of the NAT gateway resource. +func (o NatGatewayResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) +} + +// The nat gateway SKU. +func (o NatGatewayResponsePtrOutput) Sku() NatGatewaySkuResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *NatGatewaySkuResponse { + if v == nil { + return nil + } + return v.Sku + }).(NatGatewaySkuResponsePtrOutput) +} + +// An array of references to the subnets using this nat gateway resource. +func (o NatGatewayResponsePtrOutput) Subnets() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubResourceResponseArrayOutput) +} + +// Resource tags. +func (o NatGatewayResponsePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NatGatewayResponse) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o NatGatewayResponsePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponse) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// A list of availability zones denoting the zone in which Nat Gateway should be deployed. +func (o NatGatewayResponsePtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NatGatewayResponse) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) +} + +// Nat Gateway resource. +type NatGatewayResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The idle timeout of the nat gateway. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the NAT gateway resource. + ProvisioningState string `pulumi:"provisioningState"` + // An array of public ip addresses V4 associated with the nat gateway resource. + PublicIpAddresses []SubResourceResponse `pulumi:"publicIpAddresses"` // An array of public ip addresses V6 associated with the nat gateway resource. PublicIpAddressesV6 []SubResourceResponse `pulumi:"publicIpAddressesV6"` - // An array of public ip prefixes associated with the nat gateway resource. + // An array of public ip prefixes V4 associated with the nat gateway resource. PublicIpPrefixes []SubResourceResponse `pulumi:"publicIpPrefixes"` // An array of public ip prefixes V6 associated with the nat gateway resource. PublicIpPrefixesV6 []SubResourceResponse `pulumi:"publicIpPrefixesV6"` @@ -45661,137 +48862,137 @@ type NatGatewayResponse struct { } // Nat Gateway resource. -type NatGatewayResponseOutput struct{ *pulumi.OutputState } +type NatGatewayResponseV1Output struct{ *pulumi.OutputState } -func (NatGatewayResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NatGatewayResponse)(nil)).Elem() +func (NatGatewayResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayResponseV1)(nil)).Elem() } -func (o NatGatewayResponseOutput) ToNatGatewayResponseOutput() NatGatewayResponseOutput { +func (o NatGatewayResponseV1Output) ToNatGatewayResponseV1Output() NatGatewayResponseV1Output { return o } -func (o NatGatewayResponseOutput) ToNatGatewayResponseOutputWithContext(ctx context.Context) NatGatewayResponseOutput { +func (o NatGatewayResponseV1Output) ToNatGatewayResponseV1OutputWithContext(ctx context.Context) NatGatewayResponseV1Output { return o } // A unique read-only string that changes whenever the resource is updated. -func (o NatGatewayResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v NatGatewayResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o NatGatewayResponseV1Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV1) string { return v.Etag }).(pulumi.StringOutput) } // Resource ID. -func (o NatGatewayResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NatGatewayResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NatGatewayResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) } // The idle timeout of the nat gateway. -func (o NatGatewayResponseOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v NatGatewayResponse) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +func (o NatGatewayResponseV1Output) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v NatGatewayResponseV1) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } // Resource location. -func (o NatGatewayResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v NatGatewayResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +func (o NatGatewayResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) } // Resource name. -func (o NatGatewayResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v NatGatewayResponse) string { return v.Name }).(pulumi.StringOutput) +func (o NatGatewayResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV1) string { return v.Name }).(pulumi.StringOutput) } // The provisioning state of the NAT gateway resource. -func (o NatGatewayResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v NatGatewayResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +func (o NatGatewayResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// An array of public ip addresses associated with the nat gateway resource. -func (o NatGatewayResponseOutput) PublicIpAddresses() SubResourceResponseArrayOutput { - return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.PublicIpAddresses }).(SubResourceResponseArrayOutput) +// An array of public ip addresses V4 associated with the nat gateway resource. +func (o NatGatewayResponseV1Output) PublicIpAddresses() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV1) []SubResourceResponse { return v.PublicIpAddresses }).(SubResourceResponseArrayOutput) } // An array of public ip addresses V6 associated with the nat gateway resource. -func (o NatGatewayResponseOutput) PublicIpAddressesV6() SubResourceResponseArrayOutput { - return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.PublicIpAddressesV6 }).(SubResourceResponseArrayOutput) +func (o NatGatewayResponseV1Output) PublicIpAddressesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV1) []SubResourceResponse { return v.PublicIpAddressesV6 }).(SubResourceResponseArrayOutput) } -// An array of public ip prefixes associated with the nat gateway resource. -func (o NatGatewayResponseOutput) PublicIpPrefixes() SubResourceResponseArrayOutput { - return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.PublicIpPrefixes }).(SubResourceResponseArrayOutput) +// An array of public ip prefixes V4 associated with the nat gateway resource. +func (o NatGatewayResponseV1Output) PublicIpPrefixes() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV1) []SubResourceResponse { return v.PublicIpPrefixes }).(SubResourceResponseArrayOutput) } // An array of public ip prefixes V6 associated with the nat gateway resource. -func (o NatGatewayResponseOutput) PublicIpPrefixesV6() SubResourceResponseArrayOutput { - return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.PublicIpPrefixesV6 }).(SubResourceResponseArrayOutput) +func (o NatGatewayResponseV1Output) PublicIpPrefixesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV1) []SubResourceResponse { return v.PublicIpPrefixesV6 }).(SubResourceResponseArrayOutput) } // The resource GUID property of the NAT gateway resource. -func (o NatGatewayResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v NatGatewayResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +func (o NatGatewayResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) } // Reference to an existing service gateway. -func (o NatGatewayResponseOutput) ServiceGateway() SubResourceResponsePtrOutput { - return o.ApplyT(func(v NatGatewayResponse) *SubResourceResponse { return v.ServiceGateway }).(SubResourceResponsePtrOutput) +func (o NatGatewayResponseV1Output) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponseV1) *SubResourceResponse { return v.ServiceGateway }).(SubResourceResponsePtrOutput) } // The nat gateway SKU. -func (o NatGatewayResponseOutput) Sku() NatGatewaySkuResponsePtrOutput { - return o.ApplyT(func(v NatGatewayResponse) *NatGatewaySkuResponse { return v.Sku }).(NatGatewaySkuResponsePtrOutput) +func (o NatGatewayResponseV1Output) Sku() NatGatewaySkuResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponseV1) *NatGatewaySkuResponse { return v.Sku }).(NatGatewaySkuResponsePtrOutput) } // A reference to the source virtual network using this nat gateway resource. -func (o NatGatewayResponseOutput) SourceVirtualNetwork() SubResourceResponsePtrOutput { - return o.ApplyT(func(v NatGatewayResponse) *SubResourceResponse { return v.SourceVirtualNetwork }).(SubResourceResponsePtrOutput) +func (o NatGatewayResponseV1Output) SourceVirtualNetwork() SubResourceResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponseV1) *SubResourceResponse { return v.SourceVirtualNetwork }).(SubResourceResponsePtrOutput) } // An array of references to the subnets using this nat gateway resource. -func (o NatGatewayResponseOutput) Subnets() SubResourceResponseArrayOutput { - return o.ApplyT(func(v NatGatewayResponse) []SubResourceResponse { return v.Subnets }).(SubResourceResponseArrayOutput) +func (o NatGatewayResponseV1Output) Subnets() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV1) []SubResourceResponse { return v.Subnets }).(SubResourceResponseArrayOutput) } // Resource tags. -func (o NatGatewayResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v NatGatewayResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o NatGatewayResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NatGatewayResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } // Resource type. -func (o NatGatewayResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v NatGatewayResponse) string { return v.Type }).(pulumi.StringOutput) +func (o NatGatewayResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV1) string { return v.Type }).(pulumi.StringOutput) } // A list of availability zones denoting the zone in which Nat Gateway should be deployed. -func (o NatGatewayResponseOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v NatGatewayResponse) []string { return v.Zones }).(pulumi.StringArrayOutput) +func (o NatGatewayResponseV1Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV1) []string { return v.Zones }).(pulumi.StringArrayOutput) } -type NatGatewayResponsePtrOutput struct{ *pulumi.OutputState } +type NatGatewayResponseV1PtrOutput struct{ *pulumi.OutputState } -func (NatGatewayResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NatGatewayResponse)(nil)).Elem() +func (NatGatewayResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NatGatewayResponseV1)(nil)).Elem() } -func (o NatGatewayResponsePtrOutput) ToNatGatewayResponsePtrOutput() NatGatewayResponsePtrOutput { +func (o NatGatewayResponseV1PtrOutput) ToNatGatewayResponseV1PtrOutput() NatGatewayResponseV1PtrOutput { return o } -func (o NatGatewayResponsePtrOutput) ToNatGatewayResponsePtrOutputWithContext(ctx context.Context) NatGatewayResponsePtrOutput { +func (o NatGatewayResponseV1PtrOutput) ToNatGatewayResponseV1PtrOutputWithContext(ctx context.Context) NatGatewayResponseV1PtrOutput { return o } -func (o NatGatewayResponsePtrOutput) Elem() NatGatewayResponseOutput { - return o.ApplyT(func(v *NatGatewayResponse) NatGatewayResponse { +func (o NatGatewayResponseV1PtrOutput) Elem() NatGatewayResponseV1Output { + return o.ApplyT(func(v *NatGatewayResponseV1) NatGatewayResponseV1 { if v != nil { return *v } - var ret NatGatewayResponse + var ret NatGatewayResponseV1 return ret - }).(NatGatewayResponseOutput) + }).(NatGatewayResponseV1Output) } // A unique read-only string that changes whenever the resource is updated. -func (o NatGatewayResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45800,8 +49001,8 @@ func (o NatGatewayResponsePtrOutput) Etag() pulumi.StringPtrOutput { } // Resource ID. -func (o NatGatewayResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45810,8 +49011,8 @@ func (o NatGatewayResponsePtrOutput) Id() pulumi.StringPtrOutput { } // The idle timeout of the nat gateway. -func (o NatGatewayResponsePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *int { +func (o NatGatewayResponseV1PtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *int { if v == nil { return nil } @@ -45820,8 +49021,8 @@ func (o NatGatewayResponsePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput } // Resource location. -func (o NatGatewayResponsePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45830,8 +49031,8 @@ func (o NatGatewayResponsePtrOutput) Location() pulumi.StringPtrOutput { } // Resource name. -func (o NatGatewayResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45840,8 +49041,8 @@ func (o NatGatewayResponsePtrOutput) Name() pulumi.StringPtrOutput { } // The provisioning state of the NAT gateway resource. -func (o NatGatewayResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45849,9 +49050,9 @@ func (o NatGatewayResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -// An array of public ip addresses associated with the nat gateway resource. -func (o NatGatewayResponsePtrOutput) PublicIpAddresses() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { +// An array of public ip addresses V4 associated with the nat gateway resource. +func (o NatGatewayResponseV1PtrOutput) PublicIpAddresses() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) []SubResourceResponse { if v == nil { return nil } @@ -45860,8 +49061,8 @@ func (o NatGatewayResponsePtrOutput) PublicIpAddresses() SubResourceResponseArra } // An array of public ip addresses V6 associated with the nat gateway resource. -func (o NatGatewayResponsePtrOutput) PublicIpAddressesV6() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { +func (o NatGatewayResponseV1PtrOutput) PublicIpAddressesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) []SubResourceResponse { if v == nil { return nil } @@ -45869,9 +49070,9 @@ func (o NatGatewayResponsePtrOutput) PublicIpAddressesV6() SubResourceResponseAr }).(SubResourceResponseArrayOutput) } -// An array of public ip prefixes associated with the nat gateway resource. -func (o NatGatewayResponsePtrOutput) PublicIpPrefixes() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { +// An array of public ip prefixes V4 associated with the nat gateway resource. +func (o NatGatewayResponseV1PtrOutput) PublicIpPrefixes() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) []SubResourceResponse { if v == nil { return nil } @@ -45880,8 +49081,8 @@ func (o NatGatewayResponsePtrOutput) PublicIpPrefixes() SubResourceResponseArray } // An array of public ip prefixes V6 associated with the nat gateway resource. -func (o NatGatewayResponsePtrOutput) PublicIpPrefixesV6() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { +func (o NatGatewayResponseV1PtrOutput) PublicIpPrefixesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) []SubResourceResponse { if v == nil { return nil } @@ -45890,8 +49091,8 @@ func (o NatGatewayResponsePtrOutput) PublicIpPrefixesV6() SubResourceResponseArr } // The resource GUID property of the NAT gateway resource. -func (o NatGatewayResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45900,8 +49101,8 @@ func (o NatGatewayResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { } // Reference to an existing service gateway. -func (o NatGatewayResponsePtrOutput) ServiceGateway() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *SubResourceResponse { +func (o NatGatewayResponseV1PtrOutput) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *SubResourceResponse { if v == nil { return nil } @@ -45910,8 +49111,8 @@ func (o NatGatewayResponsePtrOutput) ServiceGateway() SubResourceResponsePtrOutp } // The nat gateway SKU. -func (o NatGatewayResponsePtrOutput) Sku() NatGatewaySkuResponsePtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *NatGatewaySkuResponse { +func (o NatGatewayResponseV1PtrOutput) Sku() NatGatewaySkuResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *NatGatewaySkuResponse { if v == nil { return nil } @@ -45920,8 +49121,8 @@ func (o NatGatewayResponsePtrOutput) Sku() NatGatewaySkuResponsePtrOutput { } // A reference to the source virtual network using this nat gateway resource. -func (o NatGatewayResponsePtrOutput) SourceVirtualNetwork() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *SubResourceResponse { +func (o NatGatewayResponseV1PtrOutput) SourceVirtualNetwork() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *SubResourceResponse { if v == nil { return nil } @@ -45930,8 +49131,8 @@ func (o NatGatewayResponsePtrOutput) SourceVirtualNetwork() SubResourceResponseP } // An array of references to the subnets using this nat gateway resource. -func (o NatGatewayResponsePtrOutput) Subnets() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *NatGatewayResponse) []SubResourceResponse { +func (o NatGatewayResponseV1PtrOutput) Subnets() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) []SubResourceResponse { if v == nil { return nil } @@ -45940,8 +49141,8 @@ func (o NatGatewayResponsePtrOutput) Subnets() SubResourceResponseArrayOutput { } // Resource tags. -func (o NatGatewayResponsePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *NatGatewayResponse) map[string]string { +func (o NatGatewayResponseV1PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) map[string]string { if v == nil { return nil } @@ -45950,8 +49151,8 @@ func (o NatGatewayResponsePtrOutput) Tags() pulumi.StringMapOutput { } // Resource type. -func (o NatGatewayResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayResponse) *string { +func (o NatGatewayResponseV1PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) *string { if v == nil { return nil } @@ -45960,8 +49161,357 @@ func (o NatGatewayResponsePtrOutput) Type() pulumi.StringPtrOutput { } // A list of availability zones denoting the zone in which Nat Gateway should be deployed. -func (o NatGatewayResponsePtrOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NatGatewayResponse) []string { +func (o NatGatewayResponseV1PtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV1) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) +} + +// Nat Gateway resource. +type NatGatewayResponseV2 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The idle timeout of the nat gateway. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the NAT gateway resource. + ProvisioningState string `pulumi:"provisioningState"` + // An array of public ip addresses V4 associated with the nat gateway resource. + PublicIpAddresses []SubResourceResponse `pulumi:"publicIpAddresses"` + // An array of public ip addresses V6 associated with the nat gateway resource. + PublicIpAddressesV6 []SubResourceResponse `pulumi:"publicIpAddressesV6"` + // An array of public ip prefixes V4 associated with the nat gateway resource. + PublicIpPrefixes []SubResourceResponse `pulumi:"publicIpPrefixes"` + // An array of public ip prefixes V6 associated with the nat gateway resource. + PublicIpPrefixesV6 []SubResourceResponse `pulumi:"publicIpPrefixesV6"` + // The resource GUID property of the NAT gateway resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Reference to an existing service gateway. + ServiceGateway *SubResourceResponse `pulumi:"serviceGateway"` + // The nat gateway SKU. + Sku *NatGatewaySkuResponse `pulumi:"sku"` + // A reference to the source virtual network using this nat gateway resource. + SourceVirtualNetwork *SubResourceResponse `pulumi:"sourceVirtualNetwork"` + // An array of references to the subnets using this nat gateway resource. + Subnets []SubResourceResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // A list of availability zones denoting the zone in which Nat Gateway should be deployed. + Zones []string `pulumi:"zones"` +} + +// Nat Gateway resource. +type NatGatewayResponseV2Output struct{ *pulumi.OutputState } + +func (NatGatewayResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayResponseV2)(nil)).Elem() +} + +func (o NatGatewayResponseV2Output) ToNatGatewayResponseV2Output() NatGatewayResponseV2Output { + return o +} + +func (o NatGatewayResponseV2Output) ToNatGatewayResponseV2OutputWithContext(ctx context.Context) NatGatewayResponseV2Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o NatGatewayResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV2) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o NatGatewayResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The idle timeout of the nat gateway. +func (o NatGatewayResponseV2Output) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v NatGatewayResponseV2) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +// Resource location. +func (o NatGatewayResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o NatGatewayResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV2) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the NAT gateway resource. +func (o NatGatewayResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// An array of public ip addresses V4 associated with the nat gateway resource. +func (o NatGatewayResponseV2Output) PublicIpAddresses() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV2) []SubResourceResponse { return v.PublicIpAddresses }).(SubResourceResponseArrayOutput) +} + +// An array of public ip addresses V6 associated with the nat gateway resource. +func (o NatGatewayResponseV2Output) PublicIpAddressesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV2) []SubResourceResponse { return v.PublicIpAddressesV6 }).(SubResourceResponseArrayOutput) +} + +// An array of public ip prefixes V4 associated with the nat gateway resource. +func (o NatGatewayResponseV2Output) PublicIpPrefixes() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV2) []SubResourceResponse { return v.PublicIpPrefixes }).(SubResourceResponseArrayOutput) +} + +// An array of public ip prefixes V6 associated with the nat gateway resource. +func (o NatGatewayResponseV2Output) PublicIpPrefixesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV2) []SubResourceResponse { return v.PublicIpPrefixesV6 }).(SubResourceResponseArrayOutput) +} + +// The resource GUID property of the NAT gateway resource. +func (o NatGatewayResponseV2Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV2) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Reference to an existing service gateway. +func (o NatGatewayResponseV2Output) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponseV2) *SubResourceResponse { return v.ServiceGateway }).(SubResourceResponsePtrOutput) +} + +// The nat gateway SKU. +func (o NatGatewayResponseV2Output) Sku() NatGatewaySkuResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponseV2) *NatGatewaySkuResponse { return v.Sku }).(NatGatewaySkuResponsePtrOutput) +} + +// A reference to the source virtual network using this nat gateway resource. +func (o NatGatewayResponseV2Output) SourceVirtualNetwork() SubResourceResponsePtrOutput { + return o.ApplyT(func(v NatGatewayResponseV2) *SubResourceResponse { return v.SourceVirtualNetwork }).(SubResourceResponsePtrOutput) +} + +// An array of references to the subnets using this nat gateway resource. +func (o NatGatewayResponseV2Output) Subnets() SubResourceResponseArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV2) []SubResourceResponse { return v.Subnets }).(SubResourceResponseArrayOutput) +} + +// Resource tags. +func (o NatGatewayResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NatGatewayResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o NatGatewayResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NatGatewayResponseV2) string { return v.Type }).(pulumi.StringOutput) +} + +// A list of availability zones denoting the zone in which Nat Gateway should be deployed. +func (o NatGatewayResponseV2Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v NatGatewayResponseV2) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +type NatGatewayResponseV2PtrOutput struct{ *pulumi.OutputState } + +func (NatGatewayResponseV2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NatGatewayResponseV2)(nil)).Elem() +} + +func (o NatGatewayResponseV2PtrOutput) ToNatGatewayResponseV2PtrOutput() NatGatewayResponseV2PtrOutput { + return o +} + +func (o NatGatewayResponseV2PtrOutput) ToNatGatewayResponseV2PtrOutputWithContext(ctx context.Context) NatGatewayResponseV2PtrOutput { + return o +} + +func (o NatGatewayResponseV2PtrOutput) Elem() NatGatewayResponseV2Output { + return o.ApplyT(func(v *NatGatewayResponseV2) NatGatewayResponseV2 { + if v != nil { + return *v + } + var ret NatGatewayResponseV2 + return ret + }).(NatGatewayResponseV2Output) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o NatGatewayResponseV2PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o NatGatewayResponseV2PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// The idle timeout of the nat gateway. +func (o NatGatewayResponseV2PtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + +// Resource location. +func (o NatGatewayResponseV2PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o NatGatewayResponseV2PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the NAT gateway resource. +func (o NatGatewayResponseV2PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// An array of public ip addresses V4 associated with the nat gateway resource. +func (o NatGatewayResponseV2PtrOutput) PublicIpAddresses() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) []SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIpAddresses + }).(SubResourceResponseArrayOutput) +} + +// An array of public ip addresses V6 associated with the nat gateway resource. +func (o NatGatewayResponseV2PtrOutput) PublicIpAddressesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) []SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIpAddressesV6 + }).(SubResourceResponseArrayOutput) +} + +// An array of public ip prefixes V4 associated with the nat gateway resource. +func (o NatGatewayResponseV2PtrOutput) PublicIpPrefixes() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) []SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIpPrefixes + }).(SubResourceResponseArrayOutput) +} + +// An array of public ip prefixes V6 associated with the nat gateway resource. +func (o NatGatewayResponseV2PtrOutput) PublicIpPrefixesV6() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) []SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIpPrefixesV6 + }).(SubResourceResponseArrayOutput) +} + +// The resource GUID property of the NAT gateway resource. +func (o NatGatewayResponseV2PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) +} + +// Reference to an existing service gateway. +func (o NatGatewayResponseV2PtrOutput) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *SubResourceResponse { + if v == nil { + return nil + } + return v.ServiceGateway + }).(SubResourceResponsePtrOutput) +} + +// The nat gateway SKU. +func (o NatGatewayResponseV2PtrOutput) Sku() NatGatewaySkuResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *NatGatewaySkuResponse { + if v == nil { + return nil + } + return v.Sku + }).(NatGatewaySkuResponsePtrOutput) +} + +// A reference to the source virtual network using this nat gateway resource. +func (o NatGatewayResponseV2PtrOutput) SourceVirtualNetwork() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *SubResourceResponse { + if v == nil { + return nil + } + return v.SourceVirtualNetwork + }).(SubResourceResponsePtrOutput) +} + +// An array of references to the subnets using this nat gateway resource. +func (o NatGatewayResponseV2PtrOutput) Subnets() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) []SubResourceResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubResourceResponseArrayOutput) +} + +// Resource tags. +func (o NatGatewayResponseV2PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o NatGatewayResponseV2PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// A list of availability zones denoting the zone in which Nat Gateway should be deployed. +func (o NatGatewayResponseV2PtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NatGatewayResponseV2) []string { if v == nil { return nil } @@ -47221,6 +50771,134 @@ func (o NetworkInterfaceDnsSettingsResponsePtrOutput) InternalFqdn() pulumi.Stri }).(pulumi.StringPtrOutput) } +// DNS settings of a network interface. +type NetworkInterfaceDnsSettingsResponseV1 struct { + // If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs. + AppliedDnsServers []string `pulumi:"appliedDnsServers"` + // List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + DnsServers []string `pulumi:"dnsServers"` + // Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. + InternalDnsNameLabel *string `pulumi:"internalDnsNameLabel"` + // Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + InternalDomainNameSuffix *string `pulumi:"internalDomainNameSuffix"` + // Fully qualified DNS name supporting internal communications between VMs in the same virtual network. + InternalFqdn *string `pulumi:"internalFqdn"` +} + +// DNS settings of a network interface. +type NetworkInterfaceDnsSettingsResponseV1Output struct{ *pulumi.OutputState } + +func (NetworkInterfaceDnsSettingsResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceDnsSettingsResponseV1)(nil)).Elem() +} + +func (o NetworkInterfaceDnsSettingsResponseV1Output) ToNetworkInterfaceDnsSettingsResponseV1Output() NetworkInterfaceDnsSettingsResponseV1Output { + return o +} + +func (o NetworkInterfaceDnsSettingsResponseV1Output) ToNetworkInterfaceDnsSettingsResponseV1OutputWithContext(ctx context.Context) NetworkInterfaceDnsSettingsResponseV1Output { + return o +} + +// If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs. +func (o NetworkInterfaceDnsSettingsResponseV1Output) AppliedDnsServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInterfaceDnsSettingsResponseV1) []string { return v.AppliedDnsServers }).(pulumi.StringArrayOutput) +} + +// List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. +func (o NetworkInterfaceDnsSettingsResponseV1Output) DnsServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInterfaceDnsSettingsResponseV1) []string { return v.DnsServers }).(pulumi.StringArrayOutput) +} + +// Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. +func (o NetworkInterfaceDnsSettingsResponseV1Output) InternalDnsNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceDnsSettingsResponseV1) *string { return v.InternalDnsNameLabel }).(pulumi.StringPtrOutput) +} + +// Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. +func (o NetworkInterfaceDnsSettingsResponseV1Output) InternalDomainNameSuffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceDnsSettingsResponseV1) *string { return v.InternalDomainNameSuffix }).(pulumi.StringPtrOutput) +} + +// Fully qualified DNS name supporting internal communications between VMs in the same virtual network. +func (o NetworkInterfaceDnsSettingsResponseV1Output) InternalFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceDnsSettingsResponseV1) *string { return v.InternalFqdn }).(pulumi.StringPtrOutput) +} + +type NetworkInterfaceDnsSettingsResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (NetworkInterfaceDnsSettingsResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInterfaceDnsSettingsResponseV1)(nil)).Elem() +} + +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) ToNetworkInterfaceDnsSettingsResponseV1PtrOutput() NetworkInterfaceDnsSettingsResponseV1PtrOutput { + return o +} + +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) ToNetworkInterfaceDnsSettingsResponseV1PtrOutputWithContext(ctx context.Context) NetworkInterfaceDnsSettingsResponseV1PtrOutput { + return o +} + +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) Elem() NetworkInterfaceDnsSettingsResponseV1Output { + return o.ApplyT(func(v *NetworkInterfaceDnsSettingsResponseV1) NetworkInterfaceDnsSettingsResponseV1 { + if v != nil { + return *v + } + var ret NetworkInterfaceDnsSettingsResponseV1 + return ret + }).(NetworkInterfaceDnsSettingsResponseV1Output) +} + +// If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs. +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) AppliedDnsServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkInterfaceDnsSettingsResponseV1) []string { + if v == nil { + return nil + } + return v.AppliedDnsServers + }).(pulumi.StringArrayOutput) +} + +// List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) DnsServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkInterfaceDnsSettingsResponseV1) []string { + if v == nil { + return nil + } + return v.DnsServers + }).(pulumi.StringArrayOutput) +} + +// Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) InternalDnsNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInterfaceDnsSettingsResponseV1) *string { + if v == nil { + return nil + } + return v.InternalDnsNameLabel + }).(pulumi.StringPtrOutput) +} + +// Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) InternalDomainNameSuffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInterfaceDnsSettingsResponseV1) *string { + if v == nil { + return nil + } + return v.InternalDomainNameSuffix + }).(pulumi.StringPtrOutput) +} + +// Fully qualified DNS name supporting internal communications between VMs in the same virtual network. +func (o NetworkInterfaceDnsSettingsResponseV1PtrOutput) InternalFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInterfaceDnsSettingsResponseV1) *string { + if v == nil { + return nil + } + return v.InternalFqdn + }).(pulumi.StringPtrOutput) +} + // IPConfiguration in a network interface. type NetworkInterfaceIPConfiguration struct { // The reference to ApplicationGatewayBackendAddressPool resource. @@ -48226,6 +51904,173 @@ func (o NetworkInterfaceIPConfigurationResponseArrayOutput) Index(i pulumi.IntIn }).(NetworkInterfaceIPConfigurationResponseOutput) } +// IPConfiguration in a network interface. +type NetworkInterfaceIPConfigurationResponseV1 struct { + // The reference of ApplicationGatewayBackendAddressPool resource. + ApplicationGatewayBackendAddressPools []ApplicationGatewayBackendAddressPoolResponseV1 `pulumi:"applicationGatewayBackendAddressPools"` + // Application security groups in which the IP configuration is included. + ApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"applicationSecurityGroups"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The reference of LoadBalancerBackendAddressPool resource. + LoadBalancerBackendAddressPools []BackendAddressPoolResponseV1 `pulumi:"loadBalancerBackendAddressPools"` + // A list of references of LoadBalancerInboundNatRules. + LoadBalancerInboundNatRules []InboundNatRuleResponseV1 `pulumi:"loadBalancerInboundNatRules"` + // 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"` + // Gets whether this is a primary customer address on the network interface. + Primary *bool `pulumi:"primary"` + // Private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + PrivateIPAddressVersion *string `pulumi:"privateIPAddressVersion"` + // The private IP address allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The provisioning state of the network interface IP configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // Public IP address bound to the IP configuration. + PublicIPAddress *PublicIPAddressResponse `pulumi:"publicIPAddress"` + // Subnet bound to the IP configuration. + Subnet *SubnetResponse `pulumi:"subnet"` + // The reference to Virtual Network Taps. + VirtualNetworkTaps []VirtualNetworkTapResponseV1 `pulumi:"virtualNetworkTaps"` +} + +// Defaults sets the appropriate defaults for NetworkInterfaceIPConfigurationResponseV1 +func (val *NetworkInterfaceIPConfigurationResponseV1) Defaults() *NetworkInterfaceIPConfigurationResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.PublicIPAddress = tmp.PublicIPAddress.Defaults() + + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// IPConfiguration in a network interface. +type NetworkInterfaceIPConfigurationResponseV1Output struct{ *pulumi.OutputState } + +func (NetworkInterfaceIPConfigurationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceIPConfigurationResponseV1)(nil)).Elem() +} + +func (o NetworkInterfaceIPConfigurationResponseV1Output) ToNetworkInterfaceIPConfigurationResponseV1Output() NetworkInterfaceIPConfigurationResponseV1Output { + return o +} + +func (o NetworkInterfaceIPConfigurationResponseV1Output) ToNetworkInterfaceIPConfigurationResponseV1OutputWithContext(ctx context.Context) NetworkInterfaceIPConfigurationResponseV1Output { + return o +} + +// The reference of ApplicationGatewayBackendAddressPool resource. +func (o NetworkInterfaceIPConfigurationResponseV1Output) ApplicationGatewayBackendAddressPools() ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) []ApplicationGatewayBackendAddressPoolResponseV1 { + return v.ApplicationGatewayBackendAddressPools + }).(ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput) +} + +// Application security groups in which the IP configuration is included. +func (o NetworkInterfaceIPConfigurationResponseV1Output) ApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) []ApplicationSecurityGroupResponse { + return v.ApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkInterfaceIPConfigurationResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o NetworkInterfaceIPConfigurationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The reference of LoadBalancerBackendAddressPool resource. +func (o NetworkInterfaceIPConfigurationResponseV1Output) LoadBalancerBackendAddressPools() BackendAddressPoolResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) []BackendAddressPoolResponseV1 { + return v.LoadBalancerBackendAddressPools + }).(BackendAddressPoolResponseV1ArrayOutput) +} + +// A list of references of LoadBalancerInboundNatRules. +func (o NetworkInterfaceIPConfigurationResponseV1Output) LoadBalancerInboundNatRules() InboundNatRuleResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) []InboundNatRuleResponseV1 { + return v.LoadBalancerInboundNatRules + }).(InboundNatRuleResponseV1ArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o NetworkInterfaceIPConfigurationResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Gets whether this is a primary customer address on the network interface. +func (o NetworkInterfaceIPConfigurationResponseV1Output) Primary() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *bool { return v.Primary }).(pulumi.BoolPtrOutput) +} + +// Private IP address of the IP configuration. +func (o NetworkInterfaceIPConfigurationResponseV1Output) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. +func (o NetworkInterfaceIPConfigurationResponseV1Output) PrivateIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.PrivateIPAddressVersion }).(pulumi.StringPtrOutput) +} + +// The private IP address allocation method. +func (o NetworkInterfaceIPConfigurationResponseV1Output) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the network interface IP configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkInterfaceIPConfigurationResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// Public IP address bound to the IP configuration. +func (o NetworkInterfaceIPConfigurationResponseV1Output) PublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *PublicIPAddressResponse { return v.PublicIPAddress }).(PublicIPAddressResponsePtrOutput) +} + +// Subnet bound to the IP configuration. +func (o NetworkInterfaceIPConfigurationResponseV1Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} + +// The reference to Virtual Network Taps. +func (o NetworkInterfaceIPConfigurationResponseV1Output) VirtualNetworkTaps() VirtualNetworkTapResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkInterfaceIPConfigurationResponseV1) []VirtualNetworkTapResponseV1 { + return v.VirtualNetworkTaps + }).(VirtualNetworkTapResponseV1ArrayOutput) +} + +type NetworkInterfaceIPConfigurationResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInterfaceIPConfigurationResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceIPConfigurationResponseV1)(nil)).Elem() +} + +func (o NetworkInterfaceIPConfigurationResponseV1ArrayOutput) ToNetworkInterfaceIPConfigurationResponseV1ArrayOutput() NetworkInterfaceIPConfigurationResponseV1ArrayOutput { + return o +} + +func (o NetworkInterfaceIPConfigurationResponseV1ArrayOutput) ToNetworkInterfaceIPConfigurationResponseV1ArrayOutputWithContext(ctx context.Context) NetworkInterfaceIPConfigurationResponseV1ArrayOutput { + return o +} + +func (o NetworkInterfaceIPConfigurationResponseV1ArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceIPConfigurationResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceIPConfigurationResponseV1 { + return vs[0].([]NetworkInterfaceIPConfigurationResponseV1)[vs[1].(int)] + }).(NetworkInterfaceIPConfigurationResponseV1Output) +} + // A network interface in a resource group. type NetworkInterfaceResponse struct { // Auxiliary mode of Network Interface resource. @@ -48252,8 +52097,6 @@ type NetworkInterfaceResponse struct { HostedWorkloads []string `pulumi:"hostedWorkloads"` // Resource ID. Id *string `pulumi:"id"` - // A reference to the interface endpoint to which the network interface is linked. - InterfaceEndpoint *InterfaceEndpointResponse `pulumi:"interfaceEndpoint"` // A list of IPConfigurations of the network interface. IpConfigurations []NetworkInterfaceIPConfigurationResponse `pulumi:"ipConfigurations"` // Resource location. @@ -48298,8 +52141,6 @@ func (val *NetworkInterfaceResponse) Defaults() *NetworkInterfaceResponse { return nil } tmp := *val - tmp.InterfaceEndpoint = tmp.InterfaceEndpoint.Defaults() - tmp.PrivateEndpoint = *tmp.PrivateEndpoint.Defaults() return &tmp @@ -48380,11 +52221,6 @@ func (o NetworkInterfaceResponseOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v NetworkInterfaceResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// A reference to the interface endpoint to which the network interface is linked. -func (o NetworkInterfaceResponseOutput) InterfaceEndpoint() InterfaceEndpointResponsePtrOutput { - return o.ApplyT(func(v NetworkInterfaceResponse) *InterfaceEndpointResponse { return v.InterfaceEndpoint }).(InterfaceEndpointResponsePtrOutput) -} - // A list of IPConfigurations of the network interface. func (o NetworkInterfaceResponseOutput) IpConfigurations() NetworkInterfaceIPConfigurationResponseArrayOutput { return o.ApplyT(func(v NetworkInterfaceResponse) []NetworkInterfaceIPConfigurationResponse { return v.IpConfigurations }).(NetworkInterfaceIPConfigurationResponseArrayOutput) @@ -48497,13782 +52333,9789 @@ func (o NetworkInterfaceResponseArrayOutput) Index(i pulumi.IntInput) NetworkInt }).(NetworkInterfaceResponseOutput) } -// Tap configuration in a Network Interface. -type NetworkInterfaceTapConfigurationResponse struct { +// A network interface in a resource group. +type NetworkInterfaceResponseV1 struct { + // The DNS settings in network interface. + DnsSettings *NetworkInterfaceDnsSettingsResponseV1 `pulumi:"dnsSettings"` + // If the network interface is accelerated networking enabled. + EnableAcceleratedNetworking *bool `pulumi:"enableAcceleratedNetworking"` + // Indicates whether IP forwarding is enabled on this network interface. + EnableIPForwarding *bool `pulumi:"enableIPForwarding"` // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` + Etag *string `pulumi:"etag"` + // A list of references to linked BareMetal resources + HostedWorkloads []string `pulumi:"hostedWorkloads"` // Resource ID. Id *string `pulumi:"id"` - // 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 provisioning state of the network interface tap configuration resource. - ProvisioningState string `pulumi:"provisioningState"` - // Sub Resource type. + // A reference to the interface endpoint to which the network interface is linked. + InterfaceEndpoint InterfaceEndpointResponse `pulumi:"interfaceEndpoint"` + // A list of IPConfigurations of the network interface. + IpConfigurations []NetworkInterfaceIPConfigurationResponseV1 `pulumi:"ipConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // The MAC address of the network interface. + MacAddress *string `pulumi:"macAddress"` + // Resource name. + Name string `pulumi:"name"` + // The reference of the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupResponse `pulumi:"networkSecurityGroup"` + // Gets whether this is a primary network interface on a virtual machine. + Primary *bool `pulumi:"primary"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The resource GUID property of the network interface resource. + ResourceGuid *string `pulumi:"resourceGuid"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // A list of TapConfigurations of the network interface. + TapConfigurations []NetworkInterfaceTapConfigurationResponse `pulumi:"tapConfigurations"` + // Resource type. Type string `pulumi:"type"` - // The reference to the Virtual Network Tap resource. - VirtualNetworkTap *VirtualNetworkTapResponse `pulumi:"virtualNetworkTap"` + // The reference of a virtual machine. + VirtualMachine SubResourceResponse `pulumi:"virtualMachine"` } -// Defaults sets the appropriate defaults for NetworkInterfaceTapConfigurationResponse -func (val *NetworkInterfaceTapConfigurationResponse) Defaults() *NetworkInterfaceTapConfigurationResponse { - if val == nil { - return nil - } - tmp := *val - tmp.VirtualNetworkTap = tmp.VirtualNetworkTap.Defaults() +// A network interface in a resource group. +type NetworkInterfaceResponseV1Output struct{ *pulumi.OutputState } - return &tmp +func (NetworkInterfaceResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceResponseV1)(nil)).Elem() } -// Tap configuration in a Network Interface. -type NetworkInterfaceTapConfigurationResponseOutput struct{ *pulumi.OutputState } - -func (NetworkInterfaceTapConfigurationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInterfaceTapConfigurationResponse)(nil)).Elem() +func (o NetworkInterfaceResponseV1Output) ToNetworkInterfaceResponseV1Output() NetworkInterfaceResponseV1Output { + return o } -func (o NetworkInterfaceTapConfigurationResponseOutput) ToNetworkInterfaceTapConfigurationResponseOutput() NetworkInterfaceTapConfigurationResponseOutput { +func (o NetworkInterfaceResponseV1Output) ToNetworkInterfaceResponseV1OutputWithContext(ctx context.Context) NetworkInterfaceResponseV1Output { return o } -func (o NetworkInterfaceTapConfigurationResponseOutput) ToNetworkInterfaceTapConfigurationResponseOutputWithContext(ctx context.Context) NetworkInterfaceTapConfigurationResponseOutput { - return o +// The DNS settings in network interface. +func (o NetworkInterfaceResponseV1Output) DnsSettings() NetworkInterfaceDnsSettingsResponseV1PtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *NetworkInterfaceDnsSettingsResponseV1 { return v.DnsSettings }).(NetworkInterfaceDnsSettingsResponseV1PtrOutput) +} + +// If the network interface is accelerated networking enabled. +func (o NetworkInterfaceResponseV1Output) EnableAcceleratedNetworking() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *bool { return v.EnableAcceleratedNetworking }).(pulumi.BoolPtrOutput) +} + +// Indicates whether IP forwarding is enabled on this network interface. +func (o NetworkInterfaceResponseV1Output) EnableIPForwarding() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *bool { return v.EnableIPForwarding }).(pulumi.BoolPtrOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o NetworkInterfaceTapConfigurationResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o NetworkInterfaceResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// Resource ID. -func (o NetworkInterfaceTapConfigurationResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// A list of references to linked BareMetal resources +func (o NetworkInterfaceResponseV1Output) HostedWorkloads() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) []string { return v.HostedWorkloads }).(pulumi.StringArrayOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o NetworkInterfaceTapConfigurationResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Resource ID. +func (o NetworkInterfaceResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The provisioning state of the network interface tap configuration resource. -func (o NetworkInterfaceTapConfigurationResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// A reference to the interface endpoint to which the network interface is linked. +func (o NetworkInterfaceResponseV1Output) InterfaceEndpoint() InterfaceEndpointResponseOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) InterfaceEndpointResponse { return v.InterfaceEndpoint }).(InterfaceEndpointResponseOutput) } -// Sub Resource type. -func (o NetworkInterfaceTapConfigurationResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) string { return v.Type }).(pulumi.StringOutput) +// A list of IPConfigurations of the network interface. +func (o NetworkInterfaceResponseV1Output) IpConfigurations() NetworkInterfaceIPConfigurationResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) []NetworkInterfaceIPConfigurationResponseV1 { + return v.IpConfigurations + }).(NetworkInterfaceIPConfigurationResponseV1ArrayOutput) } -// The reference to the Virtual Network Tap resource. -func (o NetworkInterfaceTapConfigurationResponseOutput) VirtualNetworkTap() VirtualNetworkTapResponsePtrOutput { - return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) *VirtualNetworkTapResponse { - return v.VirtualNetworkTap - }).(VirtualNetworkTapResponsePtrOutput) +// Resource location. +func (o NetworkInterfaceResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) } -type NetworkInterfaceTapConfigurationResponseArrayOutput struct{ *pulumi.OutputState } +// The MAC address of the network interface. +func (o NetworkInterfaceResponseV1Output) MacAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *string { return v.MacAddress }).(pulumi.StringPtrOutput) +} -func (NetworkInterfaceTapConfigurationResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInterfaceTapConfigurationResponse)(nil)).Elem() +// Resource name. +func (o NetworkInterfaceResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) string { return v.Name }).(pulumi.StringOutput) } -func (o NetworkInterfaceTapConfigurationResponseArrayOutput) ToNetworkInterfaceTapConfigurationResponseArrayOutput() NetworkInterfaceTapConfigurationResponseArrayOutput { - return o +// The reference of the NetworkSecurityGroup resource. +func (o NetworkInterfaceResponseV1Output) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *NetworkSecurityGroupResponse { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponsePtrOutput) } -func (o NetworkInterfaceTapConfigurationResponseArrayOutput) ToNetworkInterfaceTapConfigurationResponseArrayOutputWithContext(ctx context.Context) NetworkInterfaceTapConfigurationResponseArrayOutput { - return o +// Gets whether this is a primary network interface on a virtual machine. +func (o NetworkInterfaceResponseV1Output) Primary() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *bool { return v.Primary }).(pulumi.BoolPtrOutput) } -func (o NetworkInterfaceTapConfigurationResponseArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceTapConfigurationResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceTapConfigurationResponse { - return vs[0].([]NetworkInterfaceTapConfigurationResponse)[vs[1].(int)] - }).(NetworkInterfaceTapConfigurationResponseOutput) +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkInterfaceResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) } -// Network Manager Deployment Status. -type NetworkManagerDeploymentStatusResponse struct { - // Commit Time. - CommitTime *string `pulumi:"commitTime"` - // List of configuration ids. - ConfigurationIds []string `pulumi:"configurationIds"` - // Deployment Status. - DeploymentStatus *string `pulumi:"deploymentStatus"` - // Configuration Deployment Type. - DeploymentType *string `pulumi:"deploymentType"` - // Error Message. - ErrorMessage *string `pulumi:"errorMessage"` - // Region Name. - Region *string `pulumi:"region"` +// The resource GUID property of the network interface resource. +func (o NetworkInterfaceResponseV1Output) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) *string { return v.ResourceGuid }).(pulumi.StringPtrOutput) } -// Network Manager Deployment Status. -type NetworkManagerDeploymentStatusResponseOutput struct{ *pulumi.OutputState } +// Resource tags. +func (o NetworkInterfaceResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} -func (NetworkManagerDeploymentStatusResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerDeploymentStatusResponse)(nil)).Elem() +// A list of TapConfigurations of the network interface. +func (o NetworkInterfaceResponseV1Output) TapConfigurations() NetworkInterfaceTapConfigurationResponseArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) []NetworkInterfaceTapConfigurationResponse { + return v.TapConfigurations + }).(NetworkInterfaceTapConfigurationResponseArrayOutput) } -func (o NetworkManagerDeploymentStatusResponseOutput) ToNetworkManagerDeploymentStatusResponseOutput() NetworkManagerDeploymentStatusResponseOutput { - return o +// Resource type. +func (o NetworkInterfaceResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) string { return v.Type }).(pulumi.StringOutput) } -func (o NetworkManagerDeploymentStatusResponseOutput) ToNetworkManagerDeploymentStatusResponseOutputWithContext(ctx context.Context) NetworkManagerDeploymentStatusResponseOutput { - return o +// The reference of a virtual machine. +func (o NetworkInterfaceResponseV1Output) VirtualMachine() SubResourceResponseOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV1) SubResourceResponse { return v.VirtualMachine }).(SubResourceResponseOutput) } -// Commit Time. -func (o NetworkManagerDeploymentStatusResponseOutput) CommitTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.CommitTime }).(pulumi.StringPtrOutput) +type NetworkInterfaceResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInterfaceResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceResponseV1)(nil)).Elem() } -// List of configuration ids. -func (o NetworkManagerDeploymentStatusResponseOutput) ConfigurationIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) []string { return v.ConfigurationIds }).(pulumi.StringArrayOutput) +func (o NetworkInterfaceResponseV1ArrayOutput) ToNetworkInterfaceResponseV1ArrayOutput() NetworkInterfaceResponseV1ArrayOutput { + return o } -// Deployment Status. -func (o NetworkManagerDeploymentStatusResponseOutput) DeploymentStatus() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.DeploymentStatus }).(pulumi.StringPtrOutput) +func (o NetworkInterfaceResponseV1ArrayOutput) ToNetworkInterfaceResponseV1ArrayOutputWithContext(ctx context.Context) NetworkInterfaceResponseV1ArrayOutput { + return o } -// Configuration Deployment Type. -func (o NetworkManagerDeploymentStatusResponseOutput) DeploymentType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.DeploymentType }).(pulumi.StringPtrOutput) +func (o NetworkInterfaceResponseV1ArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceResponseV1 { + return vs[0].([]NetworkInterfaceResponseV1)[vs[1].(int)] + }).(NetworkInterfaceResponseV1Output) } -// Error Message. -func (o NetworkManagerDeploymentStatusResponseOutput) ErrorMessage() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.ErrorMessage }).(pulumi.StringPtrOutput) +// A network interface in a resource group. +type NetworkInterfaceResponseV2 struct { + // Auxiliary mode of Network Interface resource. + AuxiliaryMode *string `pulumi:"auxiliaryMode"` + // Auxiliary sku of Network Interface resource. + AuxiliarySku *string `pulumi:"auxiliarySku"` + // Whether default outbound connectivity for nic was configured or not. + DefaultOutboundConnectivityEnabled bool `pulumi:"defaultOutboundConnectivityEnabled"` + // Indicates whether to disable tcp state tracking. + DisableTcpStateTracking *bool `pulumi:"disableTcpStateTracking"` + // The DNS settings in network interface. + DnsSettings *NetworkInterfaceDnsSettingsResponse `pulumi:"dnsSettings"` + // A reference to the dscp configuration to which the network interface is linked. + DscpConfiguration SubResourceResponse `pulumi:"dscpConfiguration"` + // If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking. + EnableAcceleratedNetworking *bool `pulumi:"enableAcceleratedNetworking"` + // Indicates whether IP forwarding is enabled on this network interface. + EnableIPForwarding *bool `pulumi:"enableIPForwarding"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the network interface. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // A list of references to linked BareMetal resources. + HostedWorkloads []string `pulumi:"hostedWorkloads"` + // Resource ID. + Id *string `pulumi:"id"` + // A list of IPConfigurations of the network interface. + IpConfigurations []NetworkInterfaceIPConfigurationResponse `pulumi:"ipConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // The MAC address of the network interface. + MacAddress string `pulumi:"macAddress"` + // Migration phase of Network Interface resource. + MigrationPhase *string `pulumi:"migrationPhase"` + // Resource name. + Name string `pulumi:"name"` + // The reference to the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupResponse `pulumi:"networkSecurityGroup"` + // Type of Network Interface resource. + NicType *string `pulumi:"nicType"` + // Whether this is a primary network interface on a virtual machine. + Primary bool `pulumi:"primary"` + // A reference to the private endpoint to which the network interface is linked. + PrivateEndpoint PrivateEndpointResponseV1 `pulumi:"privateEndpoint"` + // Privatelinkservice of the network interface resource. + PrivateLinkService *PrivateLinkServiceResponseV1 `pulumi:"privateLinkService"` + // The provisioning state of the network interface resource. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the network interface resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // A list of TapConfigurations of the network interface. + TapConfigurations []NetworkInterfaceTapConfigurationResponse `pulumi:"tapConfigurations"` + // Resource type. + Type string `pulumi:"type"` + // The reference to a virtual machine. + VirtualMachine SubResourceResponse `pulumi:"virtualMachine"` + // Whether the virtual machine this nic is attached to supports encryption. + VnetEncryptionSupported bool `pulumi:"vnetEncryptionSupported"` + // WorkloadType of the NetworkInterface for BareMetal resources + WorkloadType *string `pulumi:"workloadType"` } -// Region Name. -func (o NetworkManagerDeploymentStatusResponseOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.Region }).(pulumi.StringPtrOutput) +// Defaults sets the appropriate defaults for NetworkInterfaceResponseV2 +func (val *NetworkInterfaceResponseV2) Defaults() *NetworkInterfaceResponseV2 { + if val == nil { + return nil + } + tmp := *val + tmp.PrivateEndpoint = *tmp.PrivateEndpoint.Defaults() + + return &tmp } -type NetworkManagerDeploymentStatusResponseArrayOutput struct{ *pulumi.OutputState } +// A network interface in a resource group. +type NetworkInterfaceResponseV2Output struct{ *pulumi.OutputState } -func (NetworkManagerDeploymentStatusResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerDeploymentStatusResponse)(nil)).Elem() +func (NetworkInterfaceResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceResponseV2)(nil)).Elem() } -func (o NetworkManagerDeploymentStatusResponseArrayOutput) ToNetworkManagerDeploymentStatusResponseArrayOutput() NetworkManagerDeploymentStatusResponseArrayOutput { +func (o NetworkInterfaceResponseV2Output) ToNetworkInterfaceResponseV2Output() NetworkInterfaceResponseV2Output { return o } -func (o NetworkManagerDeploymentStatusResponseArrayOutput) ToNetworkManagerDeploymentStatusResponseArrayOutputWithContext(ctx context.Context) NetworkManagerDeploymentStatusResponseArrayOutput { +func (o NetworkInterfaceResponseV2Output) ToNetworkInterfaceResponseV2OutputWithContext(ctx context.Context) NetworkInterfaceResponseV2Output { return o } -func (o NetworkManagerDeploymentStatusResponseArrayOutput) Index(i pulumi.IntInput) NetworkManagerDeploymentStatusResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerDeploymentStatusResponse { - return vs[0].([]NetworkManagerDeploymentStatusResponse)[vs[1].(int)] - }).(NetworkManagerDeploymentStatusResponseOutput) +// Auxiliary mode of Network Interface resource. +func (o NetworkInterfaceResponseV2Output) AuxiliaryMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.AuxiliaryMode }).(pulumi.StringPtrOutput) } -// Scope of Network Manager. -type NetworkManagerPropertiesNetworkManagerScopes struct { - // List of management groups. - ManagementGroups []string `pulumi:"managementGroups"` - // List of subscriptions. - Subscriptions []string `pulumi:"subscriptions"` +// Auxiliary sku of Network Interface resource. +func (o NetworkInterfaceResponseV2Output) AuxiliarySku() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.AuxiliarySku }).(pulumi.StringPtrOutput) } -// NetworkManagerPropertiesNetworkManagerScopesInput is an input type that accepts NetworkManagerPropertiesNetworkManagerScopesArgs and NetworkManagerPropertiesNetworkManagerScopesOutput values. -// You can construct a concrete instance of `NetworkManagerPropertiesNetworkManagerScopesInput` via: -// -// NetworkManagerPropertiesNetworkManagerScopesArgs{...} -type NetworkManagerPropertiesNetworkManagerScopesInput interface { - pulumi.Input - - ToNetworkManagerPropertiesNetworkManagerScopesOutput() NetworkManagerPropertiesNetworkManagerScopesOutput - ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(context.Context) NetworkManagerPropertiesNetworkManagerScopesOutput +// Whether default outbound connectivity for nic was configured or not. +func (o NetworkInterfaceResponseV2Output) DefaultOutboundConnectivityEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) bool { return v.DefaultOutboundConnectivityEnabled }).(pulumi.BoolOutput) } -// Scope of Network Manager. -type NetworkManagerPropertiesNetworkManagerScopesArgs struct { - // List of management groups. - ManagementGroups pulumi.StringArrayInput `pulumi:"managementGroups"` - // List of subscriptions. - Subscriptions pulumi.StringArrayInput `pulumi:"subscriptions"` +// Indicates whether to disable tcp state tracking. +func (o NetworkInterfaceResponseV2Output) DisableTcpStateTracking() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *bool { return v.DisableTcpStateTracking }).(pulumi.BoolPtrOutput) } -func (NetworkManagerPropertiesNetworkManagerScopesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerPropertiesNetworkManagerScopes)(nil)).Elem() +// The DNS settings in network interface. +func (o NetworkInterfaceResponseV2Output) DnsSettings() NetworkInterfaceDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *NetworkInterfaceDnsSettingsResponse { return v.DnsSettings }).(NetworkInterfaceDnsSettingsResponsePtrOutput) } -func (i NetworkManagerPropertiesNetworkManagerScopesArgs) ToNetworkManagerPropertiesNetworkManagerScopesOutput() NetworkManagerPropertiesNetworkManagerScopesOutput { - return i.ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(context.Background()) +// A reference to the dscp configuration to which the network interface is linked. +func (o NetworkInterfaceResponseV2Output) DscpConfiguration() SubResourceResponseOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) SubResourceResponse { return v.DscpConfiguration }).(SubResourceResponseOutput) } -func (i NetworkManagerPropertiesNetworkManagerScopesArgs) ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(ctx context.Context) NetworkManagerPropertiesNetworkManagerScopesOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerPropertiesNetworkManagerScopesOutput) +// If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking. +func (o NetworkInterfaceResponseV2Output) EnableAcceleratedNetworking() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *bool { return v.EnableAcceleratedNetworking }).(pulumi.BoolPtrOutput) } -// Scope of Network Manager. -type NetworkManagerPropertiesNetworkManagerScopesOutput struct{ *pulumi.OutputState } +// Indicates whether IP forwarding is enabled on this network interface. +func (o NetworkInterfaceResponseV2Output) EnableIPForwarding() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *bool { return v.EnableIPForwarding }).(pulumi.BoolPtrOutput) +} -func (NetworkManagerPropertiesNetworkManagerScopesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerPropertiesNetworkManagerScopes)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkInterfaceResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) string { return v.Etag }).(pulumi.StringOutput) } -func (o NetworkManagerPropertiesNetworkManagerScopesOutput) ToNetworkManagerPropertiesNetworkManagerScopesOutput() NetworkManagerPropertiesNetworkManagerScopesOutput { - return o +// The extended location of the network interface. +func (o NetworkInterfaceResponseV2Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (o NetworkManagerPropertiesNetworkManagerScopesOutput) ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(ctx context.Context) NetworkManagerPropertiesNetworkManagerScopesOutput { - return o +// A list of references to linked BareMetal resources. +func (o NetworkInterfaceResponseV2Output) HostedWorkloads() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) []string { return v.HostedWorkloads }).(pulumi.StringArrayOutput) } -// List of management groups. -func (o NetworkManagerPropertiesNetworkManagerScopesOutput) ManagementGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkManagerPropertiesNetworkManagerScopes) []string { return v.ManagementGroups }).(pulumi.StringArrayOutput) +// Resource ID. +func (o NetworkInterfaceResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) } -// List of subscriptions. -func (o NetworkManagerPropertiesNetworkManagerScopesOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkManagerPropertiesNetworkManagerScopes) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) +// A list of IPConfigurations of the network interface. +func (o NetworkInterfaceResponseV2Output) IpConfigurations() NetworkInterfaceIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) []NetworkInterfaceIPConfigurationResponse { + return v.IpConfigurations + }).(NetworkInterfaceIPConfigurationResponseArrayOutput) } -// Scope of Network Manager. -type NetworkManagerPropertiesResponseNetworkManagerScopes struct { - // List of cross tenant scopes. - CrossTenantScopes []CrossTenantScopesResponse `pulumi:"crossTenantScopes"` - // List of management groups. - ManagementGroups []string `pulumi:"managementGroups"` - // List of subscriptions. - Subscriptions []string `pulumi:"subscriptions"` +// Resource location. +func (o NetworkInterfaceResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) } -// Scope of Network Manager. -type NetworkManagerPropertiesResponseNetworkManagerScopesOutput struct{ *pulumi.OutputState } +// The MAC address of the network interface. +func (o NetworkInterfaceResponseV2Output) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) string { return v.MacAddress }).(pulumi.StringOutput) +} -func (NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerPropertiesResponseNetworkManagerScopes)(nil)).Elem() +// Migration phase of Network Interface resource. +func (o NetworkInterfaceResponseV2Output) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) } -func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ToNetworkManagerPropertiesResponseNetworkManagerScopesOutput() NetworkManagerPropertiesResponseNetworkManagerScopesOutput { - return o +// Resource name. +func (o NetworkInterfaceResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) string { return v.Name }).(pulumi.StringOutput) } -func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ToNetworkManagerPropertiesResponseNetworkManagerScopesOutputWithContext(ctx context.Context) NetworkManagerPropertiesResponseNetworkManagerScopesOutput { - return o +// The reference to the NetworkSecurityGroup resource. +func (o NetworkInterfaceResponseV2Output) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *NetworkSecurityGroupResponse { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponsePtrOutput) } -// List of cross tenant scopes. -func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) CrossTenantScopes() CrossTenantScopesResponseArrayOutput { - return o.ApplyT(func(v NetworkManagerPropertiesResponseNetworkManagerScopes) []CrossTenantScopesResponse { - return v.CrossTenantScopes - }).(CrossTenantScopesResponseArrayOutput) +// Type of Network Interface resource. +func (o NetworkInterfaceResponseV2Output) NicType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.NicType }).(pulumi.StringPtrOutput) } -// List of management groups. -func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ManagementGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkManagerPropertiesResponseNetworkManagerScopes) []string { return v.ManagementGroups }).(pulumi.StringArrayOutput) +// Whether this is a primary network interface on a virtual machine. +func (o NetworkInterfaceResponseV2Output) Primary() pulumi.BoolOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) bool { return v.Primary }).(pulumi.BoolOutput) } -// List of subscriptions. -func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkManagerPropertiesResponseNetworkManagerScopes) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) +// A reference to the private endpoint to which the network interface is linked. +func (o NetworkInterfaceResponseV2Output) PrivateEndpoint() PrivateEndpointResponseV1Output { + return o.ApplyT(func(v NetworkInterfaceResponseV2) PrivateEndpointResponseV1 { return v.PrivateEndpoint }).(PrivateEndpointResponseV1Output) } -// Network manager routing group item. -type NetworkManagerRoutingGroupItem struct { - // Network manager group Id. - NetworkGroupId string `pulumi:"networkGroupId"` +// Privatelinkservice of the network interface resource. +func (o NetworkInterfaceResponseV2Output) PrivateLinkService() PrivateLinkServiceResponseV1PtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *PrivateLinkServiceResponseV1 { return v.PrivateLinkService }).(PrivateLinkServiceResponseV1PtrOutput) } -// NetworkManagerRoutingGroupItemInput is an input type that accepts NetworkManagerRoutingGroupItemArgs and NetworkManagerRoutingGroupItemOutput values. -// You can construct a concrete instance of `NetworkManagerRoutingGroupItemInput` via: -// -// NetworkManagerRoutingGroupItemArgs{...} -type NetworkManagerRoutingGroupItemInput interface { - pulumi.Input +// The provisioning state of the network interface resource. +func (o NetworkInterfaceResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} - ToNetworkManagerRoutingGroupItemOutput() NetworkManagerRoutingGroupItemOutput - ToNetworkManagerRoutingGroupItemOutputWithContext(context.Context) NetworkManagerRoutingGroupItemOutput +// The resource GUID property of the network interface resource. +func (o NetworkInterfaceResponseV2Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) string { return v.ResourceGuid }).(pulumi.StringOutput) } -// Network manager routing group item. -type NetworkManagerRoutingGroupItemArgs struct { - // Network manager group Id. - NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` +// Resource tags. +func (o NetworkInterfaceResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -func (NetworkManagerRoutingGroupItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerRoutingGroupItem)(nil)).Elem() +// A list of TapConfigurations of the network interface. +func (o NetworkInterfaceResponseV2Output) TapConfigurations() NetworkInterfaceTapConfigurationResponseArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) []NetworkInterfaceTapConfigurationResponse { + return v.TapConfigurations + }).(NetworkInterfaceTapConfigurationResponseArrayOutput) } -func (i NetworkManagerRoutingGroupItemArgs) ToNetworkManagerRoutingGroupItemOutput() NetworkManagerRoutingGroupItemOutput { - return i.ToNetworkManagerRoutingGroupItemOutputWithContext(context.Background()) +// Resource type. +func (o NetworkInterfaceResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) string { return v.Type }).(pulumi.StringOutput) } -func (i NetworkManagerRoutingGroupItemArgs) ToNetworkManagerRoutingGroupItemOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerRoutingGroupItemOutput) +// The reference to a virtual machine. +func (o NetworkInterfaceResponseV2Output) VirtualMachine() SubResourceResponseOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) SubResourceResponse { return v.VirtualMachine }).(SubResourceResponseOutput) } -// NetworkManagerRoutingGroupItemArrayInput is an input type that accepts NetworkManagerRoutingGroupItemArray and NetworkManagerRoutingGroupItemArrayOutput values. -// You can construct a concrete instance of `NetworkManagerRoutingGroupItemArrayInput` via: -// -// NetworkManagerRoutingGroupItemArray{ NetworkManagerRoutingGroupItemArgs{...} } -type NetworkManagerRoutingGroupItemArrayInput interface { - pulumi.Input +// Whether the virtual machine this nic is attached to supports encryption. +func (o NetworkInterfaceResponseV2Output) VnetEncryptionSupported() pulumi.BoolOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) bool { return v.VnetEncryptionSupported }).(pulumi.BoolOutput) +} - ToNetworkManagerRoutingGroupItemArrayOutput() NetworkManagerRoutingGroupItemArrayOutput - ToNetworkManagerRoutingGroupItemArrayOutputWithContext(context.Context) NetworkManagerRoutingGroupItemArrayOutput +// WorkloadType of the NetworkInterface for BareMetal resources +func (o NetworkInterfaceResponseV2Output) WorkloadType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV2) *string { return v.WorkloadType }).(pulumi.StringPtrOutput) } -type NetworkManagerRoutingGroupItemArray []NetworkManagerRoutingGroupItemInput +type NetworkInterfaceResponseV2ArrayOutput struct{ *pulumi.OutputState } -func (NetworkManagerRoutingGroupItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerRoutingGroupItem)(nil)).Elem() +func (NetworkInterfaceResponseV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceResponseV2)(nil)).Elem() } -func (i NetworkManagerRoutingGroupItemArray) ToNetworkManagerRoutingGroupItemArrayOutput() NetworkManagerRoutingGroupItemArrayOutput { - return i.ToNetworkManagerRoutingGroupItemArrayOutputWithContext(context.Background()) +func (o NetworkInterfaceResponseV2ArrayOutput) ToNetworkInterfaceResponseV2ArrayOutput() NetworkInterfaceResponseV2ArrayOutput { + return o } -func (i NetworkManagerRoutingGroupItemArray) ToNetworkManagerRoutingGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerRoutingGroupItemArrayOutput) +func (o NetworkInterfaceResponseV2ArrayOutput) ToNetworkInterfaceResponseV2ArrayOutputWithContext(ctx context.Context) NetworkInterfaceResponseV2ArrayOutput { + return o } -// Network manager routing group item. -type NetworkManagerRoutingGroupItemOutput struct{ *pulumi.OutputState } +func (o NetworkInterfaceResponseV2ArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceResponseV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceResponseV2 { + return vs[0].([]NetworkInterfaceResponseV2)[vs[1].(int)] + }).(NetworkInterfaceResponseV2Output) +} -func (NetworkManagerRoutingGroupItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerRoutingGroupItem)(nil)).Elem() +// A network interface in a resource group. +type NetworkInterfaceResponseV3 struct { + // Auxiliary mode of Network Interface resource. + AuxiliaryMode *string `pulumi:"auxiliaryMode"` + // Auxiliary sku of Network Interface resource. + AuxiliarySku *string `pulumi:"auxiliarySku"` + // Whether default outbound connectivity for nic was configured or not. + DefaultOutboundConnectivityEnabled bool `pulumi:"defaultOutboundConnectivityEnabled"` + // Indicates whether to disable tcp state tracking. + DisableTcpStateTracking *bool `pulumi:"disableTcpStateTracking"` + // The DNS settings in network interface. + DnsSettings *NetworkInterfaceDnsSettingsResponse `pulumi:"dnsSettings"` + // A reference to the dscp configuration to which the network interface is linked. + DscpConfiguration SubResourceResponse `pulumi:"dscpConfiguration"` + // If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking. + EnableAcceleratedNetworking *bool `pulumi:"enableAcceleratedNetworking"` + // Indicates whether IP forwarding is enabled on this network interface. + EnableIPForwarding *bool `pulumi:"enableIPForwarding"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the network interface. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // A list of references to linked BareMetal resources. + HostedWorkloads []string `pulumi:"hostedWorkloads"` + // Resource ID. + Id *string `pulumi:"id"` + // A list of IPConfigurations of the network interface. + IpConfigurations []NetworkInterfaceIPConfigurationResponse `pulumi:"ipConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // The MAC address of the network interface. + MacAddress string `pulumi:"macAddress"` + // Migration phase of Network Interface resource. + MigrationPhase *string `pulumi:"migrationPhase"` + // Resource name. + Name string `pulumi:"name"` + // The reference to the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupResponse `pulumi:"networkSecurityGroup"` + // Type of Network Interface resource. + NicType *string `pulumi:"nicType"` + // Whether this is a primary network interface on a virtual machine. + Primary bool `pulumi:"primary"` + // A reference to the private endpoint to which the network interface is linked. + PrivateEndpoint PrivateEndpointResponseV2 `pulumi:"privateEndpoint"` + // Privatelinkservice of the network interface resource. + PrivateLinkService *PrivateLinkServiceResponseV2 `pulumi:"privateLinkService"` + // The provisioning state of the network interface resource. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the network interface resource. + ResourceGuid string `pulumi:"resourceGuid"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // A list of TapConfigurations of the network interface. + TapConfigurations []NetworkInterfaceTapConfigurationResponse `pulumi:"tapConfigurations"` + // Resource type. + Type string `pulumi:"type"` + // The reference to a virtual machine. + VirtualMachine SubResourceResponse `pulumi:"virtualMachine"` + // Whether the virtual machine this nic is attached to supports encryption. + VnetEncryptionSupported bool `pulumi:"vnetEncryptionSupported"` + // WorkloadType of the NetworkInterface for BareMetal resources + WorkloadType *string `pulumi:"workloadType"` } -func (o NetworkManagerRoutingGroupItemOutput) ToNetworkManagerRoutingGroupItemOutput() NetworkManagerRoutingGroupItemOutput { +// Defaults sets the appropriate defaults for NetworkInterfaceResponseV3 +func (val *NetworkInterfaceResponseV3) Defaults() *NetworkInterfaceResponseV3 { + if val == nil { + return nil + } + tmp := *val + tmp.PrivateEndpoint = *tmp.PrivateEndpoint.Defaults() + + return &tmp +} + +// A network interface in a resource group. +type NetworkInterfaceResponseV3Output struct{ *pulumi.OutputState } + +func (NetworkInterfaceResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceResponseV3)(nil)).Elem() +} + +func (o NetworkInterfaceResponseV3Output) ToNetworkInterfaceResponseV3Output() NetworkInterfaceResponseV3Output { return o } -func (o NetworkManagerRoutingGroupItemOutput) ToNetworkManagerRoutingGroupItemOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemOutput { +func (o NetworkInterfaceResponseV3Output) ToNetworkInterfaceResponseV3OutputWithContext(ctx context.Context) NetworkInterfaceResponseV3Output { return o } -// Network manager group Id. -func (o NetworkManagerRoutingGroupItemOutput) NetworkGroupId() pulumi.StringOutput { - return o.ApplyT(func(v NetworkManagerRoutingGroupItem) string { return v.NetworkGroupId }).(pulumi.StringOutput) +// Auxiliary mode of Network Interface resource. +func (o NetworkInterfaceResponseV3Output) AuxiliaryMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.AuxiliaryMode }).(pulumi.StringPtrOutput) } -type NetworkManagerRoutingGroupItemArrayOutput struct{ *pulumi.OutputState } +// Auxiliary sku of Network Interface resource. +func (o NetworkInterfaceResponseV3Output) AuxiliarySku() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.AuxiliarySku }).(pulumi.StringPtrOutput) +} -func (NetworkManagerRoutingGroupItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerRoutingGroupItem)(nil)).Elem() +// Whether default outbound connectivity for nic was configured or not. +func (o NetworkInterfaceResponseV3Output) DefaultOutboundConnectivityEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) bool { return v.DefaultOutboundConnectivityEnabled }).(pulumi.BoolOutput) } -func (o NetworkManagerRoutingGroupItemArrayOutput) ToNetworkManagerRoutingGroupItemArrayOutput() NetworkManagerRoutingGroupItemArrayOutput { - return o +// Indicates whether to disable tcp state tracking. +func (o NetworkInterfaceResponseV3Output) DisableTcpStateTracking() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *bool { return v.DisableTcpStateTracking }).(pulumi.BoolPtrOutput) } -func (o NetworkManagerRoutingGroupItemArrayOutput) ToNetworkManagerRoutingGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemArrayOutput { - return o +// The DNS settings in network interface. +func (o NetworkInterfaceResponseV3Output) DnsSettings() NetworkInterfaceDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *NetworkInterfaceDnsSettingsResponse { return v.DnsSettings }).(NetworkInterfaceDnsSettingsResponsePtrOutput) } -func (o NetworkManagerRoutingGroupItemArrayOutput) Index(i pulumi.IntInput) NetworkManagerRoutingGroupItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerRoutingGroupItem { - return vs[0].([]NetworkManagerRoutingGroupItem)[vs[1].(int)] - }).(NetworkManagerRoutingGroupItemOutput) +// A reference to the dscp configuration to which the network interface is linked. +func (o NetworkInterfaceResponseV3Output) DscpConfiguration() SubResourceResponseOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) SubResourceResponse { return v.DscpConfiguration }).(SubResourceResponseOutput) } -// Network manager routing group item. -type NetworkManagerRoutingGroupItemResponse struct { - // Network manager group Id. - NetworkGroupId string `pulumi:"networkGroupId"` +// If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking. +func (o NetworkInterfaceResponseV3Output) EnableAcceleratedNetworking() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *bool { return v.EnableAcceleratedNetworking }).(pulumi.BoolPtrOutput) } -// Network manager routing group item. -type NetworkManagerRoutingGroupItemResponseOutput struct{ *pulumi.OutputState } +// Indicates whether IP forwarding is enabled on this network interface. +func (o NetworkInterfaceResponseV3Output) EnableIPForwarding() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *bool { return v.EnableIPForwarding }).(pulumi.BoolPtrOutput) +} -func (NetworkManagerRoutingGroupItemResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerRoutingGroupItemResponse)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkInterfaceResponseV3Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) string { return v.Etag }).(pulumi.StringOutput) } -func (o NetworkManagerRoutingGroupItemResponseOutput) ToNetworkManagerRoutingGroupItemResponseOutput() NetworkManagerRoutingGroupItemResponseOutput { - return o +// The extended location of the network interface. +func (o NetworkInterfaceResponseV3Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (o NetworkManagerRoutingGroupItemResponseOutput) ToNetworkManagerRoutingGroupItemResponseOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemResponseOutput { - return o +// A list of references to linked BareMetal resources. +func (o NetworkInterfaceResponseV3Output) HostedWorkloads() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) []string { return v.HostedWorkloads }).(pulumi.StringArrayOutput) } -// Network manager group Id. -func (o NetworkManagerRoutingGroupItemResponseOutput) NetworkGroupId() pulumi.StringOutput { - return o.ApplyT(func(v NetworkManagerRoutingGroupItemResponse) string { return v.NetworkGroupId }).(pulumi.StringOutput) +// Resource ID. +func (o NetworkInterfaceResponseV3Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkManagerRoutingGroupItemResponseArrayOutput struct{ *pulumi.OutputState } +// A list of IPConfigurations of the network interface. +func (o NetworkInterfaceResponseV3Output) IpConfigurations() NetworkInterfaceIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) []NetworkInterfaceIPConfigurationResponse { + return v.IpConfigurations + }).(NetworkInterfaceIPConfigurationResponseArrayOutput) +} -func (NetworkManagerRoutingGroupItemResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerRoutingGroupItemResponse)(nil)).Elem() +// Resource location. +func (o NetworkInterfaceResponseV3Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o NetworkManagerRoutingGroupItemResponseArrayOutput) ToNetworkManagerRoutingGroupItemResponseArrayOutput() NetworkManagerRoutingGroupItemResponseArrayOutput { - return o +// The MAC address of the network interface. +func (o NetworkInterfaceResponseV3Output) MacAddress() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) string { return v.MacAddress }).(pulumi.StringOutput) } -func (o NetworkManagerRoutingGroupItemResponseArrayOutput) ToNetworkManagerRoutingGroupItemResponseArrayOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemResponseArrayOutput { - return o +// Migration phase of Network Interface resource. +func (o NetworkInterfaceResponseV3Output) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) } -func (o NetworkManagerRoutingGroupItemResponseArrayOutput) Index(i pulumi.IntInput) NetworkManagerRoutingGroupItemResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerRoutingGroupItemResponse { - return vs[0].([]NetworkManagerRoutingGroupItemResponse)[vs[1].(int)] - }).(NetworkManagerRoutingGroupItemResponseOutput) +// Resource name. +func (o NetworkInterfaceResponseV3Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) string { return v.Name }).(pulumi.StringOutput) } -// Network manager security group item. -type NetworkManagerSecurityGroupItem struct { - // Network manager group Id. - NetworkGroupId string `pulumi:"networkGroupId"` +// The reference to the NetworkSecurityGroup resource. +func (o NetworkInterfaceResponseV3Output) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *NetworkSecurityGroupResponse { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponsePtrOutput) } -// NetworkManagerSecurityGroupItemInput is an input type that accepts NetworkManagerSecurityGroupItemArgs and NetworkManagerSecurityGroupItemOutput values. -// You can construct a concrete instance of `NetworkManagerSecurityGroupItemInput` via: -// -// NetworkManagerSecurityGroupItemArgs{...} -type NetworkManagerSecurityGroupItemInput interface { - pulumi.Input +// Type of Network Interface resource. +func (o NetworkInterfaceResponseV3Output) NicType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.NicType }).(pulumi.StringPtrOutput) +} - ToNetworkManagerSecurityGroupItemOutput() NetworkManagerSecurityGroupItemOutput - ToNetworkManagerSecurityGroupItemOutputWithContext(context.Context) NetworkManagerSecurityGroupItemOutput +// Whether this is a primary network interface on a virtual machine. +func (o NetworkInterfaceResponseV3Output) Primary() pulumi.BoolOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) bool { return v.Primary }).(pulumi.BoolOutput) } -// Network manager security group item. -type NetworkManagerSecurityGroupItemArgs struct { - // Network manager group Id. - NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` +// A reference to the private endpoint to which the network interface is linked. +func (o NetworkInterfaceResponseV3Output) PrivateEndpoint() PrivateEndpointResponseV2Output { + return o.ApplyT(func(v NetworkInterfaceResponseV3) PrivateEndpointResponseV2 { return v.PrivateEndpoint }).(PrivateEndpointResponseV2Output) } -func (NetworkManagerSecurityGroupItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerSecurityGroupItem)(nil)).Elem() +// Privatelinkservice of the network interface resource. +func (o NetworkInterfaceResponseV3Output) PrivateLinkService() PrivateLinkServiceResponseV2PtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *PrivateLinkServiceResponseV2 { return v.PrivateLinkService }).(PrivateLinkServiceResponseV2PtrOutput) } -func (i NetworkManagerSecurityGroupItemArgs) ToNetworkManagerSecurityGroupItemOutput() NetworkManagerSecurityGroupItemOutput { - return i.ToNetworkManagerSecurityGroupItemOutputWithContext(context.Background()) +// The provisioning state of the network interface resource. +func (o NetworkInterfaceResponseV3Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (i NetworkManagerSecurityGroupItemArgs) ToNetworkManagerSecurityGroupItemOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerSecurityGroupItemOutput) +// The resource GUID property of the network interface resource. +func (o NetworkInterfaceResponseV3Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) string { return v.ResourceGuid }).(pulumi.StringOutput) } -// NetworkManagerSecurityGroupItemArrayInput is an input type that accepts NetworkManagerSecurityGroupItemArray and NetworkManagerSecurityGroupItemArrayOutput values. -// You can construct a concrete instance of `NetworkManagerSecurityGroupItemArrayInput` via: -// -// NetworkManagerSecurityGroupItemArray{ NetworkManagerSecurityGroupItemArgs{...} } -type NetworkManagerSecurityGroupItemArrayInput interface { - pulumi.Input +// Resource tags. +func (o NetworkInterfaceResponseV3Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} - ToNetworkManagerSecurityGroupItemArrayOutput() NetworkManagerSecurityGroupItemArrayOutput - ToNetworkManagerSecurityGroupItemArrayOutputWithContext(context.Context) NetworkManagerSecurityGroupItemArrayOutput +// A list of TapConfigurations of the network interface. +func (o NetworkInterfaceResponseV3Output) TapConfigurations() NetworkInterfaceTapConfigurationResponseArrayOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) []NetworkInterfaceTapConfigurationResponse { + return v.TapConfigurations + }).(NetworkInterfaceTapConfigurationResponseArrayOutput) } -type NetworkManagerSecurityGroupItemArray []NetworkManagerSecurityGroupItemInput +// Resource type. +func (o NetworkInterfaceResponseV3Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) string { return v.Type }).(pulumi.StringOutput) +} -func (NetworkManagerSecurityGroupItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerSecurityGroupItem)(nil)).Elem() +// The reference to a virtual machine. +func (o NetworkInterfaceResponseV3Output) VirtualMachine() SubResourceResponseOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) SubResourceResponse { return v.VirtualMachine }).(SubResourceResponseOutput) } -func (i NetworkManagerSecurityGroupItemArray) ToNetworkManagerSecurityGroupItemArrayOutput() NetworkManagerSecurityGroupItemArrayOutput { - return i.ToNetworkManagerSecurityGroupItemArrayOutputWithContext(context.Background()) +// Whether the virtual machine this nic is attached to supports encryption. +func (o NetworkInterfaceResponseV3Output) VnetEncryptionSupported() pulumi.BoolOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) bool { return v.VnetEncryptionSupported }).(pulumi.BoolOutput) } -func (i NetworkManagerSecurityGroupItemArray) ToNetworkManagerSecurityGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerSecurityGroupItemArrayOutput) +// WorkloadType of the NetworkInterface for BareMetal resources +func (o NetworkInterfaceResponseV3Output) WorkloadType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceResponseV3) *string { return v.WorkloadType }).(pulumi.StringPtrOutput) } -// Network manager security group item. -type NetworkManagerSecurityGroupItemOutput struct{ *pulumi.OutputState } +type NetworkInterfaceResponseV3ArrayOutput struct{ *pulumi.OutputState } -func (NetworkManagerSecurityGroupItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerSecurityGroupItem)(nil)).Elem() +func (NetworkInterfaceResponseV3ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceResponseV3)(nil)).Elem() } -func (o NetworkManagerSecurityGroupItemOutput) ToNetworkManagerSecurityGroupItemOutput() NetworkManagerSecurityGroupItemOutput { +func (o NetworkInterfaceResponseV3ArrayOutput) ToNetworkInterfaceResponseV3ArrayOutput() NetworkInterfaceResponseV3ArrayOutput { return o } -func (o NetworkManagerSecurityGroupItemOutput) ToNetworkManagerSecurityGroupItemOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemOutput { +func (o NetworkInterfaceResponseV3ArrayOutput) ToNetworkInterfaceResponseV3ArrayOutputWithContext(ctx context.Context) NetworkInterfaceResponseV3ArrayOutput { return o } -// Network manager group Id. -func (o NetworkManagerSecurityGroupItemOutput) NetworkGroupId() pulumi.StringOutput { - return o.ApplyT(func(v NetworkManagerSecurityGroupItem) string { return v.NetworkGroupId }).(pulumi.StringOutput) +func (o NetworkInterfaceResponseV3ArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceResponseV3Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceResponseV3 { + return vs[0].([]NetworkInterfaceResponseV3)[vs[1].(int)] + }).(NetworkInterfaceResponseV3Output) } -type NetworkManagerSecurityGroupItemArrayOutput struct{ *pulumi.OutputState } +// Tap configuration in a Network Interface. +type NetworkInterfaceTapConfigurationResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 provisioning state of the network interface tap configuration resource. + ProvisioningState string `pulumi:"provisioningState"` + // Sub Resource type. + Type string `pulumi:"type"` + // The reference to the Virtual Network Tap resource. + VirtualNetworkTap *VirtualNetworkTapResponse `pulumi:"virtualNetworkTap"` +} -func (NetworkManagerSecurityGroupItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerSecurityGroupItem)(nil)).Elem() +// Defaults sets the appropriate defaults for NetworkInterfaceTapConfigurationResponse +func (val *NetworkInterfaceTapConfigurationResponse) Defaults() *NetworkInterfaceTapConfigurationResponse { + if val == nil { + return nil + } + tmp := *val + tmp.VirtualNetworkTap = tmp.VirtualNetworkTap.Defaults() + + return &tmp } -func (o NetworkManagerSecurityGroupItemArrayOutput) ToNetworkManagerSecurityGroupItemArrayOutput() NetworkManagerSecurityGroupItemArrayOutput { - return o +// Tap configuration in a Network Interface. +type NetworkInterfaceTapConfigurationResponseOutput struct{ *pulumi.OutputState } + +func (NetworkInterfaceTapConfigurationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceTapConfigurationResponse)(nil)).Elem() } -func (o NetworkManagerSecurityGroupItemArrayOutput) ToNetworkManagerSecurityGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemArrayOutput { +func (o NetworkInterfaceTapConfigurationResponseOutput) ToNetworkInterfaceTapConfigurationResponseOutput() NetworkInterfaceTapConfigurationResponseOutput { return o } -func (o NetworkManagerSecurityGroupItemArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItem { - return vs[0].([]NetworkManagerSecurityGroupItem)[vs[1].(int)] - }).(NetworkManagerSecurityGroupItemOutput) +func (o NetworkInterfaceTapConfigurationResponseOutput) ToNetworkInterfaceTapConfigurationResponseOutputWithContext(ctx context.Context) NetworkInterfaceTapConfigurationResponseOutput { + return o } -// Network manager security group item. -type NetworkManagerSecurityGroupItemResponse struct { - // Network manager group Id. - NetworkGroupId string `pulumi:"networkGroupId"` +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkInterfaceTapConfigurationResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) } -// Network manager security group item. -type NetworkManagerSecurityGroupItemResponseOutput struct{ *pulumi.OutputState } +// Resource ID. +func (o NetworkInterfaceTapConfigurationResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} -func (NetworkManagerSecurityGroupItemResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkManagerSecurityGroupItemResponse)(nil)).Elem() +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o NetworkInterfaceTapConfigurationResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o NetworkManagerSecurityGroupItemResponseOutput) ToNetworkManagerSecurityGroupItemResponseOutput() NetworkManagerSecurityGroupItemResponseOutput { - return o +// The provisioning state of the network interface tap configuration resource. +func (o NetworkInterfaceTapConfigurationResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (o NetworkManagerSecurityGroupItemResponseOutput) ToNetworkManagerSecurityGroupItemResponseOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseOutput { - return o +// Sub Resource type. +func (o NetworkInterfaceTapConfigurationResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) string { return v.Type }).(pulumi.StringOutput) } -// Network manager group Id. -func (o NetworkManagerSecurityGroupItemResponseOutput) NetworkGroupId() pulumi.StringOutput { - return o.ApplyT(func(v NetworkManagerSecurityGroupItemResponse) string { return v.NetworkGroupId }).(pulumi.StringOutput) +// The reference to the Virtual Network Tap resource. +func (o NetworkInterfaceTapConfigurationResponseOutput) VirtualNetworkTap() VirtualNetworkTapResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponse) *VirtualNetworkTapResponse { + return v.VirtualNetworkTap + }).(VirtualNetworkTapResponsePtrOutput) } -type NetworkManagerSecurityGroupItemResponseArrayOutput struct{ *pulumi.OutputState } +type NetworkInterfaceTapConfigurationResponseArrayOutput struct{ *pulumi.OutputState } -func (NetworkManagerSecurityGroupItemResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkManagerSecurityGroupItemResponse)(nil)).Elem() +func (NetworkInterfaceTapConfigurationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceTapConfigurationResponse)(nil)).Elem() } -func (o NetworkManagerSecurityGroupItemResponseArrayOutput) ToNetworkManagerSecurityGroupItemResponseArrayOutput() NetworkManagerSecurityGroupItemResponseArrayOutput { +func (o NetworkInterfaceTapConfigurationResponseArrayOutput) ToNetworkInterfaceTapConfigurationResponseArrayOutput() NetworkInterfaceTapConfigurationResponseArrayOutput { return o } -func (o NetworkManagerSecurityGroupItemResponseArrayOutput) ToNetworkManagerSecurityGroupItemResponseArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseArrayOutput { +func (o NetworkInterfaceTapConfigurationResponseArrayOutput) ToNetworkInterfaceTapConfigurationResponseArrayOutputWithContext(ctx context.Context) NetworkInterfaceTapConfigurationResponseArrayOutput { return o } -func (o NetworkManagerSecurityGroupItemResponseArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItemResponse { - return vs[0].([]NetworkManagerSecurityGroupItemResponse)[vs[1].(int)] - }).(NetworkManagerSecurityGroupItemResponseOutput) +func (o NetworkInterfaceTapConfigurationResponseArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceTapConfigurationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceTapConfigurationResponse { + return vs[0].([]NetworkInterfaceTapConfigurationResponse)[vs[1].(int)] + }).(NetworkInterfaceTapConfigurationResponseOutput) } -// Rule of type network. -type NetworkRule struct { - // Description of the rule. - Description *string `pulumi:"description"` - // List of destination IP addresses or Service Tags. - DestinationAddresses []string `pulumi:"destinationAddresses"` - // List of destination FQDNs. - DestinationFqdns []string `pulumi:"destinationFqdns"` - // List of destination IpGroups for this rule. - DestinationIpGroups []string `pulumi:"destinationIpGroups"` - // List of destination ports. - DestinationPorts []string `pulumi:"destinationPorts"` - // Array of FirewallPolicyRuleNetworkProtocols. - IpProtocols []string `pulumi:"ipProtocols"` - // Name of the rule. +// Tap configuration in a Network Interface +type NetworkInterfaceTapConfigurationResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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"` - // Rule Type. - // Expected value is 'NetworkRule'. - RuleType string `pulumi:"ruleType"` - // List of source IP addresses for this rule. - SourceAddresses []string `pulumi:"sourceAddresses"` - // List of source IpGroups for this rule. - SourceIpGroups []string `pulumi:"sourceIpGroups"` + // The provisioning state of the network interface tap configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState string `pulumi:"provisioningState"` + // Sub Resource type. + Type string `pulumi:"type"` + // The reference of the Virtual Network Tap resource. + VirtualNetworkTap *VirtualNetworkTapResponse `pulumi:"virtualNetworkTap"` } -// NetworkRuleInput is an input type that accepts NetworkRuleArgs and NetworkRuleOutput values. -// You can construct a concrete instance of `NetworkRuleInput` via: -// -// NetworkRuleArgs{...} -type NetworkRuleInput interface { - pulumi.Input +// Defaults sets the appropriate defaults for NetworkInterfaceTapConfigurationResponseV1 +func (val *NetworkInterfaceTapConfigurationResponseV1) Defaults() *NetworkInterfaceTapConfigurationResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.VirtualNetworkTap = tmp.VirtualNetworkTap.Defaults() - ToNetworkRuleOutput() NetworkRuleOutput - ToNetworkRuleOutputWithContext(context.Context) NetworkRuleOutput + return &tmp } -// Rule of type network. -type NetworkRuleArgs struct { - // Description of the rule. - Description pulumi.StringPtrInput `pulumi:"description"` - // List of destination IP addresses or Service Tags. - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - // List of destination FQDNs. - DestinationFqdns pulumi.StringArrayInput `pulumi:"destinationFqdns"` - // List of destination IpGroups for this rule. - DestinationIpGroups pulumi.StringArrayInput `pulumi:"destinationIpGroups"` - // List of destination ports. - DestinationPorts pulumi.StringArrayInput `pulumi:"destinationPorts"` - // Array of FirewallPolicyRuleNetworkProtocols. - IpProtocols pulumi.StringArrayInput `pulumi:"ipProtocols"` - // Name of the rule. - Name pulumi.StringPtrInput `pulumi:"name"` - // Rule Type. - // Expected value is 'NetworkRule'. - RuleType pulumi.StringInput `pulumi:"ruleType"` - // List of source IP addresses for this rule. - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - // List of source IpGroups for this rule. - SourceIpGroups pulumi.StringArrayInput `pulumi:"sourceIpGroups"` +// Tap configuration in a Network Interface +type NetworkInterfaceTapConfigurationResponseV1Output struct{ *pulumi.OutputState } + +func (NetworkInterfaceTapConfigurationResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceTapConfigurationResponseV1)(nil)).Elem() } -func (NetworkRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkRule)(nil)).Elem() +func (o NetworkInterfaceTapConfigurationResponseV1Output) ToNetworkInterfaceTapConfigurationResponseV1Output() NetworkInterfaceTapConfigurationResponseV1Output { + return o } -func (i NetworkRuleArgs) ToNetworkRuleOutput() NetworkRuleOutput { - return i.ToNetworkRuleOutputWithContext(context.Background()) +func (o NetworkInterfaceTapConfigurationResponseV1Output) ToNetworkInterfaceTapConfigurationResponseV1OutputWithContext(ctx context.Context) NetworkInterfaceTapConfigurationResponseV1Output { + return o } -func (i NetworkRuleArgs) ToNetworkRuleOutputWithContext(ctx context.Context) NetworkRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkInterfaceTapConfigurationResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// Rule of type network. -type NetworkRuleOutput struct{ *pulumi.OutputState } +// Resource ID. +func (o NetworkInterfaceTapConfigurationResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} -func (NetworkRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkRule)(nil)).Elem() +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o NetworkInterfaceTapConfigurationResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o NetworkRuleOutput) ToNetworkRuleOutput() NetworkRuleOutput { - return o +// The provisioning state of the network interface tap configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkInterfaceTapConfigurationResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (o NetworkRuleOutput) ToNetworkRuleOutputWithContext(ctx context.Context) NetworkRuleOutput { - return o +// Sub Resource type. +func (o NetworkInterfaceTapConfigurationResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponseV1) string { return v.Type }).(pulumi.StringOutput) } -// Description of the rule. -func (o NetworkRuleOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRule) *string { return v.Description }).(pulumi.StringPtrOutput) +// The reference of the Virtual Network Tap resource. +func (o NetworkInterfaceTapConfigurationResponseV1Output) VirtualNetworkTap() VirtualNetworkTapResponsePtrOutput { + return o.ApplyT(func(v NetworkInterfaceTapConfigurationResponseV1) *VirtualNetworkTapResponse { + return v.VirtualNetworkTap + }).(VirtualNetworkTapResponsePtrOutput) } -// List of destination IP addresses or Service Tags. -func (o NetworkRuleOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) +type NetworkInterfaceTapConfigurationResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInterfaceTapConfigurationResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceTapConfigurationResponseV1)(nil)).Elem() } -// List of destination FQDNs. -func (o NetworkRuleOutput) DestinationFqdns() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.DestinationFqdns }).(pulumi.StringArrayOutput) +func (o NetworkInterfaceTapConfigurationResponseV1ArrayOutput) ToNetworkInterfaceTapConfigurationResponseV1ArrayOutput() NetworkInterfaceTapConfigurationResponseV1ArrayOutput { + return o } -// List of destination IpGroups for this rule. -func (o NetworkRuleOutput) DestinationIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) +func (o NetworkInterfaceTapConfigurationResponseV1ArrayOutput) ToNetworkInterfaceTapConfigurationResponseV1ArrayOutputWithContext(ctx context.Context) NetworkInterfaceTapConfigurationResponseV1ArrayOutput { + return o } -// List of destination ports. -func (o NetworkRuleOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +func (o NetworkInterfaceTapConfigurationResponseV1ArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceTapConfigurationResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceTapConfigurationResponseV1 { + return vs[0].([]NetworkInterfaceTapConfigurationResponseV1)[vs[1].(int)] + }).(NetworkInterfaceTapConfigurationResponseV1Output) } -// Array of FirewallPolicyRuleNetworkProtocols. -func (o NetworkRuleOutput) IpProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) +// Network Manager Deployment Status. +type NetworkManagerDeploymentStatusResponse struct { + // Commit Time. + CommitTime *string `pulumi:"commitTime"` + // List of configuration ids. + ConfigurationIds []string `pulumi:"configurationIds"` + // Deployment Status. + DeploymentStatus *string `pulumi:"deploymentStatus"` + // Configuration Deployment Type. + DeploymentType *string `pulumi:"deploymentType"` + // Error Message. + ErrorMessage *string `pulumi:"errorMessage"` + // Region Name. + Region *string `pulumi:"region"` } -// Name of the rule. -func (o NetworkRuleOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRule) *string { return v.Name }).(pulumi.StringPtrOutput) +// Network Manager Deployment Status. +type NetworkManagerDeploymentStatusResponseOutput struct{ *pulumi.OutputState } + +func (NetworkManagerDeploymentStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerDeploymentStatusResponse)(nil)).Elem() } -// Rule Type. -// Expected value is 'NetworkRule'. -func (o NetworkRuleOutput) RuleType() pulumi.StringOutput { - return o.ApplyT(func(v NetworkRule) string { return v.RuleType }).(pulumi.StringOutput) +func (o NetworkManagerDeploymentStatusResponseOutput) ToNetworkManagerDeploymentStatusResponseOutput() NetworkManagerDeploymentStatusResponseOutput { + return o } -// List of source IP addresses for this rule. -func (o NetworkRuleOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +func (o NetworkManagerDeploymentStatusResponseOutput) ToNetworkManagerDeploymentStatusResponseOutputWithContext(ctx context.Context) NetworkManagerDeploymentStatusResponseOutput { + return o } -// List of source IpGroups for this rule. -func (o NetworkRuleOutput) SourceIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRule) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) +// Commit Time. +func (o NetworkManagerDeploymentStatusResponseOutput) CommitTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.CommitTime }).(pulumi.StringPtrOutput) } -// Rule condition of type network. -type NetworkRuleCondition struct { - // Description of the rule condition. - Description *string `pulumi:"description"` - // List of destination IP addresses or Service Tags. - DestinationAddresses []string `pulumi:"destinationAddresses"` - // List of destination IpGroups for this rule. - DestinationIpGroups []string `pulumi:"destinationIpGroups"` - // List of destination ports. - DestinationPorts []string `pulumi:"destinationPorts"` - // Array of FirewallPolicyRuleConditionNetworkProtocols. - IpProtocols []string `pulumi:"ipProtocols"` - // Name of the rule condition. - Name *string `pulumi:"name"` - // Rule Condition Type. - // Expected value is 'NetworkRuleCondition'. - RuleConditionType string `pulumi:"ruleConditionType"` - // List of source IP addresses for this rule. - SourceAddresses []string `pulumi:"sourceAddresses"` - // List of source IpGroups for this rule. - SourceIpGroups []string `pulumi:"sourceIpGroups"` +// List of configuration ids. +func (o NetworkManagerDeploymentStatusResponseOutput) ConfigurationIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) []string { return v.ConfigurationIds }).(pulumi.StringArrayOutput) } -// NetworkRuleConditionInput is an input type that accepts NetworkRuleConditionArgs and NetworkRuleConditionOutput values. -// You can construct a concrete instance of `NetworkRuleConditionInput` via: -// -// NetworkRuleConditionArgs{...} -type NetworkRuleConditionInput interface { - pulumi.Input +// Deployment Status. +func (o NetworkManagerDeploymentStatusResponseOutput) DeploymentStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.DeploymentStatus }).(pulumi.StringPtrOutput) +} - ToNetworkRuleConditionOutput() NetworkRuleConditionOutput - ToNetworkRuleConditionOutputWithContext(context.Context) NetworkRuleConditionOutput +// Configuration Deployment Type. +func (o NetworkManagerDeploymentStatusResponseOutput) DeploymentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.DeploymentType }).(pulumi.StringPtrOutput) } -// Rule condition of type network. -type NetworkRuleConditionArgs struct { - // Description of the rule condition. - Description pulumi.StringPtrInput `pulumi:"description"` - // List of destination IP addresses or Service Tags. - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - // List of destination IpGroups for this rule. - DestinationIpGroups pulumi.StringArrayInput `pulumi:"destinationIpGroups"` - // List of destination ports. - DestinationPorts pulumi.StringArrayInput `pulumi:"destinationPorts"` - // Array of FirewallPolicyRuleConditionNetworkProtocols. - IpProtocols pulumi.StringArrayInput `pulumi:"ipProtocols"` - // Name of the rule condition. - Name pulumi.StringPtrInput `pulumi:"name"` - // Rule Condition Type. - // Expected value is 'NetworkRuleCondition'. - RuleConditionType pulumi.StringInput `pulumi:"ruleConditionType"` - // List of source IP addresses for this rule. - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - // List of source IpGroups for this rule. - SourceIpGroups pulumi.StringArrayInput `pulumi:"sourceIpGroups"` +// Error Message. +func (o NetworkManagerDeploymentStatusResponseOutput) ErrorMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.ErrorMessage }).(pulumi.StringPtrOutput) } -func (NetworkRuleConditionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkRuleCondition)(nil)).Elem() +// Region Name. +func (o NetworkManagerDeploymentStatusResponseOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerDeploymentStatusResponse) *string { return v.Region }).(pulumi.StringPtrOutput) } -func (i NetworkRuleConditionArgs) ToNetworkRuleConditionOutput() NetworkRuleConditionOutput { - return i.ToNetworkRuleConditionOutputWithContext(context.Background()) +type NetworkManagerDeploymentStatusResponseArrayOutput struct{ *pulumi.OutputState } + +func (NetworkManagerDeploymentStatusResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerDeploymentStatusResponse)(nil)).Elem() } -func (i NetworkRuleConditionArgs) ToNetworkRuleConditionOutputWithContext(ctx context.Context) NetworkRuleConditionOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleConditionOutput) +func (o NetworkManagerDeploymentStatusResponseArrayOutput) ToNetworkManagerDeploymentStatusResponseArrayOutput() NetworkManagerDeploymentStatusResponseArrayOutput { + return o } -func (i NetworkRuleConditionArgs) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { - return i.ToNetworkRuleConditionPtrOutputWithContext(context.Background()) +func (o NetworkManagerDeploymentStatusResponseArrayOutput) ToNetworkManagerDeploymentStatusResponseArrayOutputWithContext(ctx context.Context) NetworkManagerDeploymentStatusResponseArrayOutput { + return o } -func (i NetworkRuleConditionArgs) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleConditionOutput).ToNetworkRuleConditionPtrOutputWithContext(ctx) +func (o NetworkManagerDeploymentStatusResponseArrayOutput) Index(i pulumi.IntInput) NetworkManagerDeploymentStatusResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerDeploymentStatusResponse { + return vs[0].([]NetworkManagerDeploymentStatusResponse)[vs[1].(int)] + }).(NetworkManagerDeploymentStatusResponseOutput) } -// NetworkRuleConditionPtrInput is an input type that accepts NetworkRuleConditionArgs, NetworkRuleConditionPtr and NetworkRuleConditionPtrOutput values. -// You can construct a concrete instance of `NetworkRuleConditionPtrInput` via: -// -// NetworkRuleConditionArgs{...} -// -// or: +// Scope of Network Manager. +type NetworkManagerPropertiesNetworkManagerScopes struct { + // List of management groups. + ManagementGroups []string `pulumi:"managementGroups"` + // List of subscriptions. + Subscriptions []string `pulumi:"subscriptions"` +} + +// NetworkManagerPropertiesNetworkManagerScopesInput is an input type that accepts NetworkManagerPropertiesNetworkManagerScopesArgs and NetworkManagerPropertiesNetworkManagerScopesOutput values. +// You can construct a concrete instance of `NetworkManagerPropertiesNetworkManagerScopesInput` via: // -// nil -type NetworkRuleConditionPtrInput interface { +// NetworkManagerPropertiesNetworkManagerScopesArgs{...} +type NetworkManagerPropertiesNetworkManagerScopesInput interface { pulumi.Input - ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput - ToNetworkRuleConditionPtrOutputWithContext(context.Context) NetworkRuleConditionPtrOutput + ToNetworkManagerPropertiesNetworkManagerScopesOutput() NetworkManagerPropertiesNetworkManagerScopesOutput + ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(context.Context) NetworkManagerPropertiesNetworkManagerScopesOutput } -type networkRuleConditionPtrType NetworkRuleConditionArgs - -func NetworkRuleConditionPtr(v *NetworkRuleConditionArgs) NetworkRuleConditionPtrInput { - return (*networkRuleConditionPtrType)(v) +// Scope of Network Manager. +type NetworkManagerPropertiesNetworkManagerScopesArgs struct { + // List of management groups. + ManagementGroups pulumi.StringArrayInput `pulumi:"managementGroups"` + // List of subscriptions. + Subscriptions pulumi.StringArrayInput `pulumi:"subscriptions"` } -func (*networkRuleConditionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkRuleCondition)(nil)).Elem() +func (NetworkManagerPropertiesNetworkManagerScopesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerPropertiesNetworkManagerScopes)(nil)).Elem() } -func (i *networkRuleConditionPtrType) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { - return i.ToNetworkRuleConditionPtrOutputWithContext(context.Background()) +func (i NetworkManagerPropertiesNetworkManagerScopesArgs) ToNetworkManagerPropertiesNetworkManagerScopesOutput() NetworkManagerPropertiesNetworkManagerScopesOutput { + return i.ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(context.Background()) } -func (i *networkRuleConditionPtrType) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleConditionPtrOutput) +func (i NetworkManagerPropertiesNetworkManagerScopesArgs) ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(ctx context.Context) NetworkManagerPropertiesNetworkManagerScopesOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerPropertiesNetworkManagerScopesOutput) } -// Rule condition of type network. -type NetworkRuleConditionOutput struct{ *pulumi.OutputState } +// Scope of Network Manager. +type NetworkManagerPropertiesNetworkManagerScopesOutput struct{ *pulumi.OutputState } -func (NetworkRuleConditionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkRuleCondition)(nil)).Elem() +func (NetworkManagerPropertiesNetworkManagerScopesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerPropertiesNetworkManagerScopes)(nil)).Elem() } -func (o NetworkRuleConditionOutput) ToNetworkRuleConditionOutput() NetworkRuleConditionOutput { +func (o NetworkManagerPropertiesNetworkManagerScopesOutput) ToNetworkManagerPropertiesNetworkManagerScopesOutput() NetworkManagerPropertiesNetworkManagerScopesOutput { return o } -func (o NetworkRuleConditionOutput) ToNetworkRuleConditionOutputWithContext(ctx context.Context) NetworkRuleConditionOutput { +func (o NetworkManagerPropertiesNetworkManagerScopesOutput) ToNetworkManagerPropertiesNetworkManagerScopesOutputWithContext(ctx context.Context) NetworkManagerPropertiesNetworkManagerScopesOutput { return o } -func (o NetworkRuleConditionOutput) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { - return o.ToNetworkRuleConditionPtrOutputWithContext(context.Background()) +// List of management groups. +func (o NetworkManagerPropertiesNetworkManagerScopesOutput) ManagementGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkManagerPropertiesNetworkManagerScopes) []string { return v.ManagementGroups }).(pulumi.StringArrayOutput) } -func (o NetworkRuleConditionOutput) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkRuleCondition) *NetworkRuleCondition { - return &v - }).(NetworkRuleConditionPtrOutput) +// List of subscriptions. +func (o NetworkManagerPropertiesNetworkManagerScopesOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkManagerPropertiesNetworkManagerScopes) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) } -// Description of the rule condition. -func (o NetworkRuleConditionOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRuleCondition) *string { return v.Description }).(pulumi.StringPtrOutput) +// Scope of Network Manager. +type NetworkManagerPropertiesResponseNetworkManagerScopes struct { + // List of cross tenant scopes. + CrossTenantScopes []CrossTenantScopesResponse `pulumi:"crossTenantScopes"` + // List of management groups. + ManagementGroups []string `pulumi:"managementGroups"` + // List of subscriptions. + Subscriptions []string `pulumi:"subscriptions"` } -// List of destination IP addresses or Service Tags. -func (o NetworkRuleConditionOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleCondition) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) -} +// Scope of Network Manager. +type NetworkManagerPropertiesResponseNetworkManagerScopesOutput struct{ *pulumi.OutputState } -// List of destination IpGroups for this rule. -func (o NetworkRuleConditionOutput) DestinationIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleCondition) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) +func (NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerPropertiesResponseNetworkManagerScopes)(nil)).Elem() } -// List of destination ports. -func (o NetworkRuleConditionOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleCondition) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ToNetworkManagerPropertiesResponseNetworkManagerScopesOutput() NetworkManagerPropertiesResponseNetworkManagerScopesOutput { + return o } -// Array of FirewallPolicyRuleConditionNetworkProtocols. -func (o NetworkRuleConditionOutput) IpProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleCondition) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) +func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ToNetworkManagerPropertiesResponseNetworkManagerScopesOutputWithContext(ctx context.Context) NetworkManagerPropertiesResponseNetworkManagerScopesOutput { + return o } -// Name of the rule condition. -func (o NetworkRuleConditionOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRuleCondition) *string { return v.Name }).(pulumi.StringPtrOutput) +// List of cross tenant scopes. +func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) CrossTenantScopes() CrossTenantScopesResponseArrayOutput { + return o.ApplyT(func(v NetworkManagerPropertiesResponseNetworkManagerScopes) []CrossTenantScopesResponse { + return v.CrossTenantScopes + }).(CrossTenantScopesResponseArrayOutput) } -// Rule Condition Type. -// Expected value is 'NetworkRuleCondition'. -func (o NetworkRuleConditionOutput) RuleConditionType() pulumi.StringOutput { - return o.ApplyT(func(v NetworkRuleCondition) string { return v.RuleConditionType }).(pulumi.StringOutput) +// List of management groups. +func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) ManagementGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkManagerPropertiesResponseNetworkManagerScopes) []string { return v.ManagementGroups }).(pulumi.StringArrayOutput) } -// List of source IP addresses for this rule. -func (o NetworkRuleConditionOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleCondition) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +// List of subscriptions. +func (o NetworkManagerPropertiesResponseNetworkManagerScopesOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkManagerPropertiesResponseNetworkManagerScopes) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) } -// List of source IpGroups for this rule. -func (o NetworkRuleConditionOutput) SourceIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleCondition) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) +// Network manager routing group item. +type NetworkManagerRoutingGroupItem struct { + // Network manager group Id. + NetworkGroupId string `pulumi:"networkGroupId"` } -type NetworkRuleConditionPtrOutput struct{ *pulumi.OutputState } +// NetworkManagerRoutingGroupItemInput is an input type that accepts NetworkManagerRoutingGroupItemArgs and NetworkManagerRoutingGroupItemOutput values. +// You can construct a concrete instance of `NetworkManagerRoutingGroupItemInput` via: +// +// NetworkManagerRoutingGroupItemArgs{...} +type NetworkManagerRoutingGroupItemInput interface { + pulumi.Input -func (NetworkRuleConditionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkRuleCondition)(nil)).Elem() + ToNetworkManagerRoutingGroupItemOutput() NetworkManagerRoutingGroupItemOutput + ToNetworkManagerRoutingGroupItemOutputWithContext(context.Context) NetworkManagerRoutingGroupItemOutput } -func (o NetworkRuleConditionPtrOutput) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { - return o +// Network manager routing group item. +type NetworkManagerRoutingGroupItemArgs struct { + // Network manager group Id. + NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` } -func (o NetworkRuleConditionPtrOutput) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { - return o +func (NetworkManagerRoutingGroupItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerRoutingGroupItem)(nil)).Elem() } -func (o NetworkRuleConditionPtrOutput) Elem() NetworkRuleConditionOutput { - return o.ApplyT(func(v *NetworkRuleCondition) NetworkRuleCondition { - if v != nil { - return *v - } - var ret NetworkRuleCondition - return ret - }).(NetworkRuleConditionOutput) +func (i NetworkManagerRoutingGroupItemArgs) ToNetworkManagerRoutingGroupItemOutput() NetworkManagerRoutingGroupItemOutput { + return i.ToNetworkManagerRoutingGroupItemOutputWithContext(context.Background()) } -// Description of the rule condition. -func (o NetworkRuleConditionPtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkRuleCondition) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) +func (i NetworkManagerRoutingGroupItemArgs) ToNetworkManagerRoutingGroupItemOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerRoutingGroupItemOutput) } -// List of destination IP addresses or Service Tags. -func (o NetworkRuleConditionPtrOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleCondition) []string { - if v == nil { - return nil - } - return v.DestinationAddresses - }).(pulumi.StringArrayOutput) -} +// NetworkManagerRoutingGroupItemArrayInput is an input type that accepts NetworkManagerRoutingGroupItemArray and NetworkManagerRoutingGroupItemArrayOutput values. +// You can construct a concrete instance of `NetworkManagerRoutingGroupItemArrayInput` via: +// +// NetworkManagerRoutingGroupItemArray{ NetworkManagerRoutingGroupItemArgs{...} } +type NetworkManagerRoutingGroupItemArrayInput interface { + pulumi.Input -// List of destination IpGroups for this rule. -func (o NetworkRuleConditionPtrOutput) DestinationIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleCondition) []string { - if v == nil { - return nil - } - return v.DestinationIpGroups - }).(pulumi.StringArrayOutput) + ToNetworkManagerRoutingGroupItemArrayOutput() NetworkManagerRoutingGroupItemArrayOutput + ToNetworkManagerRoutingGroupItemArrayOutputWithContext(context.Context) NetworkManagerRoutingGroupItemArrayOutput } -// List of destination ports. -func (o NetworkRuleConditionPtrOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleCondition) []string { - if v == nil { - return nil - } - return v.DestinationPorts - }).(pulumi.StringArrayOutput) +type NetworkManagerRoutingGroupItemArray []NetworkManagerRoutingGroupItemInput + +func (NetworkManagerRoutingGroupItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerRoutingGroupItem)(nil)).Elem() } -// Array of FirewallPolicyRuleConditionNetworkProtocols. -func (o NetworkRuleConditionPtrOutput) IpProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleCondition) []string { - if v == nil { - return nil - } - return v.IpProtocols - }).(pulumi.StringArrayOutput) +func (i NetworkManagerRoutingGroupItemArray) ToNetworkManagerRoutingGroupItemArrayOutput() NetworkManagerRoutingGroupItemArrayOutput { + return i.ToNetworkManagerRoutingGroupItemArrayOutputWithContext(context.Background()) } -// Name of the rule condition. -func (o NetworkRuleConditionPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkRuleCondition) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) +func (i NetworkManagerRoutingGroupItemArray) ToNetworkManagerRoutingGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerRoutingGroupItemArrayOutput) } -// Rule Condition Type. -// Expected value is 'NetworkRuleCondition'. -func (o NetworkRuleConditionPtrOutput) RuleConditionType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkRuleCondition) *string { - if v == nil { - return nil - } - return &v.RuleConditionType - }).(pulumi.StringPtrOutput) +// Network manager routing group item. +type NetworkManagerRoutingGroupItemOutput struct{ *pulumi.OutputState } + +func (NetworkManagerRoutingGroupItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerRoutingGroupItem)(nil)).Elem() } -// List of source IP addresses for this rule. -func (o NetworkRuleConditionPtrOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleCondition) []string { - if v == nil { - return nil - } - return v.SourceAddresses - }).(pulumi.StringArrayOutput) +func (o NetworkManagerRoutingGroupItemOutput) ToNetworkManagerRoutingGroupItemOutput() NetworkManagerRoutingGroupItemOutput { + return o } -// List of source IpGroups for this rule. -func (o NetworkRuleConditionPtrOutput) SourceIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleCondition) []string { - if v == nil { - return nil - } - return v.SourceIpGroups - }).(pulumi.StringArrayOutput) +func (o NetworkManagerRoutingGroupItemOutput) ToNetworkManagerRoutingGroupItemOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemOutput { + return o } -// Rule condition of type network. -type NetworkRuleConditionResponse struct { - // Description of the rule condition. - Description *string `pulumi:"description"` - // List of destination IP addresses or Service Tags. - DestinationAddresses []string `pulumi:"destinationAddresses"` - // List of destination IpGroups for this rule. - DestinationIpGroups []string `pulumi:"destinationIpGroups"` - // List of destination ports. - DestinationPorts []string `pulumi:"destinationPorts"` - // Array of FirewallPolicyRuleConditionNetworkProtocols. - IpProtocols []string `pulumi:"ipProtocols"` - // Name of the rule condition. - Name *string `pulumi:"name"` - // Rule Condition Type. - // Expected value is 'NetworkRuleCondition'. - RuleConditionType string `pulumi:"ruleConditionType"` - // List of source IP addresses for this rule. - SourceAddresses []string `pulumi:"sourceAddresses"` - // List of source IpGroups for this rule. - SourceIpGroups []string `pulumi:"sourceIpGroups"` +// Network manager group Id. +func (o NetworkManagerRoutingGroupItemOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v NetworkManagerRoutingGroupItem) string { return v.NetworkGroupId }).(pulumi.StringOutput) } -// Rule condition of type network. -type NetworkRuleConditionResponseOutput struct{ *pulumi.OutputState } +type NetworkManagerRoutingGroupItemArrayOutput struct{ *pulumi.OutputState } -func (NetworkRuleConditionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkRuleConditionResponse)(nil)).Elem() +func (NetworkManagerRoutingGroupItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerRoutingGroupItem)(nil)).Elem() } -func (o NetworkRuleConditionResponseOutput) ToNetworkRuleConditionResponseOutput() NetworkRuleConditionResponseOutput { +func (o NetworkManagerRoutingGroupItemArrayOutput) ToNetworkManagerRoutingGroupItemArrayOutput() NetworkManagerRoutingGroupItemArrayOutput { return o } -func (o NetworkRuleConditionResponseOutput) ToNetworkRuleConditionResponseOutputWithContext(ctx context.Context) NetworkRuleConditionResponseOutput { +func (o NetworkManagerRoutingGroupItemArrayOutput) ToNetworkManagerRoutingGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemArrayOutput { return o } -// Description of the rule condition. -func (o NetworkRuleConditionResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -// List of destination IP addresses or Service Tags. -func (o NetworkRuleConditionResponseOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) -} - -// List of destination IpGroups for this rule. -func (o NetworkRuleConditionResponseOutput) DestinationIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) +func (o NetworkManagerRoutingGroupItemArrayOutput) Index(i pulumi.IntInput) NetworkManagerRoutingGroupItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerRoutingGroupItem { + return vs[0].([]NetworkManagerRoutingGroupItem)[vs[1].(int)] + }).(NetworkManagerRoutingGroupItemOutput) } -// List of destination ports. -func (o NetworkRuleConditionResponseOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +// Network manager routing group item. +type NetworkManagerRoutingGroupItemResponse struct { + // Network manager group Id. + NetworkGroupId string `pulumi:"networkGroupId"` } -// Array of FirewallPolicyRuleConditionNetworkProtocols. -func (o NetworkRuleConditionResponseOutput) IpProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) -} +// Network manager routing group item. +type NetworkManagerRoutingGroupItemResponseOutput struct{ *pulumi.OutputState } -// Name of the rule condition. -func (o NetworkRuleConditionResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +func (NetworkManagerRoutingGroupItemResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerRoutingGroupItemResponse)(nil)).Elem() } -// Rule Condition Type. -// Expected value is 'NetworkRuleCondition'. -func (o NetworkRuleConditionResponseOutput) RuleConditionType() pulumi.StringOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) string { return v.RuleConditionType }).(pulumi.StringOutput) +func (o NetworkManagerRoutingGroupItemResponseOutput) ToNetworkManagerRoutingGroupItemResponseOutput() NetworkManagerRoutingGroupItemResponseOutput { + return o } -// List of source IP addresses for this rule. -func (o NetworkRuleConditionResponseOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +func (o NetworkManagerRoutingGroupItemResponseOutput) ToNetworkManagerRoutingGroupItemResponseOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemResponseOutput { + return o } -// List of source IpGroups for this rule. -func (o NetworkRuleConditionResponseOutput) SourceIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) +// Network manager group Id. +func (o NetworkManagerRoutingGroupItemResponseOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v NetworkManagerRoutingGroupItemResponse) string { return v.NetworkGroupId }).(pulumi.StringOutput) } -type NetworkRuleConditionResponsePtrOutput struct{ *pulumi.OutputState } +type NetworkManagerRoutingGroupItemResponseArrayOutput struct{ *pulumi.OutputState } -func (NetworkRuleConditionResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkRuleConditionResponse)(nil)).Elem() +func (NetworkManagerRoutingGroupItemResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerRoutingGroupItemResponse)(nil)).Elem() } -func (o NetworkRuleConditionResponsePtrOutput) ToNetworkRuleConditionResponsePtrOutput() NetworkRuleConditionResponsePtrOutput { +func (o NetworkManagerRoutingGroupItemResponseArrayOutput) ToNetworkManagerRoutingGroupItemResponseArrayOutput() NetworkManagerRoutingGroupItemResponseArrayOutput { return o } -func (o NetworkRuleConditionResponsePtrOutput) ToNetworkRuleConditionResponsePtrOutputWithContext(ctx context.Context) NetworkRuleConditionResponsePtrOutput { +func (o NetworkManagerRoutingGroupItemResponseArrayOutput) ToNetworkManagerRoutingGroupItemResponseArrayOutputWithContext(ctx context.Context) NetworkManagerRoutingGroupItemResponseArrayOutput { return o } -func (o NetworkRuleConditionResponsePtrOutput) Elem() NetworkRuleConditionResponseOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) NetworkRuleConditionResponse { - if v != nil { - return *v - } - var ret NetworkRuleConditionResponse - return ret - }).(NetworkRuleConditionResponseOutput) +func (o NetworkManagerRoutingGroupItemResponseArrayOutput) Index(i pulumi.IntInput) NetworkManagerRoutingGroupItemResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerRoutingGroupItemResponse { + return vs[0].([]NetworkManagerRoutingGroupItemResponse)[vs[1].(int)] + }).(NetworkManagerRoutingGroupItemResponseOutput) } -// Description of the rule condition. -func (o NetworkRuleConditionResponsePtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) +// Network manager security group item. +type NetworkManagerSecurityGroupItem struct { + // Network manager group Id. + NetworkGroupId string `pulumi:"networkGroupId"` } -// List of destination IP addresses or Service Tags. -func (o NetworkRuleConditionResponsePtrOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { - if v == nil { - return nil - } - return v.DestinationAddresses - }).(pulumi.StringArrayOutput) -} +// NetworkManagerSecurityGroupItemInput is an input type that accepts NetworkManagerSecurityGroupItemArgs and NetworkManagerSecurityGroupItemOutput values. +// You can construct a concrete instance of `NetworkManagerSecurityGroupItemInput` via: +// +// NetworkManagerSecurityGroupItemArgs{...} +type NetworkManagerSecurityGroupItemInput interface { + pulumi.Input -// List of destination IpGroups for this rule. -func (o NetworkRuleConditionResponsePtrOutput) DestinationIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { - if v == nil { - return nil - } - return v.DestinationIpGroups - }).(pulumi.StringArrayOutput) + ToNetworkManagerSecurityGroupItemOutput() NetworkManagerSecurityGroupItemOutput + ToNetworkManagerSecurityGroupItemOutputWithContext(context.Context) NetworkManagerSecurityGroupItemOutput } -// List of destination ports. -func (o NetworkRuleConditionResponsePtrOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { - if v == nil { - return nil - } - return v.DestinationPorts - }).(pulumi.StringArrayOutput) +// Network manager security group item. +type NetworkManagerSecurityGroupItemArgs struct { + // Network manager group Id. + NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` } -// Array of FirewallPolicyRuleConditionNetworkProtocols. -func (o NetworkRuleConditionResponsePtrOutput) IpProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { - if v == nil { - return nil - } - return v.IpProtocols - }).(pulumi.StringArrayOutput) +func (NetworkManagerSecurityGroupItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerSecurityGroupItem)(nil)).Elem() } -// Name of the rule condition. -func (o NetworkRuleConditionResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) -} - -// Rule Condition Type. -// Expected value is 'NetworkRuleCondition'. -func (o NetworkRuleConditionResponsePtrOutput) RuleConditionType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) *string { - if v == nil { - return nil - } - return &v.RuleConditionType - }).(pulumi.StringPtrOutput) +func (i NetworkManagerSecurityGroupItemArgs) ToNetworkManagerSecurityGroupItemOutput() NetworkManagerSecurityGroupItemOutput { + return i.ToNetworkManagerSecurityGroupItemOutputWithContext(context.Background()) } -// List of source IP addresses for this rule. -func (o NetworkRuleConditionResponsePtrOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { - if v == nil { - return nil - } - return v.SourceAddresses - }).(pulumi.StringArrayOutput) +func (i NetworkManagerSecurityGroupItemArgs) ToNetworkManagerSecurityGroupItemOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerSecurityGroupItemOutput) } -// List of source IpGroups for this rule. -func (o NetworkRuleConditionResponsePtrOutput) SourceIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { - if v == nil { - return nil - } - return v.SourceIpGroups - }).(pulumi.StringArrayOutput) -} +// NetworkManagerSecurityGroupItemArrayInput is an input type that accepts NetworkManagerSecurityGroupItemArray and NetworkManagerSecurityGroupItemArrayOutput values. +// You can construct a concrete instance of `NetworkManagerSecurityGroupItemArrayInput` via: +// +// NetworkManagerSecurityGroupItemArray{ NetworkManagerSecurityGroupItemArgs{...} } +type NetworkManagerSecurityGroupItemArrayInput interface { + pulumi.Input -// Rule of type network. -type NetworkRuleResponse struct { - // Description of the rule. - Description *string `pulumi:"description"` - // List of destination IP addresses or Service Tags. - DestinationAddresses []string `pulumi:"destinationAddresses"` - // List of destination FQDNs. - DestinationFqdns []string `pulumi:"destinationFqdns"` - // List of destination IpGroups for this rule. - DestinationIpGroups []string `pulumi:"destinationIpGroups"` - // List of destination ports. - DestinationPorts []string `pulumi:"destinationPorts"` - // Array of FirewallPolicyRuleNetworkProtocols. - IpProtocols []string `pulumi:"ipProtocols"` - // Name of the rule. - Name *string `pulumi:"name"` - // Rule Type. - // Expected value is 'NetworkRule'. - RuleType string `pulumi:"ruleType"` - // List of source IP addresses for this rule. - SourceAddresses []string `pulumi:"sourceAddresses"` - // List of source IpGroups for this rule. - SourceIpGroups []string `pulumi:"sourceIpGroups"` + ToNetworkManagerSecurityGroupItemArrayOutput() NetworkManagerSecurityGroupItemArrayOutput + ToNetworkManagerSecurityGroupItemArrayOutputWithContext(context.Context) NetworkManagerSecurityGroupItemArrayOutput } -// Rule of type network. -type NetworkRuleResponseOutput struct{ *pulumi.OutputState } +type NetworkManagerSecurityGroupItemArray []NetworkManagerSecurityGroupItemInput -func (NetworkRuleResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkRuleResponse)(nil)).Elem() +func (NetworkManagerSecurityGroupItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerSecurityGroupItem)(nil)).Elem() } -func (o NetworkRuleResponseOutput) ToNetworkRuleResponseOutput() NetworkRuleResponseOutput { - return o +func (i NetworkManagerSecurityGroupItemArray) ToNetworkManagerSecurityGroupItemArrayOutput() NetworkManagerSecurityGroupItemArrayOutput { + return i.ToNetworkManagerSecurityGroupItemArrayOutputWithContext(context.Background()) } -func (o NetworkRuleResponseOutput) ToNetworkRuleResponseOutputWithContext(ctx context.Context) NetworkRuleResponseOutput { - return o +func (i NetworkManagerSecurityGroupItemArray) ToNetworkManagerSecurityGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkManagerSecurityGroupItemArrayOutput) } -// Description of the rule. -func (o NetworkRuleResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRuleResponse) *string { return v.Description }).(pulumi.StringPtrOutput) -} +// Network manager security group item. +type NetworkManagerSecurityGroupItemOutput struct{ *pulumi.OutputState } -// List of destination IP addresses or Service Tags. -func (o NetworkRuleResponseOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) +func (NetworkManagerSecurityGroupItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerSecurityGroupItem)(nil)).Elem() } -// List of destination FQDNs. -func (o NetworkRuleResponseOutput) DestinationFqdns() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationFqdns }).(pulumi.StringArrayOutput) +func (o NetworkManagerSecurityGroupItemOutput) ToNetworkManagerSecurityGroupItemOutput() NetworkManagerSecurityGroupItemOutput { + return o } -// List of destination IpGroups for this rule. -func (o NetworkRuleResponseOutput) DestinationIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) +func (o NetworkManagerSecurityGroupItemOutput) ToNetworkManagerSecurityGroupItemOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemOutput { + return o } -// List of destination ports. -func (o NetworkRuleResponseOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +// Network manager group Id. +func (o NetworkManagerSecurityGroupItemOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v NetworkManagerSecurityGroupItem) string { return v.NetworkGroupId }).(pulumi.StringOutput) } -// Array of FirewallPolicyRuleNetworkProtocols. -func (o NetworkRuleResponseOutput) IpProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) -} +type NetworkManagerSecurityGroupItemArrayOutput struct{ *pulumi.OutputState } -// Name of the rule. -func (o NetworkRuleResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +func (NetworkManagerSecurityGroupItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerSecurityGroupItem)(nil)).Elem() } -// Rule Type. -// Expected value is 'NetworkRule'. -func (o NetworkRuleResponseOutput) RuleType() pulumi.StringOutput { - return o.ApplyT(func(v NetworkRuleResponse) string { return v.RuleType }).(pulumi.StringOutput) +func (o NetworkManagerSecurityGroupItemArrayOutput) ToNetworkManagerSecurityGroupItemArrayOutput() NetworkManagerSecurityGroupItemArrayOutput { + return o } -// List of source IP addresses for this rule. -func (o NetworkRuleResponseOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +func (o NetworkManagerSecurityGroupItemArrayOutput) ToNetworkManagerSecurityGroupItemArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemArrayOutput { + return o } -// List of source IpGroups for this rule. -func (o NetworkRuleResponseOutput) SourceIpGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkRuleResponse) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) +func (o NetworkManagerSecurityGroupItemArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItem { + return vs[0].([]NetworkManagerSecurityGroupItem)[vs[1].(int)] + }).(NetworkManagerSecurityGroupItemOutput) } -// NetworkSecurityGroup resource. -type NetworkSecurityGroupType struct { - // The default security rules of network security group. - DefaultSecurityRules []SecurityRuleType `pulumi:"defaultSecurityRules"` - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. - FlushConnection *bool `pulumi:"flushConnection"` - // Resource ID. - Id *string `pulumi:"id"` - // Resource location. - Location *string `pulumi:"location"` - // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState *string `pulumi:"provisioningState"` - // The resource GUID property of the network security group resource. - ResourceGuid *string `pulumi:"resourceGuid"` - // A collection of security rules of the network security group. - SecurityRules []SecurityRuleType `pulumi:"securityRules"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponse struct { + // Network manager group Id. + NetworkGroupId string `pulumi:"networkGroupId"` } -// NetworkSecurityGroupTypeInput is an input type that accepts NetworkSecurityGroupTypeArgs and NetworkSecurityGroupTypeOutput values. -// You can construct a concrete instance of `NetworkSecurityGroupTypeInput` via: -// -// NetworkSecurityGroupTypeArgs{...} -type NetworkSecurityGroupTypeInput interface { - pulumi.Input +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseOutput struct{ *pulumi.OutputState } - ToNetworkSecurityGroupTypeOutput() NetworkSecurityGroupTypeOutput - ToNetworkSecurityGroupTypeOutputWithContext(context.Context) NetworkSecurityGroupTypeOutput +func (NetworkManagerSecurityGroupItemResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerSecurityGroupItemResponse)(nil)).Elem() } -// NetworkSecurityGroup resource. -type NetworkSecurityGroupTypeArgs struct { - // The default security rules of network security group. - DefaultSecurityRules SecurityRuleTypeArrayInput `pulumi:"defaultSecurityRules"` - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. - FlushConnection pulumi.BoolPtrInput `pulumi:"flushConnection"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Resource location. - Location pulumi.StringPtrInput `pulumi:"location"` - // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` - // The resource GUID property of the network security group resource. - ResourceGuid pulumi.StringPtrInput `pulumi:"resourceGuid"` - // A collection of security rules of the network security group. - SecurityRules SecurityRuleTypeArrayInput `pulumi:"securityRules"` - // Resource tags. - Tags pulumi.StringMapInput `pulumi:"tags"` +func (o NetworkManagerSecurityGroupItemResponseOutput) ToNetworkManagerSecurityGroupItemResponseOutput() NetworkManagerSecurityGroupItemResponseOutput { + return o } -func (NetworkSecurityGroupTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkSecurityGroupType)(nil)).Elem() +func (o NetworkManagerSecurityGroupItemResponseOutput) ToNetworkManagerSecurityGroupItemResponseOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseOutput { + return o } -func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypeOutput() NetworkSecurityGroupTypeOutput { - return i.ToNetworkSecurityGroupTypeOutputWithContext(context.Background()) +// Network manager group Id. +func (o NetworkManagerSecurityGroupItemResponseOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v NetworkManagerSecurityGroupItemResponse) string { return v.NetworkGroupId }).(pulumi.StringOutput) } -func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypeOutputWithContext(ctx context.Context) NetworkSecurityGroupTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkSecurityGroupTypeOutput) +type NetworkManagerSecurityGroupItemResponseArrayOutput struct{ *pulumi.OutputState } + +func (NetworkManagerSecurityGroupItemResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerSecurityGroupItemResponse)(nil)).Elem() } -func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { - return i.ToNetworkSecurityGroupTypePtrOutputWithContext(context.Background()) +func (o NetworkManagerSecurityGroupItemResponseArrayOutput) ToNetworkManagerSecurityGroupItemResponseArrayOutput() NetworkManagerSecurityGroupItemResponseArrayOutput { + return o } -func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkSecurityGroupTypeOutput).ToNetworkSecurityGroupTypePtrOutputWithContext(ctx) +func (o NetworkManagerSecurityGroupItemResponseArrayOutput) ToNetworkManagerSecurityGroupItemResponseArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseArrayOutput { + return o } -// NetworkSecurityGroupTypePtrInput is an input type that accepts NetworkSecurityGroupTypeArgs, NetworkSecurityGroupTypePtr and NetworkSecurityGroupTypePtrOutput values. -// You can construct a concrete instance of `NetworkSecurityGroupTypePtrInput` via: -// -// NetworkSecurityGroupTypeArgs{...} -// -// or: -// -// nil -type NetworkSecurityGroupTypePtrInput interface { - pulumi.Input +func (o NetworkManagerSecurityGroupItemResponseArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItemResponse { + return vs[0].([]NetworkManagerSecurityGroupItemResponse)[vs[1].(int)] + }).(NetworkManagerSecurityGroupItemResponseOutput) +} - ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput - ToNetworkSecurityGroupTypePtrOutputWithContext(context.Context) NetworkSecurityGroupTypePtrOutput +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseV1 struct { + // Network manager group Id. + NetworkGroupId *string `pulumi:"networkGroupId"` } -type networkSecurityGroupTypePtrType NetworkSecurityGroupTypeArgs +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseV1Output struct{ *pulumi.OutputState } -func NetworkSecurityGroupTypePtr(v *NetworkSecurityGroupTypeArgs) NetworkSecurityGroupTypePtrInput { - return (*networkSecurityGroupTypePtrType)(v) +func (NetworkManagerSecurityGroupItemResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerSecurityGroupItemResponseV1)(nil)).Elem() } -func (*networkSecurityGroupTypePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkSecurityGroupType)(nil)).Elem() +func (o NetworkManagerSecurityGroupItemResponseV1Output) ToNetworkManagerSecurityGroupItemResponseV1Output() NetworkManagerSecurityGroupItemResponseV1Output { + return o } -func (i *networkSecurityGroupTypePtrType) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { - return i.ToNetworkSecurityGroupTypePtrOutputWithContext(context.Background()) +func (o NetworkManagerSecurityGroupItemResponseV1Output) ToNetworkManagerSecurityGroupItemResponseV1OutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseV1Output { + return o } -func (i *networkSecurityGroupTypePtrType) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkSecurityGroupTypePtrOutput) +// Network manager group Id. +func (o NetworkManagerSecurityGroupItemResponseV1Output) NetworkGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerSecurityGroupItemResponseV1) *string { return v.NetworkGroupId }).(pulumi.StringPtrOutput) } -// NetworkSecurityGroup resource. -type NetworkSecurityGroupTypeOutput struct{ *pulumi.OutputState } +type NetworkManagerSecurityGroupItemResponseV1ArrayOutput struct{ *pulumi.OutputState } -func (NetworkSecurityGroupTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkSecurityGroupType)(nil)).Elem() +func (NetworkManagerSecurityGroupItemResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerSecurityGroupItemResponseV1)(nil)).Elem() } -func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypeOutput() NetworkSecurityGroupTypeOutput { +func (o NetworkManagerSecurityGroupItemResponseV1ArrayOutput) ToNetworkManagerSecurityGroupItemResponseV1ArrayOutput() NetworkManagerSecurityGroupItemResponseV1ArrayOutput { return o } -func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypeOutputWithContext(ctx context.Context) NetworkSecurityGroupTypeOutput { +func (o NetworkManagerSecurityGroupItemResponseV1ArrayOutput) ToNetworkManagerSecurityGroupItemResponseV1ArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseV1ArrayOutput { return o } -func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { - return o.ToNetworkSecurityGroupTypePtrOutputWithContext(context.Background()) +func (o NetworkManagerSecurityGroupItemResponseV1ArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItemResponseV1 { + return vs[0].([]NetworkManagerSecurityGroupItemResponseV1)[vs[1].(int)] + }).(NetworkManagerSecurityGroupItemResponseV1Output) } -func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkSecurityGroupType) *NetworkSecurityGroupType { - return &v - }).(NetworkSecurityGroupTypePtrOutput) +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseV2 struct { + // Network manager group Id. + NetworkGroupId *string `pulumi:"networkGroupId"` } -// The default security rules of network security group. -func (o NetworkSecurityGroupTypeOutput) DefaultSecurityRules() SecurityRuleTypeArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) []SecurityRuleType { return v.DefaultSecurityRules }).(SecurityRuleTypeArrayOutput) +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseV2Output struct{ *pulumi.OutputState } + +func (NetworkManagerSecurityGroupItemResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerSecurityGroupItemResponseV2)(nil)).Elem() } -// A unique read-only string that changes whenever the resource is updated. -func (o NetworkSecurityGroupTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.Etag }).(pulumi.StringPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV2Output) ToNetworkManagerSecurityGroupItemResponseV2Output() NetworkManagerSecurityGroupItemResponseV2Output { + return o } -// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. -func (o NetworkSecurityGroupTypeOutput) FlushConnection() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) *bool { return v.FlushConnection }).(pulumi.BoolPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV2Output) ToNetworkManagerSecurityGroupItemResponseV2OutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseV2Output { + return o } -// Resource ID. -func (o NetworkSecurityGroupTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.Id }).(pulumi.StringPtrOutput) +// Network manager group Id. +func (o NetworkManagerSecurityGroupItemResponseV2Output) NetworkGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerSecurityGroupItemResponseV2) *string { return v.NetworkGroupId }).(pulumi.StringPtrOutput) } -// Resource location. -func (o NetworkSecurityGroupTypeOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.Location }).(pulumi.StringPtrOutput) +type NetworkManagerSecurityGroupItemResponseV2ArrayOutput struct{ *pulumi.OutputState } + +func (NetworkManagerSecurityGroupItemResponseV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerSecurityGroupItemResponseV2)(nil)).Elem() } -// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o NetworkSecurityGroupTypeOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV2ArrayOutput) ToNetworkManagerSecurityGroupItemResponseV2ArrayOutput() NetworkManagerSecurityGroupItemResponseV2ArrayOutput { + return o } -// The resource GUID property of the network security group resource. -func (o NetworkSecurityGroupTypeOutput) ResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.ResourceGuid }).(pulumi.StringPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV2ArrayOutput) ToNetworkManagerSecurityGroupItemResponseV2ArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseV2ArrayOutput { + return o } -// A collection of security rules of the network security group. -func (o NetworkSecurityGroupTypeOutput) SecurityRules() SecurityRuleTypeArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) []SecurityRuleType { return v.SecurityRules }).(SecurityRuleTypeArrayOutput) +func (o NetworkManagerSecurityGroupItemResponseV2ArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemResponseV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItemResponseV2 { + return vs[0].([]NetworkManagerSecurityGroupItemResponseV2)[vs[1].(int)] + }).(NetworkManagerSecurityGroupItemResponseV2Output) } -// Resource tags. -func (o NetworkSecurityGroupTypeOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v NetworkSecurityGroupType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseV3 struct { + // Network manager group Id. + NetworkGroupId *string `pulumi:"networkGroupId"` } -type NetworkSecurityGroupTypePtrOutput struct{ *pulumi.OutputState } +// Network manager security group item. +type NetworkManagerSecurityGroupItemResponseV3Output struct{ *pulumi.OutputState } -func (NetworkSecurityGroupTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkSecurityGroupType)(nil)).Elem() +func (NetworkManagerSecurityGroupItemResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkManagerSecurityGroupItemResponseV3)(nil)).Elem() } -func (o NetworkSecurityGroupTypePtrOutput) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { +func (o NetworkManagerSecurityGroupItemResponseV3Output) ToNetworkManagerSecurityGroupItemResponseV3Output() NetworkManagerSecurityGroupItemResponseV3Output { return o } -func (o NetworkSecurityGroupTypePtrOutput) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { +func (o NetworkManagerSecurityGroupItemResponseV3Output) ToNetworkManagerSecurityGroupItemResponseV3OutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseV3Output { return o } -func (o NetworkSecurityGroupTypePtrOutput) Elem() NetworkSecurityGroupTypeOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) NetworkSecurityGroupType { - if v != nil { - return *v - } - var ret NetworkSecurityGroupType - return ret - }).(NetworkSecurityGroupTypeOutput) +// Network manager group Id. +func (o NetworkManagerSecurityGroupItemResponseV3Output) NetworkGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkManagerSecurityGroupItemResponseV3) *string { return v.NetworkGroupId }).(pulumi.StringPtrOutput) } -// The default security rules of network security group. -func (o NetworkSecurityGroupTypePtrOutput) DefaultSecurityRules() SecurityRuleTypeArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) []SecurityRuleType { - if v == nil { - return nil - } - return v.DefaultSecurityRules - }).(SecurityRuleTypeArrayOutput) +type NetworkManagerSecurityGroupItemResponseV3ArrayOutput struct{ *pulumi.OutputState } + +func (NetworkManagerSecurityGroupItemResponseV3ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkManagerSecurityGroupItemResponseV3)(nil)).Elem() } -// A unique read-only string that changes whenever the resource is updated. -func (o NetworkSecurityGroupTypePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) *string { - if v == nil { - return nil - } - return v.Etag - }).(pulumi.StringPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV3ArrayOutput) ToNetworkManagerSecurityGroupItemResponseV3ArrayOutput() NetworkManagerSecurityGroupItemResponseV3ArrayOutput { + return o } -// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. -func (o NetworkSecurityGroupTypePtrOutput) FlushConnection() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) *bool { - if v == nil { - return nil - } - return v.FlushConnection - }).(pulumi.BoolPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV3ArrayOutput) ToNetworkManagerSecurityGroupItemResponseV3ArrayOutputWithContext(ctx context.Context) NetworkManagerSecurityGroupItemResponseV3ArrayOutput { + return o } -// Resource ID. -func (o NetworkSecurityGroupTypePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +func (o NetworkManagerSecurityGroupItemResponseV3ArrayOutput) Index(i pulumi.IntInput) NetworkManagerSecurityGroupItemResponseV3Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkManagerSecurityGroupItemResponseV3 { + return vs[0].([]NetworkManagerSecurityGroupItemResponseV3)[vs[1].(int)] + }).(NetworkManagerSecurityGroupItemResponseV3Output) } -// Resource location. -func (o NetworkSecurityGroupTypePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) +// Rule of type network. +type NetworkRule struct { + // Description of the rule. + Description *string `pulumi:"description"` + // List of destination IP addresses or Service Tags. + DestinationAddresses []string `pulumi:"destinationAddresses"` + // List of destination FQDNs. + DestinationFqdns []string `pulumi:"destinationFqdns"` + // List of destination IpGroups for this rule. + DestinationIpGroups []string `pulumi:"destinationIpGroups"` + // List of destination ports. + DestinationPorts []string `pulumi:"destinationPorts"` + // Array of FirewallPolicyRuleNetworkProtocols. + IpProtocols []string `pulumi:"ipProtocols"` + // Name of the rule. + Name *string `pulumi:"name"` + // Rule Type. + // Expected value is 'NetworkRule'. + RuleType string `pulumi:"ruleType"` + // List of source IP addresses for this rule. + SourceAddresses []string `pulumi:"sourceAddresses"` + // List of source IpGroups for this rule. + SourceIpGroups []string `pulumi:"sourceIpGroups"` } -// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o NetworkSecurityGroupTypePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) *string { - if v == nil { - return nil - } - return v.ProvisioningState - }).(pulumi.StringPtrOutput) +// NetworkRuleInput is an input type that accepts NetworkRuleArgs and NetworkRuleOutput values. +// You can construct a concrete instance of `NetworkRuleInput` via: +// +// NetworkRuleArgs{...} +type NetworkRuleInput interface { + pulumi.Input + + ToNetworkRuleOutput() NetworkRuleOutput + ToNetworkRuleOutputWithContext(context.Context) NetworkRuleOutput } -// The resource GUID property of the network security group resource. -func (o NetworkSecurityGroupTypePtrOutput) ResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) *string { - if v == nil { - return nil - } - return v.ResourceGuid - }).(pulumi.StringPtrOutput) +// Rule of type network. +type NetworkRuleArgs struct { + // Description of the rule. + Description pulumi.StringPtrInput `pulumi:"description"` + // List of destination IP addresses or Service Tags. + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + // List of destination FQDNs. + DestinationFqdns pulumi.StringArrayInput `pulumi:"destinationFqdns"` + // List of destination IpGroups for this rule. + DestinationIpGroups pulumi.StringArrayInput `pulumi:"destinationIpGroups"` + // List of destination ports. + DestinationPorts pulumi.StringArrayInput `pulumi:"destinationPorts"` + // Array of FirewallPolicyRuleNetworkProtocols. + IpProtocols pulumi.StringArrayInput `pulumi:"ipProtocols"` + // Name of the rule. + Name pulumi.StringPtrInput `pulumi:"name"` + // Rule Type. + // Expected value is 'NetworkRule'. + RuleType pulumi.StringInput `pulumi:"ruleType"` + // List of source IP addresses for this rule. + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + // List of source IpGroups for this rule. + SourceIpGroups pulumi.StringArrayInput `pulumi:"sourceIpGroups"` } -// A collection of security rules of the network security group. -func (o NetworkSecurityGroupTypePtrOutput) SecurityRules() SecurityRuleTypeArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) []SecurityRuleType { - if v == nil { - return nil - } - return v.SecurityRules - }).(SecurityRuleTypeArrayOutput) +func (NetworkRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRule)(nil)).Elem() } -// Resource tags. -func (o NetworkSecurityGroupTypePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *NetworkSecurityGroupType) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) +func (i NetworkRuleArgs) ToNetworkRuleOutput() NetworkRuleOutput { + return i.ToNetworkRuleOutputWithContext(context.Background()) } -// NetworkSecurityGroup resource. -type NetworkSecurityGroupResponse struct { - // The default security rules of network security group. - DefaultSecurityRules []SecurityRuleResponse `pulumi:"defaultSecurityRules"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // A collection of references to flow log resources. - FlowLogs []FlowLogResponse `pulumi:"flowLogs"` - // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. - FlushConnection *bool `pulumi:"flushConnection"` - // Resource ID. - Id *string `pulumi:"id"` - // Resource location. - Location *string `pulumi:"location"` - // Resource name. - Name string `pulumi:"name"` - // A collection of references to network interfaces. - NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` - // The provisioning state of the network security group resource. - ProvisioningState string `pulumi:"provisioningState"` - // The resource GUID property of the network security group resource. - ResourceGuid string `pulumi:"resourceGuid"` - // A collection of security rules of the network security group. - SecurityRules []SecurityRuleResponse `pulumi:"securityRules"` - // A collection of references to subnets. - Subnets []SubnetResponse `pulumi:"subnets"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // Resource type. - Type string `pulumi:"type"` +func (i NetworkRuleArgs) ToNetworkRuleOutputWithContext(ctx context.Context) NetworkRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleOutput) } -// NetworkSecurityGroup resource. -type NetworkSecurityGroupResponseOutput struct{ *pulumi.OutputState } +// Rule of type network. +type NetworkRuleOutput struct{ *pulumi.OutputState } -func (NetworkSecurityGroupResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkSecurityGroupResponse)(nil)).Elem() +func (NetworkRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRule)(nil)).Elem() } -func (o NetworkSecurityGroupResponseOutput) ToNetworkSecurityGroupResponseOutput() NetworkSecurityGroupResponseOutput { +func (o NetworkRuleOutput) ToNetworkRuleOutput() NetworkRuleOutput { return o } -func (o NetworkSecurityGroupResponseOutput) ToNetworkSecurityGroupResponseOutputWithContext(ctx context.Context) NetworkSecurityGroupResponseOutput { +func (o NetworkRuleOutput) ToNetworkRuleOutputWithContext(ctx context.Context) NetworkRuleOutput { return o } -// The default security rules of network security group. -func (o NetworkSecurityGroupResponseOutput) DefaultSecurityRules() SecurityRuleResponseArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) []SecurityRuleResponse { return v.DefaultSecurityRules }).(SecurityRuleResponseArrayOutput) +// Description of the rule. +func (o NetworkRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRule) *string { return v.Description }).(pulumi.StringPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o NetworkSecurityGroupResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.Etag }).(pulumi.StringOutput) +// List of destination IP addresses or Service Tags. +func (o NetworkRuleOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) } -// A collection of references to flow log resources. -func (o NetworkSecurityGroupResponseOutput) FlowLogs() FlowLogResponseArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) []FlowLogResponse { return v.FlowLogs }).(FlowLogResponseArrayOutput) +// List of destination FQDNs. +func (o NetworkRuleOutput) DestinationFqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.DestinationFqdns }).(pulumi.StringArrayOutput) } -// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. -func (o NetworkSecurityGroupResponseOutput) FlushConnection() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) *bool { return v.FlushConnection }).(pulumi.BoolPtrOutput) +// List of destination IpGroups for this rule. +func (o NetworkRuleOutput) DestinationIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) } -// Resource ID. -func (o NetworkSecurityGroupResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// List of destination ports. +func (o NetworkRuleOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) } -// Resource location. -func (o NetworkSecurityGroupResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +// Array of FirewallPolicyRuleNetworkProtocols. +func (o NetworkRuleOutput) IpProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) } -// Resource name. -func (o NetworkSecurityGroupResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.Name }).(pulumi.StringOutput) +// Name of the rule. +func (o NetworkRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRule) *string { return v.Name }).(pulumi.StringPtrOutput) } -// A collection of references to network interfaces. -func (o NetworkSecurityGroupResponseOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) +// Rule Type. +// Expected value is 'NetworkRule'. +func (o NetworkRuleOutput) RuleType() pulumi.StringOutput { + return o.ApplyT(func(v NetworkRule) string { return v.RuleType }).(pulumi.StringOutput) } -// The provisioning state of the network security group resource. -func (o NetworkSecurityGroupResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// List of source IP addresses for this rule. +func (o NetworkRuleOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) } -// The resource GUID property of the network security group resource. -func (o NetworkSecurityGroupResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +// List of source IpGroups for this rule. +func (o NetworkRuleOutput) SourceIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRule) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) } -// A collection of security rules of the network security group. -func (o NetworkSecurityGroupResponseOutput) SecurityRules() SecurityRuleResponseArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) []SecurityRuleResponse { return v.SecurityRules }).(SecurityRuleResponseArrayOutput) +// Rule condition of type network. +type NetworkRuleCondition struct { + // Description of the rule condition. + Description *string `pulumi:"description"` + // List of destination IP addresses or Service Tags. + DestinationAddresses []string `pulumi:"destinationAddresses"` + // List of destination IpGroups for this rule. + DestinationIpGroups []string `pulumi:"destinationIpGroups"` + // List of destination ports. + DestinationPorts []string `pulumi:"destinationPorts"` + // Array of FirewallPolicyRuleConditionNetworkProtocols. + IpProtocols []string `pulumi:"ipProtocols"` + // Name of the rule condition. + Name *string `pulumi:"name"` + // Rule Condition Type. + // Expected value is 'NetworkRuleCondition'. + RuleConditionType string `pulumi:"ruleConditionType"` + // List of source IP addresses for this rule. + SourceAddresses []string `pulumi:"sourceAddresses"` + // List of source IpGroups for this rule. + SourceIpGroups []string `pulumi:"sourceIpGroups"` } -// A collection of references to subnets. -func (o NetworkSecurityGroupResponseOutput) Subnets() SubnetResponseArrayOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +// NetworkRuleConditionInput is an input type that accepts NetworkRuleConditionArgs and NetworkRuleConditionOutput values. +// You can construct a concrete instance of `NetworkRuleConditionInput` via: +// +// NetworkRuleConditionArgs{...} +type NetworkRuleConditionInput interface { + pulumi.Input + + ToNetworkRuleConditionOutput() NetworkRuleConditionOutput + ToNetworkRuleConditionOutputWithContext(context.Context) NetworkRuleConditionOutput } -// Resource tags. -func (o NetworkSecurityGroupResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +// Rule condition of type network. +type NetworkRuleConditionArgs struct { + // Description of the rule condition. + Description pulumi.StringPtrInput `pulumi:"description"` + // List of destination IP addresses or Service Tags. + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + // List of destination IpGroups for this rule. + DestinationIpGroups pulumi.StringArrayInput `pulumi:"destinationIpGroups"` + // List of destination ports. + DestinationPorts pulumi.StringArrayInput `pulumi:"destinationPorts"` + // Array of FirewallPolicyRuleConditionNetworkProtocols. + IpProtocols pulumi.StringArrayInput `pulumi:"ipProtocols"` + // Name of the rule condition. + Name pulumi.StringPtrInput `pulumi:"name"` + // Rule Condition Type. + // Expected value is 'NetworkRuleCondition'. + RuleConditionType pulumi.StringInput `pulumi:"ruleConditionType"` + // List of source IP addresses for this rule. + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + // List of source IpGroups for this rule. + SourceIpGroups pulumi.StringArrayInput `pulumi:"sourceIpGroups"` } -// Resource type. -func (o NetworkSecurityGroupResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.Type }).(pulumi.StringOutput) +func (NetworkRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRuleCondition)(nil)).Elem() } -type NetworkSecurityGroupResponsePtrOutput struct{ *pulumi.OutputState } +func (i NetworkRuleConditionArgs) ToNetworkRuleConditionOutput() NetworkRuleConditionOutput { + return i.ToNetworkRuleConditionOutputWithContext(context.Background()) +} -func (NetworkSecurityGroupResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkSecurityGroupResponse)(nil)).Elem() +func (i NetworkRuleConditionArgs) ToNetworkRuleConditionOutputWithContext(ctx context.Context) NetworkRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleConditionOutput) } -func (o NetworkSecurityGroupResponsePtrOutput) ToNetworkSecurityGroupResponsePtrOutput() NetworkSecurityGroupResponsePtrOutput { +func (i NetworkRuleConditionArgs) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { + return i.ToNetworkRuleConditionPtrOutputWithContext(context.Background()) +} + +func (i NetworkRuleConditionArgs) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleConditionOutput).ToNetworkRuleConditionPtrOutputWithContext(ctx) +} + +// NetworkRuleConditionPtrInput is an input type that accepts NetworkRuleConditionArgs, NetworkRuleConditionPtr and NetworkRuleConditionPtrOutput values. +// You can construct a concrete instance of `NetworkRuleConditionPtrInput` via: +// +// NetworkRuleConditionArgs{...} +// +// or: +// +// nil +type NetworkRuleConditionPtrInput interface { + pulumi.Input + + ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput + ToNetworkRuleConditionPtrOutputWithContext(context.Context) NetworkRuleConditionPtrOutput +} + +type networkRuleConditionPtrType NetworkRuleConditionArgs + +func NetworkRuleConditionPtr(v *NetworkRuleConditionArgs) NetworkRuleConditionPtrInput { + return (*networkRuleConditionPtrType)(v) +} + +func (*networkRuleConditionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkRuleCondition)(nil)).Elem() +} + +func (i *networkRuleConditionPtrType) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { + return i.ToNetworkRuleConditionPtrOutputWithContext(context.Background()) +} + +func (i *networkRuleConditionPtrType) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkRuleConditionPtrOutput) +} + +// Rule condition of type network. +type NetworkRuleConditionOutput struct{ *pulumi.OutputState } + +func (NetworkRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRuleCondition)(nil)).Elem() +} + +func (o NetworkRuleConditionOutput) ToNetworkRuleConditionOutput() NetworkRuleConditionOutput { return o } -func (o NetworkSecurityGroupResponsePtrOutput) ToNetworkSecurityGroupResponsePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupResponsePtrOutput { +func (o NetworkRuleConditionOutput) ToNetworkRuleConditionOutputWithContext(ctx context.Context) NetworkRuleConditionOutput { return o } -func (o NetworkSecurityGroupResponsePtrOutput) Elem() NetworkSecurityGroupResponseOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) NetworkSecurityGroupResponse { - if v != nil { - return *v - } - var ret NetworkSecurityGroupResponse - return ret - }).(NetworkSecurityGroupResponseOutput) +func (o NetworkRuleConditionOutput) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { + return o.ToNetworkRuleConditionPtrOutputWithContext(context.Background()) } -// The default security rules of network security group. -func (o NetworkSecurityGroupResponsePtrOutput) DefaultSecurityRules() SecurityRuleResponseArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) []SecurityRuleResponse { - if v == nil { - return nil - } - return v.DefaultSecurityRules - }).(SecurityRuleResponseArrayOutput) +func (o NetworkRuleConditionOutput) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkRuleCondition) *NetworkRuleCondition { + return &v + }).(NetworkRuleConditionPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o NetworkSecurityGroupResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { - if v == nil { - return nil - } - return &v.Etag - }).(pulumi.StringPtrOutput) +// Description of the rule condition. +func (o NetworkRuleConditionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRuleCondition) *string { return v.Description }).(pulumi.StringPtrOutput) } -// A collection of references to flow log resources. -func (o NetworkSecurityGroupResponsePtrOutput) FlowLogs() FlowLogResponseArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) []FlowLogResponse { - if v == nil { - return nil - } - return v.FlowLogs - }).(FlowLogResponseArrayOutput) +// List of destination IP addresses or Service Tags. +func (o NetworkRuleConditionOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleCondition) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) } -// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. -func (o NetworkSecurityGroupResponsePtrOutput) FlushConnection() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *bool { - if v == nil { - return nil - } - return v.FlushConnection - }).(pulumi.BoolPtrOutput) +// List of destination IpGroups for this rule. +func (o NetworkRuleConditionOutput) DestinationIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleCondition) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) } -// Resource ID. -func (o NetworkSecurityGroupResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { - if v == nil { - return nil +// List of destination ports. +func (o NetworkRuleConditionOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleCondition) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +} + +// Array of FirewallPolicyRuleConditionNetworkProtocols. +func (o NetworkRuleConditionOutput) IpProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleCondition) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) +} + +// Name of the rule condition. +func (o NetworkRuleConditionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRuleCondition) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Rule Condition Type. +// Expected value is 'NetworkRuleCondition'. +func (o NetworkRuleConditionOutput) RuleConditionType() pulumi.StringOutput { + return o.ApplyT(func(v NetworkRuleCondition) string { return v.RuleConditionType }).(pulumi.StringOutput) +} + +// List of source IP addresses for this rule. +func (o NetworkRuleConditionOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleCondition) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +} + +// List of source IpGroups for this rule. +func (o NetworkRuleConditionOutput) SourceIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleCondition) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) +} + +type NetworkRuleConditionPtrOutput struct{ *pulumi.OutputState } + +func (NetworkRuleConditionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkRuleCondition)(nil)).Elem() +} + +func (o NetworkRuleConditionPtrOutput) ToNetworkRuleConditionPtrOutput() NetworkRuleConditionPtrOutput { + return o +} + +func (o NetworkRuleConditionPtrOutput) ToNetworkRuleConditionPtrOutputWithContext(ctx context.Context) NetworkRuleConditionPtrOutput { + return o +} + +func (o NetworkRuleConditionPtrOutput) Elem() NetworkRuleConditionOutput { + return o.ApplyT(func(v *NetworkRuleCondition) NetworkRuleCondition { + if v != nil { + return *v } - return v.Id - }).(pulumi.StringPtrOutput) + var ret NetworkRuleCondition + return ret + }).(NetworkRuleConditionOutput) } -// Resource location. -func (o NetworkSecurityGroupResponsePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { +// Description of the rule condition. +func (o NetworkRuleConditionPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkRuleCondition) *string { if v == nil { return nil } - return v.Location + return v.Description }).(pulumi.StringPtrOutput) } -// Resource name. -func (o NetworkSecurityGroupResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { +// List of destination IP addresses or Service Tags. +func (o NetworkRuleConditionPtrOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleCondition) []string { if v == nil { return nil } - return &v.Name - }).(pulumi.StringPtrOutput) + return v.DestinationAddresses + }).(pulumi.StringArrayOutput) } -// A collection of references to network interfaces. -func (o NetworkSecurityGroupResponsePtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) []NetworkInterfaceResponse { +// List of destination IpGroups for this rule. +func (o NetworkRuleConditionPtrOutput) DestinationIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleCondition) []string { if v == nil { return nil } - return v.NetworkInterfaces - }).(NetworkInterfaceResponseArrayOutput) + return v.DestinationIpGroups + }).(pulumi.StringArrayOutput) } -// The provisioning state of the network security group resource. -func (o NetworkSecurityGroupResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { +// List of destination ports. +func (o NetworkRuleConditionPtrOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleCondition) []string { if v == nil { return nil } - return &v.ProvisioningState - }).(pulumi.StringPtrOutput) + return v.DestinationPorts + }).(pulumi.StringArrayOutput) } -// The resource GUID property of the network security group resource. -func (o NetworkSecurityGroupResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { +// Array of FirewallPolicyRuleConditionNetworkProtocols. +func (o NetworkRuleConditionPtrOutput) IpProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleCondition) []string { if v == nil { return nil } - return &v.ResourceGuid - }).(pulumi.StringPtrOutput) + return v.IpProtocols + }).(pulumi.StringArrayOutput) } -// A collection of security rules of the network security group. -func (o NetworkSecurityGroupResponsePtrOutput) SecurityRules() SecurityRuleResponseArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) []SecurityRuleResponse { +// Name of the rule condition. +func (o NetworkRuleConditionPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkRuleCondition) *string { if v == nil { return nil } - return v.SecurityRules - }).(SecurityRuleResponseArrayOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -// A collection of references to subnets. -func (o NetworkSecurityGroupResponsePtrOutput) Subnets() SubnetResponseArrayOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) []SubnetResponse { +// Rule Condition Type. +// Expected value is 'NetworkRuleCondition'. +func (o NetworkRuleConditionPtrOutput) RuleConditionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkRuleCondition) *string { if v == nil { return nil } - return v.Subnets - }).(SubnetResponseArrayOutput) + return &v.RuleConditionType + }).(pulumi.StringPtrOutput) } -// Resource tags. -func (o NetworkSecurityGroupResponsePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) map[string]string { +// List of source IP addresses for this rule. +func (o NetworkRuleConditionPtrOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleCondition) []string { if v == nil { return nil } - return v.Tags - }).(pulumi.StringMapOutput) + return v.SourceAddresses + }).(pulumi.StringArrayOutput) } -// Resource type. -func (o NetworkSecurityGroupResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { +// List of source IpGroups for this rule. +func (o NetworkRuleConditionPtrOutput) SourceIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleCondition) []string { if v == nil { return nil } - return &v.Type - }).(pulumi.StringPtrOutput) + return v.SourceIpGroups + }).(pulumi.StringArrayOutput) } -// Properties of the NetworkVirtualApplianceConnection subresource. -type NetworkVirtualApplianceConnectionProperties struct { - // Network Virtual Appliance ASN. - Asn *float64 `pulumi:"asn"` - // List of bgpPeerAddresses for the NVA instances - BgpPeerAddress []string `pulumi:"bgpPeerAddress"` - // Enable internet security. - EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` - // The name of the resource. +// Rule condition of type network. +type NetworkRuleConditionResponse struct { + // Description of the rule condition. + Description *string `pulumi:"description"` + // List of destination IP addresses or Service Tags. + DestinationAddresses []string `pulumi:"destinationAddresses"` + // List of destination IpGroups for this rule. + DestinationIpGroups []string `pulumi:"destinationIpGroups"` + // List of destination ports. + DestinationPorts []string `pulumi:"destinationPorts"` + // Array of FirewallPolicyRuleConditionNetworkProtocols. + IpProtocols []string `pulumi:"ipProtocols"` + // Name of the rule condition. Name *string `pulumi:"name"` - // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` - // Unique identifier for the connection. - TunnelIdentifier *float64 `pulumi:"tunnelIdentifier"` + // Rule Condition Type. + // Expected value is 'NetworkRuleCondition'. + RuleConditionType string `pulumi:"ruleConditionType"` + // List of source IP addresses for this rule. + SourceAddresses []string `pulumi:"sourceAddresses"` + // List of source IpGroups for this rule. + SourceIpGroups []string `pulumi:"sourceIpGroups"` } -// NetworkVirtualApplianceConnectionPropertiesInput is an input type that accepts NetworkVirtualApplianceConnectionPropertiesArgs and NetworkVirtualApplianceConnectionPropertiesOutput values. -// You can construct a concrete instance of `NetworkVirtualApplianceConnectionPropertiesInput` via: -// -// NetworkVirtualApplianceConnectionPropertiesArgs{...} -type NetworkVirtualApplianceConnectionPropertiesInput interface { - pulumi.Input +// Rule condition of type network. +type NetworkRuleConditionResponseOutput struct{ *pulumi.OutputState } - ToNetworkVirtualApplianceConnectionPropertiesOutput() NetworkVirtualApplianceConnectionPropertiesOutput - ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(context.Context) NetworkVirtualApplianceConnectionPropertiesOutput +func (NetworkRuleConditionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRuleConditionResponse)(nil)).Elem() } -// Properties of the NetworkVirtualApplianceConnection subresource. -type NetworkVirtualApplianceConnectionPropertiesArgs struct { - // Network Virtual Appliance ASN. - Asn pulumi.Float64PtrInput `pulumi:"asn"` - // List of bgpPeerAddresses for the NVA instances - BgpPeerAddress pulumi.StringArrayInput `pulumi:"bgpPeerAddress"` - // Enable internet security. - EnableInternetSecurity pulumi.BoolPtrInput `pulumi:"enableInternetSecurity"` - // The name of the resource. - Name pulumi.StringPtrInput `pulumi:"name"` - // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` - // Unique identifier for the connection. - TunnelIdentifier pulumi.Float64PtrInput `pulumi:"tunnelIdentifier"` +func (o NetworkRuleConditionResponseOutput) ToNetworkRuleConditionResponseOutput() NetworkRuleConditionResponseOutput { + return o } -func (NetworkVirtualApplianceConnectionPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkVirtualApplianceConnectionProperties)(nil)).Elem() +func (o NetworkRuleConditionResponseOutput) ToNetworkRuleConditionResponseOutputWithContext(ctx context.Context) NetworkRuleConditionResponseOutput { + return o } -func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesOutput() NetworkVirtualApplianceConnectionPropertiesOutput { - return i.ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(context.Background()) +// Description of the rule condition. +func (o NetworkRuleConditionResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) *string { return v.Description }).(pulumi.StringPtrOutput) } -func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualApplianceConnectionPropertiesOutput) +// List of destination IP addresses or Service Tags. +func (o NetworkRuleConditionResponseOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) } -func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return i.ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Background()) +// List of destination IpGroups for this rule. +func (o NetworkRuleConditionResponseOutput) DestinationIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) } -func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualApplianceConnectionPropertiesOutput).ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx) +// List of destination ports. +func (o NetworkRuleConditionResponseOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) } -// NetworkVirtualApplianceConnectionPropertiesPtrInput is an input type that accepts NetworkVirtualApplianceConnectionPropertiesArgs, NetworkVirtualApplianceConnectionPropertiesPtr and NetworkVirtualApplianceConnectionPropertiesPtrOutput values. -// You can construct a concrete instance of `NetworkVirtualApplianceConnectionPropertiesPtrInput` via: -// -// NetworkVirtualApplianceConnectionPropertiesArgs{...} -// -// or: -// -// nil -type NetworkVirtualApplianceConnectionPropertiesPtrInput interface { - pulumi.Input - - ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput - ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput +// Array of FirewallPolicyRuleConditionNetworkProtocols. +func (o NetworkRuleConditionResponseOutput) IpProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) } -type networkVirtualApplianceConnectionPropertiesPtrType NetworkVirtualApplianceConnectionPropertiesArgs - -func NetworkVirtualApplianceConnectionPropertiesPtr(v *NetworkVirtualApplianceConnectionPropertiesArgs) NetworkVirtualApplianceConnectionPropertiesPtrInput { - return (*networkVirtualApplianceConnectionPropertiesPtrType)(v) +// Name of the rule condition. +func (o NetworkRuleConditionResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (*networkVirtualApplianceConnectionPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkVirtualApplianceConnectionProperties)(nil)).Elem() +// Rule Condition Type. +// Expected value is 'NetworkRuleCondition'. +func (o NetworkRuleConditionResponseOutput) RuleConditionType() pulumi.StringOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) string { return v.RuleConditionType }).(pulumi.StringOutput) } -func (i *networkVirtualApplianceConnectionPropertiesPtrType) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return i.ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Background()) +// List of source IP addresses for this rule. +func (o NetworkRuleConditionResponseOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) } -func (i *networkVirtualApplianceConnectionPropertiesPtrType) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualApplianceConnectionPropertiesPtrOutput) +// List of source IpGroups for this rule. +func (o NetworkRuleConditionResponseOutput) SourceIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleConditionResponse) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) } -// Properties of the NetworkVirtualApplianceConnection subresource. -type NetworkVirtualApplianceConnectionPropertiesOutput struct{ *pulumi.OutputState } +type NetworkRuleConditionResponsePtrOutput struct{ *pulumi.OutputState } -func (NetworkVirtualApplianceConnectionPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkVirtualApplianceConnectionProperties)(nil)).Elem() +func (NetworkRuleConditionResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkRuleConditionResponse)(nil)).Elem() } -func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesOutput() NetworkVirtualApplianceConnectionPropertiesOutput { +func (o NetworkRuleConditionResponsePtrOutput) ToNetworkRuleConditionResponsePtrOutput() NetworkRuleConditionResponsePtrOutput { return o } -func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesOutput { +func (o NetworkRuleConditionResponsePtrOutput) ToNetworkRuleConditionResponsePtrOutputWithContext(ctx context.Context) NetworkRuleConditionResponsePtrOutput { return o } -func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return o.ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Background()) -} - -func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkVirtualApplianceConnectionProperties) *NetworkVirtualApplianceConnectionProperties { - return &v - }).(NetworkVirtualApplianceConnectionPropertiesPtrOutput) -} - -// Network Virtual Appliance ASN. -func (o NetworkVirtualApplianceConnectionPropertiesOutput) Asn() pulumi.Float64PtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *float64 { return v.Asn }).(pulumi.Float64PtrOutput) -} - -// List of bgpPeerAddresses for the NVA instances -func (o NetworkVirtualApplianceConnectionPropertiesOutput) BgpPeerAddress() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) []string { return v.BgpPeerAddress }).(pulumi.StringArrayOutput) -} - -// Enable internet security. -func (o NetworkVirtualApplianceConnectionPropertiesOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) -} - -// The name of the resource. -func (o NetworkVirtualApplianceConnectionPropertiesOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o NetworkVirtualApplianceConnectionPropertiesOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *RoutingConfigurationType { - return v.RoutingConfiguration - }).(RoutingConfigurationTypePtrOutput) -} - -// Unique identifier for the connection. -func (o NetworkVirtualApplianceConnectionPropertiesOutput) TunnelIdentifier() pulumi.Float64PtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *float64 { return v.TunnelIdentifier }).(pulumi.Float64PtrOutput) -} - -type NetworkVirtualApplianceConnectionPropertiesPtrOutput struct{ *pulumi.OutputState } - -func (NetworkVirtualApplianceConnectionPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkVirtualApplianceConnectionProperties)(nil)).Elem() +func (o NetworkRuleConditionResponsePtrOutput) Elem() NetworkRuleConditionResponseOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) NetworkRuleConditionResponse { + if v != nil { + return *v + } + var ret NetworkRuleConditionResponse + return ret + }).(NetworkRuleConditionResponseOutput) } -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return o +// Description of the rule condition. +func (o NetworkRuleConditionResponsePtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) } -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { - return o +// List of destination IP addresses or Service Tags. +func (o NetworkRuleConditionResponsePtrOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { + if v == nil { + return nil + } + return v.DestinationAddresses + }).(pulumi.StringArrayOutput) } -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Elem() NetworkVirtualApplianceConnectionPropertiesOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) NetworkVirtualApplianceConnectionProperties { - if v != nil { - return *v +// List of destination IpGroups for this rule. +func (o NetworkRuleConditionResponsePtrOutput) DestinationIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { + if v == nil { + return nil } - var ret NetworkVirtualApplianceConnectionProperties - return ret - }).(NetworkVirtualApplianceConnectionPropertiesOutput) + return v.DestinationIpGroups + }).(pulumi.StringArrayOutput) } -// Network Virtual Appliance ASN. -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Asn() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *float64 { +// List of destination ports. +func (o NetworkRuleConditionResponsePtrOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { if v == nil { return nil } - return v.Asn - }).(pulumi.Float64PtrOutput) + return v.DestinationPorts + }).(pulumi.StringArrayOutput) } -// List of bgpPeerAddresses for the NVA instances -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) BgpPeerAddress() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) []string { +// Array of FirewallPolicyRuleConditionNetworkProtocols. +func (o NetworkRuleConditionResponsePtrOutput) IpProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { if v == nil { return nil } - return v.BgpPeerAddress + return v.IpProtocols }).(pulumi.StringArrayOutput) } -// Enable internet security. -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *bool { +// Name of the rule condition. +func (o NetworkRuleConditionResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) *string { if v == nil { return nil } - return v.EnableInternetSecurity - }).(pulumi.BoolPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -// The name of the resource. -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *string { +// Rule Condition Type. +// Expected value is 'NetworkRuleCondition'. +func (o NetworkRuleConditionResponsePtrOutput) RuleConditionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) *string { if v == nil { return nil } - return v.Name + return &v.RuleConditionType }).(pulumi.StringPtrOutput) } -// The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *RoutingConfigurationType { +// List of source IP addresses for this rule. +func (o NetworkRuleConditionResponsePtrOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { if v == nil { return nil } - return v.RoutingConfiguration - }).(RoutingConfigurationTypePtrOutput) + return v.SourceAddresses + }).(pulumi.StringArrayOutput) } -// Unique identifier for the connection. -func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) TunnelIdentifier() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *float64 { +// List of source IpGroups for this rule. +func (o NetworkRuleConditionResponsePtrOutput) SourceIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkRuleConditionResponse) []string { if v == nil { return nil } - return v.TunnelIdentifier - }).(pulumi.Float64PtrOutput) + return v.SourceIpGroups + }).(pulumi.StringArrayOutput) } -// Properties of the NetworkVirtualApplianceConnection subresource. -type NetworkVirtualApplianceConnectionPropertiesResponse struct { - // Network Virtual Appliance ASN. - Asn *float64 `pulumi:"asn"` - // List of bgpPeerAddresses for the NVA instances - BgpPeerAddress []string `pulumi:"bgpPeerAddress"` - // Enable internet security. - EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` - // The name of the resource. +// Rule of type network. +type NetworkRuleResponse struct { + // Description of the rule. + Description *string `pulumi:"description"` + // List of destination IP addresses or Service Tags. + DestinationAddresses []string `pulumi:"destinationAddresses"` + // List of destination FQDNs. + DestinationFqdns []string `pulumi:"destinationFqdns"` + // List of destination IpGroups for this rule. + DestinationIpGroups []string `pulumi:"destinationIpGroups"` + // List of destination ports. + DestinationPorts []string `pulumi:"destinationPorts"` + // Array of FirewallPolicyRuleNetworkProtocols. + IpProtocols []string `pulumi:"ipProtocols"` + // Name of the rule. Name *string `pulumi:"name"` - // The provisioning state of the NetworkVirtualApplianceConnection resource. - ProvisioningState string `pulumi:"provisioningState"` - // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfigurationResponse `pulumi:"routingConfiguration"` - // Unique identifier for the connection. - TunnelIdentifier *float64 `pulumi:"tunnelIdentifier"` + // Rule Type. + // Expected value is 'NetworkRule'. + RuleType string `pulumi:"ruleType"` + // List of source IP addresses for this rule. + SourceAddresses []string `pulumi:"sourceAddresses"` + // List of source IpGroups for this rule. + SourceIpGroups []string `pulumi:"sourceIpGroups"` } -// Properties of the NetworkVirtualApplianceConnection subresource. -type NetworkVirtualApplianceConnectionPropertiesResponseOutput struct{ *pulumi.OutputState } +// Rule of type network. +type NetworkRuleResponseOutput struct{ *pulumi.OutputState } -func (NetworkVirtualApplianceConnectionPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkVirtualApplianceConnectionPropertiesResponse)(nil)).Elem() +func (NetworkRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRuleResponse)(nil)).Elem() } -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) ToNetworkVirtualApplianceConnectionPropertiesResponseOutput() NetworkVirtualApplianceConnectionPropertiesResponseOutput { +func (o NetworkRuleResponseOutput) ToNetworkRuleResponseOutput() NetworkRuleResponseOutput { return o } -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) ToNetworkVirtualApplianceConnectionPropertiesResponseOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesResponseOutput { +func (o NetworkRuleResponseOutput) ToNetworkRuleResponseOutputWithContext(ctx context.Context) NetworkRuleResponseOutput { return o } -// Network Virtual Appliance ASN. -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) Asn() pulumi.Float64PtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *float64 { return v.Asn }).(pulumi.Float64PtrOutput) +// Description of the rule. +func (o NetworkRuleResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRuleResponse) *string { return v.Description }).(pulumi.StringPtrOutput) } -// List of bgpPeerAddresses for the NVA instances -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) BgpPeerAddress() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) []string { return v.BgpPeerAddress }).(pulumi.StringArrayOutput) +// List of destination IP addresses or Service Tags. +func (o NetworkRuleResponseOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) } -// Enable internet security. -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) +// List of destination FQDNs. +func (o NetworkRuleResponseOutput) DestinationFqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationFqdns }).(pulumi.StringArrayOutput) } -// The name of the resource. -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// List of destination IpGroups for this rule. +func (o NetworkRuleResponseOutput) DestinationIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationIpGroups }).(pulumi.StringArrayOutput) } -// The provisioning state of the NetworkVirtualApplianceConnection resource. -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// List of destination ports. +func (o NetworkRuleResponseOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) } -// The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) RoutingConfiguration() RoutingConfigurationResponsePtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *RoutingConfigurationResponse { - return v.RoutingConfiguration - }).(RoutingConfigurationResponsePtrOutput) +// Array of FirewallPolicyRuleNetworkProtocols. +func (o NetworkRuleResponseOutput) IpProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.IpProtocols }).(pulumi.StringArrayOutput) } -// Unique identifier for the connection. -func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) TunnelIdentifier() pulumi.Float64PtrOutput { - return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *float64 { return v.TunnelIdentifier }).(pulumi.Float64PtrOutput) +// Name of the rule. +func (o NetworkRuleResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Network Profile containing configurations for Public and Private NIC. -type NetworkVirtualAppliancePropertiesFormatNetworkProfile struct { - NetworkInterfaceConfigurations []VirtualApplianceNetworkInterfaceConfiguration `pulumi:"networkInterfaceConfigurations"` +// Rule Type. +// Expected value is 'NetworkRule'. +func (o NetworkRuleResponseOutput) RuleType() pulumi.StringOutput { + return o.ApplyT(func(v NetworkRuleResponse) string { return v.RuleType }).(pulumi.StringOutput) } -// NetworkVirtualAppliancePropertiesFormatNetworkProfileInput is an input type that accepts NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs and NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput values. -// You can construct a concrete instance of `NetworkVirtualAppliancePropertiesFormatNetworkProfileInput` via: +// List of source IP addresses for this rule. +func (o NetworkRuleResponseOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +} + +// List of source IpGroups for this rule. +func (o NetworkRuleResponseOutput) SourceIpGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkRuleResponse) []string { return v.SourceIpGroups }).(pulumi.StringArrayOutput) +} + +// NetworkSecurityGroup resource. +type NetworkSecurityGroupType struct { + // The default security rules of network security group. + DefaultSecurityRules []SecurityRuleType `pulumi:"defaultSecurityRules"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. + FlushConnection *bool `pulumi:"flushConnection"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The resource GUID property of the network security group resource. + ResourceGuid *string `pulumi:"resourceGuid"` + // A collection of security rules of the network security group. + SecurityRules []SecurityRuleType `pulumi:"securityRules"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` +} + +// NetworkSecurityGroupTypeInput is an input type that accepts NetworkSecurityGroupTypeArgs and NetworkSecurityGroupTypeOutput values. +// You can construct a concrete instance of `NetworkSecurityGroupTypeInput` via: // -// NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs{...} -type NetworkVirtualAppliancePropertiesFormatNetworkProfileInput interface { +// NetworkSecurityGroupTypeArgs{...} +type NetworkSecurityGroupTypeInput interface { pulumi.Input - ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput - ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput + ToNetworkSecurityGroupTypeOutput() NetworkSecurityGroupTypeOutput + ToNetworkSecurityGroupTypeOutputWithContext(context.Context) NetworkSecurityGroupTypeOutput } -// Network Profile containing configurations for Public and Private NIC. -type NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs struct { - NetworkInterfaceConfigurations VirtualApplianceNetworkInterfaceConfigurationArrayInput `pulumi:"networkInterfaceConfigurations"` +// NetworkSecurityGroup resource. +type NetworkSecurityGroupTypeArgs struct { + // The default security rules of network security group. + DefaultSecurityRules SecurityRuleTypeArrayInput `pulumi:"defaultSecurityRules"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. + FlushConnection pulumi.BoolPtrInput `pulumi:"flushConnection"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Resource location. + Location pulumi.StringPtrInput `pulumi:"location"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` + // The resource GUID property of the network security group resource. + ResourceGuid pulumi.StringPtrInput `pulumi:"resourceGuid"` + // A collection of security rules of the network security group. + SecurityRules SecurityRuleTypeArrayInput `pulumi:"securityRules"` + // Resource tags. + Tags pulumi.StringMapInput `pulumi:"tags"` } -func (NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() +func (NetworkSecurityGroupTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkSecurityGroupType)(nil)).Elem() } -func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { - return i.ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(context.Background()) +func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypeOutput() NetworkSecurityGroupTypeOutput { + return i.ToNetworkSecurityGroupTypeOutputWithContext(context.Background()) } -func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) +func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypeOutputWithContext(ctx context.Context) NetworkSecurityGroupTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkSecurityGroupTypeOutput) } -func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return i.ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Background()) +func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { + return i.ToNetworkSecurityGroupTypePtrOutputWithContext(context.Background()) } -func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput).ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx) +func (i NetworkSecurityGroupTypeArgs) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkSecurityGroupTypeOutput).ToNetworkSecurityGroupTypePtrOutputWithContext(ctx) } -// NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput is an input type that accepts NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs, NetworkVirtualAppliancePropertiesFormatNetworkProfilePtr and NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput values. -// You can construct a concrete instance of `NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput` via: +// NetworkSecurityGroupTypePtrInput is an input type that accepts NetworkSecurityGroupTypeArgs, NetworkSecurityGroupTypePtr and NetworkSecurityGroupTypePtrOutput values. +// You can construct a concrete instance of `NetworkSecurityGroupTypePtrInput` via: // -// NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs{...} +// NetworkSecurityGroupTypeArgs{...} // // or: // // nil -type NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput interface { +type NetworkSecurityGroupTypePtrInput interface { pulumi.Input - ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput - ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput + ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput + ToNetworkSecurityGroupTypePtrOutputWithContext(context.Context) NetworkSecurityGroupTypePtrOutput } -type networkVirtualAppliancePropertiesFormatNetworkProfilePtrType NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs +type networkSecurityGroupTypePtrType NetworkSecurityGroupTypeArgs -func NetworkVirtualAppliancePropertiesFormatNetworkProfilePtr(v *NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput { - return (*networkVirtualAppliancePropertiesFormatNetworkProfilePtrType)(v) +func NetworkSecurityGroupTypePtr(v *NetworkSecurityGroupTypeArgs) NetworkSecurityGroupTypePtrInput { + return (*networkSecurityGroupTypePtrType)(v) } -func (*networkVirtualAppliancePropertiesFormatNetworkProfilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() +func (*networkSecurityGroupTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkSecurityGroupType)(nil)).Elem() } -func (i *networkVirtualAppliancePropertiesFormatNetworkProfilePtrType) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return i.ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Background()) +func (i *networkSecurityGroupTypePtrType) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { + return i.ToNetworkSecurityGroupTypePtrOutputWithContext(context.Background()) } -func (i *networkVirtualAppliancePropertiesFormatNetworkProfilePtrType) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) +func (i *networkSecurityGroupTypePtrType) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkSecurityGroupTypePtrOutput) } -// Network Profile containing configurations for Public and Private NIC. -type NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput struct{ *pulumi.OutputState } +// NetworkSecurityGroup resource. +type NetworkSecurityGroupTypeOutput struct{ *pulumi.OutputState } -func (NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() +func (NetworkSecurityGroupTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkSecurityGroupType)(nil)).Elem() } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { +func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypeOutput() NetworkSecurityGroupTypeOutput { return o } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { +func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypeOutputWithContext(ctx context.Context) NetworkSecurityGroupTypeOutput { return o } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return o.ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Background()) +func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { + return o.ToNetworkSecurityGroupTypePtrOutputWithContext(context.Background()) } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkVirtualAppliancePropertiesFormatNetworkProfile) *NetworkVirtualAppliancePropertiesFormatNetworkProfile { +func (o NetworkSecurityGroupTypeOutput) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkSecurityGroupType) *NetworkSecurityGroupType { return &v - }).(NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) -} - -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationArrayOutput { - return o.ApplyT(func(v NetworkVirtualAppliancePropertiesFormatNetworkProfile) []VirtualApplianceNetworkInterfaceConfiguration { - return v.NetworkInterfaceConfigurations - }).(VirtualApplianceNetworkInterfaceConfigurationArrayOutput) -} - -type NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput struct{ *pulumi.OutputState } - -func (NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() + }).(NetworkSecurityGroupTypePtrOutput) } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return o +// The default security rules of network security group. +func (o NetworkSecurityGroupTypeOutput) DefaultSecurityRules() SecurityRuleTypeArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) []SecurityRuleType { return v.DefaultSecurityRules }).(SecurityRuleTypeArrayOutput) } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { - return o +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.Etag }).(pulumi.StringPtrOutput) } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) Elem() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { - return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatNetworkProfile) NetworkVirtualAppliancePropertiesFormatNetworkProfile { - if v != nil { - return *v - } - var ret NetworkVirtualAppliancePropertiesFormatNetworkProfile - return ret - }).(NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupTypeOutput) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) *bool { return v.FlushConnection }).(pulumi.BoolPtrOutput) } -func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationArrayOutput { - return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatNetworkProfile) []VirtualApplianceNetworkInterfaceConfiguration { - if v == nil { - return nil - } - return v.NetworkInterfaceConfigurations - }).(VirtualApplianceNetworkInterfaceConfigurationArrayOutput) +// Resource ID. +func (o NetworkSecurityGroupTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Network Profile containing configurations for Public and Private NIC. -type NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile struct { - NetworkInterfaceConfigurations []VirtualApplianceNetworkInterfaceConfigurationResponse `pulumi:"networkInterfaceConfigurations"` +// Resource location. +func (o NetworkSecurityGroupTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.Location }).(pulumi.StringPtrOutput) } -// Network Profile containing configurations for Public and Private NIC. -type NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput struct{ *pulumi.OutputState } - -func (NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile)(nil)).Elem() +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkSecurityGroupTypeOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput { - return o +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupTypeOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) *string { return v.ResourceGuid }).(pulumi.StringPtrOutput) } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput { - return o +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupTypeOutput) SecurityRules() SecurityRuleTypeArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) []SecurityRuleType { return v.SecurityRules }).(SecurityRuleTypeArrayOutput) } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput { - return o.ApplyT(func(v NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile) []VirtualApplianceNetworkInterfaceConfigurationResponse { - return v.NetworkInterfaceConfigurations - }).(VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput) +// Resource tags. +func (o NetworkSecurityGroupTypeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkSecurityGroupType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -type NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput struct{ *pulumi.OutputState } +type NetworkSecurityGroupTypePtrOutput struct{ *pulumi.OutputState } -func (NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile)(nil)).Elem() +func (NetworkSecurityGroupTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkSecurityGroupType)(nil)).Elem() } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput { +func (o NetworkSecurityGroupTypePtrOutput) ToNetworkSecurityGroupTypePtrOutput() NetworkSecurityGroupTypePtrOutput { return o } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput { +func (o NetworkSecurityGroupTypePtrOutput) ToNetworkSecurityGroupTypePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupTypePtrOutput { return o } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) Elem() NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput { - return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile) NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile { +func (o NetworkSecurityGroupTypePtrOutput) Elem() NetworkSecurityGroupTypeOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) NetworkSecurityGroupType { if v != nil { return *v } - var ret NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile + var ret NetworkSecurityGroupType return ret - }).(NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) + }).(NetworkSecurityGroupTypeOutput) } -func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput { - return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile) []VirtualApplianceNetworkInterfaceConfigurationResponse { +// The default security rules of network security group. +func (o NetworkSecurityGroupTypePtrOutput) DefaultSecurityRules() SecurityRuleTypeArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) []SecurityRuleType { if v == nil { return nil } - return v.NetworkInterfaceConfigurations - }).(VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput) + return v.DefaultSecurityRules + }).(SecurityRuleTypeArrayOutput) } -// The NSP logging configuration properties. -type NspLoggingConfigurationProperties struct { - // The log categories to enable in the NSP logging configuration. - EnabledLogCategories []string `pulumi:"enabledLogCategories"` - // The version of the NSP logging configuration. - Version *string `pulumi:"version"` +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupTypePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) } -// NspLoggingConfigurationPropertiesInput is an input type that accepts NspLoggingConfigurationPropertiesArgs and NspLoggingConfigurationPropertiesOutput values. -// You can construct a concrete instance of `NspLoggingConfigurationPropertiesInput` via: -// -// NspLoggingConfigurationPropertiesArgs{...} -type NspLoggingConfigurationPropertiesInput interface { - pulumi.Input +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupTypePtrOutput) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) *bool { + if v == nil { + return nil + } + return v.FlushConnection + }).(pulumi.BoolPtrOutput) +} - ToNspLoggingConfigurationPropertiesOutput() NspLoggingConfigurationPropertiesOutput - ToNspLoggingConfigurationPropertiesOutputWithContext(context.Context) NspLoggingConfigurationPropertiesOutput -} - -// The NSP logging configuration properties. -type NspLoggingConfigurationPropertiesArgs struct { - // The log categories to enable in the NSP logging configuration. - EnabledLogCategories pulumi.StringArrayInput `pulumi:"enabledLogCategories"` - // The version of the NSP logging configuration. - Version pulumi.StringPtrInput `pulumi:"version"` -} - -func (NspLoggingConfigurationPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NspLoggingConfigurationProperties)(nil)).Elem() -} - -func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesOutput() NspLoggingConfigurationPropertiesOutput { - return i.ToNspLoggingConfigurationPropertiesOutputWithContext(context.Background()) -} - -func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(NspLoggingConfigurationPropertiesOutput) -} - -func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { - return i.ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Background()) -} - -func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NspLoggingConfigurationPropertiesOutput).ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx) -} - -// NspLoggingConfigurationPropertiesPtrInput is an input type that accepts NspLoggingConfigurationPropertiesArgs, NspLoggingConfigurationPropertiesPtr and NspLoggingConfigurationPropertiesPtrOutput values. -// You can construct a concrete instance of `NspLoggingConfigurationPropertiesPtrInput` via: -// -// NspLoggingConfigurationPropertiesArgs{...} -// -// or: -// -// nil -type NspLoggingConfigurationPropertiesPtrInput interface { - pulumi.Input - - ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput - ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Context) NspLoggingConfigurationPropertiesPtrOutput -} - -type nspLoggingConfigurationPropertiesPtrType NspLoggingConfigurationPropertiesArgs - -func NspLoggingConfigurationPropertiesPtr(v *NspLoggingConfigurationPropertiesArgs) NspLoggingConfigurationPropertiesPtrInput { - return (*nspLoggingConfigurationPropertiesPtrType)(v) -} - -func (*nspLoggingConfigurationPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NspLoggingConfigurationProperties)(nil)).Elem() -} - -func (i *nspLoggingConfigurationPropertiesPtrType) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { - return i.ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Background()) -} - -func (i *nspLoggingConfigurationPropertiesPtrType) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NspLoggingConfigurationPropertiesPtrOutput) -} - -// The NSP logging configuration properties. -type NspLoggingConfigurationPropertiesOutput struct{ *pulumi.OutputState } - -func (NspLoggingConfigurationPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NspLoggingConfigurationProperties)(nil)).Elem() -} - -func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesOutput() NspLoggingConfigurationPropertiesOutput { - return o -} - -func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesOutput { - return o -} - -func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { - return o.ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Background()) -} - -func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NspLoggingConfigurationProperties) *NspLoggingConfigurationProperties { - return &v - }).(NspLoggingConfigurationPropertiesPtrOutput) -} - -// The log categories to enable in the NSP logging configuration. -func (o NspLoggingConfigurationPropertiesOutput) EnabledLogCategories() pulumi.StringArrayOutput { - return o.ApplyT(func(v NspLoggingConfigurationProperties) []string { return v.EnabledLogCategories }).(pulumi.StringArrayOutput) -} - -// The version of the NSP logging configuration. -func (o NspLoggingConfigurationPropertiesOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v NspLoggingConfigurationProperties) *string { return v.Version }).(pulumi.StringPtrOutput) -} - -type NspLoggingConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } - -func (NspLoggingConfigurationPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NspLoggingConfigurationProperties)(nil)).Elem() -} - -func (o NspLoggingConfigurationPropertiesPtrOutput) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { - return o -} - -func (o NspLoggingConfigurationPropertiesPtrOutput) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { - return o -} - -func (o NspLoggingConfigurationPropertiesPtrOutput) Elem() NspLoggingConfigurationPropertiesOutput { - return o.ApplyT(func(v *NspLoggingConfigurationProperties) NspLoggingConfigurationProperties { - if v != nil { - return *v - } - var ret NspLoggingConfigurationProperties - return ret - }).(NspLoggingConfigurationPropertiesOutput) -} - -// The log categories to enable in the NSP logging configuration. -func (o NspLoggingConfigurationPropertiesPtrOutput) EnabledLogCategories() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NspLoggingConfigurationProperties) []string { +// Resource ID. +func (o NetworkSecurityGroupTypePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) *string { if v == nil { return nil } - return v.EnabledLogCategories - }).(pulumi.StringArrayOutput) + return v.Id + }).(pulumi.StringPtrOutput) } -// The version of the NSP logging configuration. -func (o NspLoggingConfigurationPropertiesPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NspLoggingConfigurationProperties) *string { +// Resource location. +func (o NetworkSecurityGroupTypePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) *string { if v == nil { return nil } - return v.Version + return v.Location }).(pulumi.StringPtrOutput) } -// The NSP logging configuration properties. -type NspLoggingConfigurationPropertiesResponse struct { - // The log categories to enable in the NSP logging configuration. - EnabledLogCategories []string `pulumi:"enabledLogCategories"` - // The version of the NSP logging configuration. - Version *string `pulumi:"version"` -} - -// The NSP logging configuration properties. -type NspLoggingConfigurationPropertiesResponseOutput struct{ *pulumi.OutputState } - -func (NspLoggingConfigurationPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NspLoggingConfigurationPropertiesResponse)(nil)).Elem() -} - -func (o NspLoggingConfigurationPropertiesResponseOutput) ToNspLoggingConfigurationPropertiesResponseOutput() NspLoggingConfigurationPropertiesResponseOutput { - return o -} - -func (o NspLoggingConfigurationPropertiesResponseOutput) ToNspLoggingConfigurationPropertiesResponseOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesResponseOutput { - return o -} - -// The log categories to enable in the NSP logging configuration. -func (o NspLoggingConfigurationPropertiesResponseOutput) EnabledLogCategories() pulumi.StringArrayOutput { - return o.ApplyT(func(v NspLoggingConfigurationPropertiesResponse) []string { return v.EnabledLogCategories }).(pulumi.StringArrayOutput) -} - -// The version of the NSP logging configuration. -func (o NspLoggingConfigurationPropertiesResponseOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v NspLoggingConfigurationPropertiesResponse) *string { return v.Version }).(pulumi.StringPtrOutput) -} - -// Office365 breakout categories. -type O365BreakOutCategoryPolicies struct { - // Flag to control allow category. - Allow *bool `pulumi:"allow"` - // Flag to control default category. - Default *bool `pulumi:"default"` - // Flag to control optimize category. - Optimize *bool `pulumi:"optimize"` -} - -// O365BreakOutCategoryPoliciesInput is an input type that accepts O365BreakOutCategoryPoliciesArgs and O365BreakOutCategoryPoliciesOutput values. -// You can construct a concrete instance of `O365BreakOutCategoryPoliciesInput` via: -// -// O365BreakOutCategoryPoliciesArgs{...} -type O365BreakOutCategoryPoliciesInput interface { - pulumi.Input - - ToO365BreakOutCategoryPoliciesOutput() O365BreakOutCategoryPoliciesOutput - ToO365BreakOutCategoryPoliciesOutputWithContext(context.Context) O365BreakOutCategoryPoliciesOutput -} - -// Office365 breakout categories. -type O365BreakOutCategoryPoliciesArgs struct { - // Flag to control allow category. - Allow pulumi.BoolPtrInput `pulumi:"allow"` - // Flag to control default category. - Default pulumi.BoolPtrInput `pulumi:"default"` - // Flag to control optimize category. - Optimize pulumi.BoolPtrInput `pulumi:"optimize"` -} - -func (O365BreakOutCategoryPoliciesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*O365BreakOutCategoryPolicies)(nil)).Elem() -} - -func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesOutput() O365BreakOutCategoryPoliciesOutput { - return i.ToO365BreakOutCategoryPoliciesOutputWithContext(context.Background()) -} - -func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesOutput { - return pulumi.ToOutputWithContext(ctx, i).(O365BreakOutCategoryPoliciesOutput) -} - -func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { - return i.ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Background()) -} - -func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(O365BreakOutCategoryPoliciesOutput).ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx) -} - -// O365BreakOutCategoryPoliciesPtrInput is an input type that accepts O365BreakOutCategoryPoliciesArgs, O365BreakOutCategoryPoliciesPtr and O365BreakOutCategoryPoliciesPtrOutput values. -// You can construct a concrete instance of `O365BreakOutCategoryPoliciesPtrInput` via: -// -// O365BreakOutCategoryPoliciesArgs{...} -// -// or: -// -// nil -type O365BreakOutCategoryPoliciesPtrInput interface { - pulumi.Input - - ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput - ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Context) O365BreakOutCategoryPoliciesPtrOutput -} - -type o365breakOutCategoryPoliciesPtrType O365BreakOutCategoryPoliciesArgs - -func O365BreakOutCategoryPoliciesPtr(v *O365BreakOutCategoryPoliciesArgs) O365BreakOutCategoryPoliciesPtrInput { - return (*o365breakOutCategoryPoliciesPtrType)(v) -} - -func (*o365breakOutCategoryPoliciesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**O365BreakOutCategoryPolicies)(nil)).Elem() -} - -func (i *o365breakOutCategoryPoliciesPtrType) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { - return i.ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Background()) -} - -func (i *o365breakOutCategoryPoliciesPtrType) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(O365BreakOutCategoryPoliciesPtrOutput) -} - -// Office365 breakout categories. -type O365BreakOutCategoryPoliciesOutput struct{ *pulumi.OutputState } - -func (O365BreakOutCategoryPoliciesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*O365BreakOutCategoryPolicies)(nil)).Elem() -} - -func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesOutput() O365BreakOutCategoryPoliciesOutput { - return o -} - -func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesOutput { - return o -} - -func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { - return o.ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Background()) -} - -func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v O365BreakOutCategoryPolicies) *O365BreakOutCategoryPolicies { - return &v - }).(O365BreakOutCategoryPoliciesPtrOutput) -} - -// Flag to control allow category. -func (o O365BreakOutCategoryPoliciesOutput) Allow() pulumi.BoolPtrOutput { - return o.ApplyT(func(v O365BreakOutCategoryPolicies) *bool { return v.Allow }).(pulumi.BoolPtrOutput) -} - -// Flag to control default category. -func (o O365BreakOutCategoryPoliciesOutput) Default() pulumi.BoolPtrOutput { - return o.ApplyT(func(v O365BreakOutCategoryPolicies) *bool { return v.Default }).(pulumi.BoolPtrOutput) -} - -// Flag to control optimize category. -func (o O365BreakOutCategoryPoliciesOutput) Optimize() pulumi.BoolPtrOutput { - return o.ApplyT(func(v O365BreakOutCategoryPolicies) *bool { return v.Optimize }).(pulumi.BoolPtrOutput) -} - -type O365BreakOutCategoryPoliciesPtrOutput struct{ *pulumi.OutputState } - -func (O365BreakOutCategoryPoliciesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**O365BreakOutCategoryPolicies)(nil)).Elem() -} - -func (o O365BreakOutCategoryPoliciesPtrOutput) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { - return o -} - -func (o O365BreakOutCategoryPoliciesPtrOutput) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { - return o -} - -func (o O365BreakOutCategoryPoliciesPtrOutput) Elem() O365BreakOutCategoryPoliciesOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPolicies) O365BreakOutCategoryPolicies { - if v != nil { - return *v +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkSecurityGroupTypePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) *string { + if v == nil { + return nil } - var ret O365BreakOutCategoryPolicies - return ret - }).(O365BreakOutCategoryPoliciesOutput) + return v.ProvisioningState + }).(pulumi.StringPtrOutput) } -// Flag to control allow category. -func (o O365BreakOutCategoryPoliciesPtrOutput) Allow() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPolicies) *bool { +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupTypePtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) *string { if v == nil { return nil } - return v.Allow - }).(pulumi.BoolPtrOutput) + return v.ResourceGuid + }).(pulumi.StringPtrOutput) } -// Flag to control default category. -func (o O365BreakOutCategoryPoliciesPtrOutput) Default() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPolicies) *bool { +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupTypePtrOutput) SecurityRules() SecurityRuleTypeArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) []SecurityRuleType { if v == nil { return nil } - return v.Default - }).(pulumi.BoolPtrOutput) + return v.SecurityRules + }).(SecurityRuleTypeArrayOutput) } -// Flag to control optimize category. -func (o O365BreakOutCategoryPoliciesPtrOutput) Optimize() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPolicies) *bool { +// Resource tags. +func (o NetworkSecurityGroupTypePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NetworkSecurityGroupType) map[string]string { if v == nil { return nil } - return v.Optimize - }).(pulumi.BoolPtrOutput) -} - -// Office365 breakout categories. -type O365BreakOutCategoryPoliciesResponse struct { - // Flag to control allow category. - Allow *bool `pulumi:"allow"` - // Flag to control default category. - Default *bool `pulumi:"default"` - // Flag to control optimize category. - Optimize *bool `pulumi:"optimize"` -} - -// Office365 breakout categories. -type O365BreakOutCategoryPoliciesResponseOutput struct{ *pulumi.OutputState } - -func (O365BreakOutCategoryPoliciesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*O365BreakOutCategoryPoliciesResponse)(nil)).Elem() -} - -func (o O365BreakOutCategoryPoliciesResponseOutput) ToO365BreakOutCategoryPoliciesResponseOutput() O365BreakOutCategoryPoliciesResponseOutput { - return o -} - -func (o O365BreakOutCategoryPoliciesResponseOutput) ToO365BreakOutCategoryPoliciesResponseOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesResponseOutput { - return o -} - -// Flag to control allow category. -func (o O365BreakOutCategoryPoliciesResponseOutput) Allow() pulumi.BoolPtrOutput { - return o.ApplyT(func(v O365BreakOutCategoryPoliciesResponse) *bool { return v.Allow }).(pulumi.BoolPtrOutput) -} - -// Flag to control default category. -func (o O365BreakOutCategoryPoliciesResponseOutput) Default() pulumi.BoolPtrOutput { - return o.ApplyT(func(v O365BreakOutCategoryPoliciesResponse) *bool { return v.Default }).(pulumi.BoolPtrOutput) + return v.Tags + }).(pulumi.StringMapOutput) } -// Flag to control optimize category. -func (o O365BreakOutCategoryPoliciesResponseOutput) Optimize() pulumi.BoolPtrOutput { - return o.ApplyT(func(v O365BreakOutCategoryPoliciesResponse) *bool { return v.Optimize }).(pulumi.BoolPtrOutput) +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponse struct { + // The default security rules of network security group. + DefaultSecurityRules []SecurityRuleResponse `pulumi:"defaultSecurityRules"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // A collection of references to flow log resources. + FlowLogs []FlowLogResponse `pulumi:"flowLogs"` + // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. + FlushConnection *bool `pulumi:"flushConnection"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // A collection of references to network interfaces. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // The provisioning state of the network security group resource. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the network security group resource. + ResourceGuid string `pulumi:"resourceGuid"` + // A collection of security rules of the network security group. + SecurityRules []SecurityRuleResponse `pulumi:"securityRules"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` } -type O365BreakOutCategoryPoliciesResponsePtrOutput struct{ *pulumi.OutputState } +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseOutput struct{ *pulumi.OutputState } -func (O365BreakOutCategoryPoliciesResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**O365BreakOutCategoryPoliciesResponse)(nil)).Elem() +func (NetworkSecurityGroupResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkSecurityGroupResponse)(nil)).Elem() } -func (o O365BreakOutCategoryPoliciesResponsePtrOutput) ToO365BreakOutCategoryPoliciesResponsePtrOutput() O365BreakOutCategoryPoliciesResponsePtrOutput { +func (o NetworkSecurityGroupResponseOutput) ToNetworkSecurityGroupResponseOutput() NetworkSecurityGroupResponseOutput { return o } -func (o O365BreakOutCategoryPoliciesResponsePtrOutput) ToO365BreakOutCategoryPoliciesResponsePtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesResponsePtrOutput { +func (o NetworkSecurityGroupResponseOutput) ToNetworkSecurityGroupResponseOutputWithContext(ctx context.Context) NetworkSecurityGroupResponseOutput { return o } -func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Elem() O365BreakOutCategoryPoliciesResponseOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) O365BreakOutCategoryPoliciesResponse { - if v != nil { - return *v - } - var ret O365BreakOutCategoryPoliciesResponse - return ret - }).(O365BreakOutCategoryPoliciesResponseOutput) -} - -// Flag to control allow category. -func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Allow() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) *bool { - if v == nil { - return nil - } - return v.Allow - }).(pulumi.BoolPtrOutput) +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseOutput) DefaultSecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) []SecurityRuleResponse { return v.DefaultSecurityRules }).(SecurityRuleResponseArrayOutput) } -// Flag to control default category. -func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Default() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) *bool { - if v == nil { - return nil - } - return v.Default - }).(pulumi.BoolPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.Etag }).(pulumi.StringOutput) } -// Flag to control optimize category. -func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Optimize() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) *bool { - if v == nil { - return nil - } - return v.Optimize - }).(pulumi.BoolPtrOutput) +// A collection of references to flow log resources. +func (o NetworkSecurityGroupResponseOutput) FlowLogs() FlowLogResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) []FlowLogResponse { return v.FlowLogs }).(FlowLogResponseArrayOutput) } -// The Office365 breakout policy. -type O365PolicyProperties struct { - // Office365 breakout categories. - BreakOutCategories *O365BreakOutCategoryPolicies `pulumi:"breakOutCategories"` +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupResponseOutput) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) *bool { return v.FlushConnection }).(pulumi.BoolPtrOutput) } -// O365PolicyPropertiesInput is an input type that accepts O365PolicyPropertiesArgs and O365PolicyPropertiesOutput values. -// You can construct a concrete instance of `O365PolicyPropertiesInput` via: -// -// O365PolicyPropertiesArgs{...} -type O365PolicyPropertiesInput interface { - pulumi.Input - - ToO365PolicyPropertiesOutput() O365PolicyPropertiesOutput - ToO365PolicyPropertiesOutputWithContext(context.Context) O365PolicyPropertiesOutput +// Resource ID. +func (o NetworkSecurityGroupResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The Office365 breakout policy. -type O365PolicyPropertiesArgs struct { - // Office365 breakout categories. - BreakOutCategories O365BreakOutCategoryPoliciesPtrInput `pulumi:"breakOutCategories"` +// Resource location. +func (o NetworkSecurityGroupResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (O365PolicyPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*O365PolicyProperties)(nil)).Elem() +// Resource name. +func (o NetworkSecurityGroupResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.Name }).(pulumi.StringOutput) } -func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesOutput() O365PolicyPropertiesOutput { - return i.ToO365PolicyPropertiesOutputWithContext(context.Background()) -} - -func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesOutputWithContext(ctx context.Context) O365PolicyPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(O365PolicyPropertiesOutput) -} - -func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { - return i.ToO365PolicyPropertiesPtrOutputWithContext(context.Background()) -} - -func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(O365PolicyPropertiesOutput).ToO365PolicyPropertiesPtrOutputWithContext(ctx) -} - -// O365PolicyPropertiesPtrInput is an input type that accepts O365PolicyPropertiesArgs, O365PolicyPropertiesPtr and O365PolicyPropertiesPtrOutput values. -// You can construct a concrete instance of `O365PolicyPropertiesPtrInput` via: -// -// O365PolicyPropertiesArgs{...} -// -// or: -// -// nil -type O365PolicyPropertiesPtrInput interface { - pulumi.Input - - ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput - ToO365PolicyPropertiesPtrOutputWithContext(context.Context) O365PolicyPropertiesPtrOutput -} - -type o365policyPropertiesPtrType O365PolicyPropertiesArgs - -func O365PolicyPropertiesPtr(v *O365PolicyPropertiesArgs) O365PolicyPropertiesPtrInput { - return (*o365policyPropertiesPtrType)(v) -} - -func (*o365policyPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**O365PolicyProperties)(nil)).Elem() -} - -func (i *o365policyPropertiesPtrType) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { - return i.ToO365PolicyPropertiesPtrOutputWithContext(context.Background()) -} - -func (i *o365policyPropertiesPtrType) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(O365PolicyPropertiesPtrOutput) -} - -// The Office365 breakout policy. -type O365PolicyPropertiesOutput struct{ *pulumi.OutputState } - -func (O365PolicyPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*O365PolicyProperties)(nil)).Elem() -} - -func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesOutput() O365PolicyPropertiesOutput { - return o -} - -func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesOutputWithContext(ctx context.Context) O365PolicyPropertiesOutput { - return o -} - -func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { - return o.ToO365PolicyPropertiesPtrOutputWithContext(context.Background()) -} - -func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v O365PolicyProperties) *O365PolicyProperties { - return &v - }).(O365PolicyPropertiesPtrOutput) -} - -// Office365 breakout categories. -func (o O365PolicyPropertiesOutput) BreakOutCategories() O365BreakOutCategoryPoliciesPtrOutput { - return o.ApplyT(func(v O365PolicyProperties) *O365BreakOutCategoryPolicies { return v.BreakOutCategories }).(O365BreakOutCategoryPoliciesPtrOutput) -} - -type O365PolicyPropertiesPtrOutput struct{ *pulumi.OutputState } - -func (O365PolicyPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**O365PolicyProperties)(nil)).Elem() -} - -func (o O365PolicyPropertiesPtrOutput) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { - return o -} - -func (o O365PolicyPropertiesPtrOutput) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { - return o -} - -func (o O365PolicyPropertiesPtrOutput) Elem() O365PolicyPropertiesOutput { - return o.ApplyT(func(v *O365PolicyProperties) O365PolicyProperties { - if v != nil { - return *v - } - var ret O365PolicyProperties - return ret - }).(O365PolicyPropertiesOutput) -} - -// Office365 breakout categories. -func (o O365PolicyPropertiesPtrOutput) BreakOutCategories() O365BreakOutCategoryPoliciesPtrOutput { - return o.ApplyT(func(v *O365PolicyProperties) *O365BreakOutCategoryPolicies { - if v == nil { - return nil - } - return v.BreakOutCategories - }).(O365BreakOutCategoryPoliciesPtrOutput) -} - -// The Office365 breakout policy. -type O365PolicyPropertiesResponse struct { - // Office365 breakout categories. - BreakOutCategories *O365BreakOutCategoryPoliciesResponse `pulumi:"breakOutCategories"` -} - -// The Office365 breakout policy. -type O365PolicyPropertiesResponseOutput struct{ *pulumi.OutputState } - -func (O365PolicyPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*O365PolicyPropertiesResponse)(nil)).Elem() -} - -func (o O365PolicyPropertiesResponseOutput) ToO365PolicyPropertiesResponseOutput() O365PolicyPropertiesResponseOutput { - return o -} - -func (o O365PolicyPropertiesResponseOutput) ToO365PolicyPropertiesResponseOutputWithContext(ctx context.Context) O365PolicyPropertiesResponseOutput { - return o -} - -// Office365 breakout categories. -func (o O365PolicyPropertiesResponseOutput) BreakOutCategories() O365BreakOutCategoryPoliciesResponsePtrOutput { - return o.ApplyT(func(v O365PolicyPropertiesResponse) *O365BreakOutCategoryPoliciesResponse { - return v.BreakOutCategories - }).(O365BreakOutCategoryPoliciesResponsePtrOutput) -} - -type O365PolicyPropertiesResponsePtrOutput struct{ *pulumi.OutputState } - -func (O365PolicyPropertiesResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**O365PolicyPropertiesResponse)(nil)).Elem() -} - -func (o O365PolicyPropertiesResponsePtrOutput) ToO365PolicyPropertiesResponsePtrOutput() O365PolicyPropertiesResponsePtrOutput { - return o -} - -func (o O365PolicyPropertiesResponsePtrOutput) ToO365PolicyPropertiesResponsePtrOutputWithContext(ctx context.Context) O365PolicyPropertiesResponsePtrOutput { - return o -} - -func (o O365PolicyPropertiesResponsePtrOutput) Elem() O365PolicyPropertiesResponseOutput { - return o.ApplyT(func(v *O365PolicyPropertiesResponse) O365PolicyPropertiesResponse { - if v != nil { - return *v - } - var ret O365PolicyPropertiesResponse - return ret - }).(O365PolicyPropertiesResponseOutput) -} - -// Office365 breakout categories. -func (o O365PolicyPropertiesResponsePtrOutput) BreakOutCategories() O365BreakOutCategoryPoliciesResponsePtrOutput { - return o.ApplyT(func(v *O365PolicyPropertiesResponse) *O365BreakOutCategoryPoliciesResponse { - if v == nil { - return nil - } - return v.BreakOutCategories - }).(O365BreakOutCategoryPoliciesResponsePtrOutput) -} - -// Network Virtual Appliance Sku Properties. -type Office365PolicyProperties struct { - // Office 365 breakout categories. - BreakOutCategories *BreakOutCategoryPolicies `pulumi:"breakOutCategories"` -} - -// Office365PolicyPropertiesInput is an input type that accepts Office365PolicyPropertiesArgs and Office365PolicyPropertiesOutput values. -// You can construct a concrete instance of `Office365PolicyPropertiesInput` via: -// -// Office365PolicyPropertiesArgs{...} -type Office365PolicyPropertiesInput interface { - pulumi.Input - - ToOffice365PolicyPropertiesOutput() Office365PolicyPropertiesOutput - ToOffice365PolicyPropertiesOutputWithContext(context.Context) Office365PolicyPropertiesOutput -} - -// Network Virtual Appliance Sku Properties. -type Office365PolicyPropertiesArgs struct { - // Office 365 breakout categories. - BreakOutCategories BreakOutCategoryPoliciesPtrInput `pulumi:"breakOutCategories"` -} - -func (Office365PolicyPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*Office365PolicyProperties)(nil)).Elem() -} - -func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesOutput() Office365PolicyPropertiesOutput { - return i.ToOffice365PolicyPropertiesOutputWithContext(context.Background()) -} - -func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesOutputWithContext(ctx context.Context) Office365PolicyPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(Office365PolicyPropertiesOutput) -} - -func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { - return i.ToOffice365PolicyPropertiesPtrOutputWithContext(context.Background()) -} - -func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(Office365PolicyPropertiesOutput).ToOffice365PolicyPropertiesPtrOutputWithContext(ctx) -} - -// Office365PolicyPropertiesPtrInput is an input type that accepts Office365PolicyPropertiesArgs, Office365PolicyPropertiesPtr and Office365PolicyPropertiesPtrOutput values. -// You can construct a concrete instance of `Office365PolicyPropertiesPtrInput` via: -// -// Office365PolicyPropertiesArgs{...} -// -// or: -// -// nil -type Office365PolicyPropertiesPtrInput interface { - pulumi.Input - - ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput - ToOffice365PolicyPropertiesPtrOutputWithContext(context.Context) Office365PolicyPropertiesPtrOutput -} - -type office365PolicyPropertiesPtrType Office365PolicyPropertiesArgs - -func Office365PolicyPropertiesPtr(v *Office365PolicyPropertiesArgs) Office365PolicyPropertiesPtrInput { - return (*office365PolicyPropertiesPtrType)(v) -} - -func (*office365PolicyPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**Office365PolicyProperties)(nil)).Elem() -} - -func (i *office365PolicyPropertiesPtrType) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { - return i.ToOffice365PolicyPropertiesPtrOutputWithContext(context.Background()) -} - -func (i *office365PolicyPropertiesPtrType) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(Office365PolicyPropertiesPtrOutput) -} - -// Network Virtual Appliance Sku Properties. -type Office365PolicyPropertiesOutput struct{ *pulumi.OutputState } - -func (Office365PolicyPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Office365PolicyProperties)(nil)).Elem() -} - -func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesOutput() Office365PolicyPropertiesOutput { - return o -} - -func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesOutputWithContext(ctx context.Context) Office365PolicyPropertiesOutput { - return o -} - -func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { - return o.ToOffice365PolicyPropertiesPtrOutputWithContext(context.Background()) -} - -func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v Office365PolicyProperties) *Office365PolicyProperties { - return &v - }).(Office365PolicyPropertiesPtrOutput) -} - -// Office 365 breakout categories. -func (o Office365PolicyPropertiesOutput) BreakOutCategories() BreakOutCategoryPoliciesPtrOutput { - return o.ApplyT(func(v Office365PolicyProperties) *BreakOutCategoryPolicies { return v.BreakOutCategories }).(BreakOutCategoryPoliciesPtrOutput) -} - -type Office365PolicyPropertiesPtrOutput struct{ *pulumi.OutputState } - -func (Office365PolicyPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Office365PolicyProperties)(nil)).Elem() -} - -func (o Office365PolicyPropertiesPtrOutput) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { - return o -} - -func (o Office365PolicyPropertiesPtrOutput) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { - return o -} - -func (o Office365PolicyPropertiesPtrOutput) Elem() Office365PolicyPropertiesOutput { - return o.ApplyT(func(v *Office365PolicyProperties) Office365PolicyProperties { - if v != nil { - return *v - } - var ret Office365PolicyProperties - return ret - }).(Office365PolicyPropertiesOutput) -} - -// Office 365 breakout categories. -func (o Office365PolicyPropertiesPtrOutput) BreakOutCategories() BreakOutCategoryPoliciesPtrOutput { - return o.ApplyT(func(v *Office365PolicyProperties) *BreakOutCategoryPolicies { - if v == nil { - return nil - } - return v.BreakOutCategories - }).(BreakOutCategoryPoliciesPtrOutput) -} - -// Network Virtual Appliance Sku Properties. -type Office365PolicyPropertiesResponse struct { - // Office 365 breakout categories. - BreakOutCategories *BreakOutCategoryPoliciesResponse `pulumi:"breakOutCategories"` -} - -// Network Virtual Appliance Sku Properties. -type Office365PolicyPropertiesResponseOutput struct{ *pulumi.OutputState } - -func (Office365PolicyPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Office365PolicyPropertiesResponse)(nil)).Elem() -} - -func (o Office365PolicyPropertiesResponseOutput) ToOffice365PolicyPropertiesResponseOutput() Office365PolicyPropertiesResponseOutput { - return o -} - -func (o Office365PolicyPropertiesResponseOutput) ToOffice365PolicyPropertiesResponseOutputWithContext(ctx context.Context) Office365PolicyPropertiesResponseOutput { - return o -} - -// Office 365 breakout categories. -func (o Office365PolicyPropertiesResponseOutput) BreakOutCategories() BreakOutCategoryPoliciesResponsePtrOutput { - return o.ApplyT(func(v Office365PolicyPropertiesResponse) *BreakOutCategoryPoliciesResponse { - return v.BreakOutCategories - }).(BreakOutCategoryPoliciesResponsePtrOutput) -} - -type Office365PolicyPropertiesResponsePtrOutput struct{ *pulumi.OutputState } - -func (Office365PolicyPropertiesResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Office365PolicyPropertiesResponse)(nil)).Elem() -} - -func (o Office365PolicyPropertiesResponsePtrOutput) ToOffice365PolicyPropertiesResponsePtrOutput() Office365PolicyPropertiesResponsePtrOutput { - return o -} - -func (o Office365PolicyPropertiesResponsePtrOutput) ToOffice365PolicyPropertiesResponsePtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesResponsePtrOutput { - return o -} - -func (o Office365PolicyPropertiesResponsePtrOutput) Elem() Office365PolicyPropertiesResponseOutput { - return o.ApplyT(func(v *Office365PolicyPropertiesResponse) Office365PolicyPropertiesResponse { - if v != nil { - return *v - } - var ret Office365PolicyPropertiesResponse - return ret - }).(Office365PolicyPropertiesResponseOutput) -} - -// Office 365 breakout categories. -func (o Office365PolicyPropertiesResponsePtrOutput) BreakOutCategories() BreakOutCategoryPoliciesResponsePtrOutput { - return o.ApplyT(func(v *Office365PolicyPropertiesResponse) *BreakOutCategoryPoliciesResponse { - if v == nil { - return nil - } - return v.BreakOutCategories - }).(BreakOutCategoryPoliciesResponsePtrOutput) -} - -// Describes a column to sort -type OrderBy struct { - // Describes the actual column name to sort by - Field *string `pulumi:"field"` - // Describes if results should be in ascending/descending order - Order *string `pulumi:"order"` -} - -// OrderByInput is an input type that accepts OrderByArgs and OrderByOutput values. -// You can construct a concrete instance of `OrderByInput` via: -// -// OrderByArgs{...} -type OrderByInput interface { - pulumi.Input - - ToOrderByOutput() OrderByOutput - ToOrderByOutputWithContext(context.Context) OrderByOutput -} - -// Describes a column to sort -type OrderByArgs struct { - // Describes the actual column name to sort by - Field pulumi.StringPtrInput `pulumi:"field"` - // Describes if results should be in ascending/descending order - Order pulumi.StringPtrInput `pulumi:"order"` -} - -func (OrderByArgs) ElementType() reflect.Type { - return reflect.TypeOf((*OrderBy)(nil)).Elem() -} - -func (i OrderByArgs) ToOrderByOutput() OrderByOutput { - return i.ToOrderByOutputWithContext(context.Background()) -} - -func (i OrderByArgs) ToOrderByOutputWithContext(ctx context.Context) OrderByOutput { - return pulumi.ToOutputWithContext(ctx, i).(OrderByOutput) -} - -func (i OrderByArgs) ToOrderByPtrOutput() OrderByPtrOutput { - return i.ToOrderByPtrOutputWithContext(context.Background()) -} - -func (i OrderByArgs) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(OrderByOutput).ToOrderByPtrOutputWithContext(ctx) -} - -// OrderByPtrInput is an input type that accepts OrderByArgs, OrderByPtr and OrderByPtrOutput values. -// You can construct a concrete instance of `OrderByPtrInput` via: -// -// OrderByArgs{...} -// -// or: -// -// nil -type OrderByPtrInput interface { - pulumi.Input - - ToOrderByPtrOutput() OrderByPtrOutput - ToOrderByPtrOutputWithContext(context.Context) OrderByPtrOutput -} - -type orderByPtrType OrderByArgs - -func OrderByPtr(v *OrderByArgs) OrderByPtrInput { - return (*orderByPtrType)(v) -} - -func (*orderByPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**OrderBy)(nil)).Elem() -} - -func (i *orderByPtrType) ToOrderByPtrOutput() OrderByPtrOutput { - return i.ToOrderByPtrOutputWithContext(context.Background()) -} - -func (i *orderByPtrType) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(OrderByPtrOutput) -} - -// Describes a column to sort -type OrderByOutput struct{ *pulumi.OutputState } - -func (OrderByOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OrderBy)(nil)).Elem() -} - -func (o OrderByOutput) ToOrderByOutput() OrderByOutput { - return o -} - -func (o OrderByOutput) ToOrderByOutputWithContext(ctx context.Context) OrderByOutput { - return o -} - -func (o OrderByOutput) ToOrderByPtrOutput() OrderByPtrOutput { - return o.ToOrderByPtrOutputWithContext(context.Background()) -} - -func (o OrderByOutput) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v OrderBy) *OrderBy { - return &v - }).(OrderByPtrOutput) -} - -// Describes the actual column name to sort by -func (o OrderByOutput) Field() pulumi.StringPtrOutput { - return o.ApplyT(func(v OrderBy) *string { return v.Field }).(pulumi.StringPtrOutput) -} - -// Describes if results should be in ascending/descending order -func (o OrderByOutput) Order() pulumi.StringPtrOutput { - return o.ApplyT(func(v OrderBy) *string { return v.Order }).(pulumi.StringPtrOutput) -} - -type OrderByPtrOutput struct{ *pulumi.OutputState } - -func (OrderByPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**OrderBy)(nil)).Elem() -} - -func (o OrderByPtrOutput) ToOrderByPtrOutput() OrderByPtrOutput { - return o -} - -func (o OrderByPtrOutput) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { - return o -} - -func (o OrderByPtrOutput) Elem() OrderByOutput { - return o.ApplyT(func(v *OrderBy) OrderBy { - if v != nil { - return *v - } - var ret OrderBy - return ret - }).(OrderByOutput) -} - -// Describes the actual column name to sort by -func (o OrderByPtrOutput) Field() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OrderBy) *string { - if v == nil { - return nil - } - return v.Field - }).(pulumi.StringPtrOutput) -} - -// Describes if results should be in ascending/descending order -func (o OrderByPtrOutput) Order() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OrderBy) *string { - if v == nil { - return nil - } - return v.Order - }).(pulumi.StringPtrOutput) -} - -// Outbound rule of the load balancer. -type OutboundRule struct { - // The number of outbound ports to be used for NAT. - AllocatedOutboundPorts *int `pulumi:"allocatedOutboundPorts"` - // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. - BackendAddressPool SubResource `pulumi:"backendAddressPool"` - // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. - EnableTcpReset *bool `pulumi:"enableTcpReset"` - // The Frontend IP addresses of the load balancer. - FrontendIPConfigurations []SubResource `pulumi:"frontendIPConfigurations"` - // Resource ID. - Id *string `pulumi:"id"` - // The timeout for the TCP idle connection. - IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` - // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. - Name *string `pulumi:"name"` - // The protocol for the outbound rule in load balancer. - Protocol string `pulumi:"protocol"` -} - -// OutboundRuleInput is an input type that accepts OutboundRuleArgs and OutboundRuleOutput values. -// You can construct a concrete instance of `OutboundRuleInput` via: -// -// OutboundRuleArgs{...} -type OutboundRuleInput interface { - pulumi.Input - - ToOutboundRuleOutput() OutboundRuleOutput - ToOutboundRuleOutputWithContext(context.Context) OutboundRuleOutput -} - -// Outbound rule of the load balancer. -type OutboundRuleArgs struct { - // The number of outbound ports to be used for NAT. - AllocatedOutboundPorts pulumi.IntPtrInput `pulumi:"allocatedOutboundPorts"` - // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. - BackendAddressPool SubResourceInput `pulumi:"backendAddressPool"` - // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. - EnableTcpReset pulumi.BoolPtrInput `pulumi:"enableTcpReset"` - // The Frontend IP addresses of the load balancer. - FrontendIPConfigurations SubResourceArrayInput `pulumi:"frontendIPConfigurations"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // The timeout for the TCP idle connection. - IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` - // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. - Name pulumi.StringPtrInput `pulumi:"name"` - // The protocol for the outbound rule in load balancer. - Protocol pulumi.StringInput `pulumi:"protocol"` -} - -func (OutboundRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*OutboundRule)(nil)).Elem() -} - -func (i OutboundRuleArgs) ToOutboundRuleOutput() OutboundRuleOutput { - return i.ToOutboundRuleOutputWithContext(context.Background()) -} - -func (i OutboundRuleArgs) ToOutboundRuleOutputWithContext(ctx context.Context) OutboundRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(OutboundRuleOutput) -} - -// OutboundRuleArrayInput is an input type that accepts OutboundRuleArray and OutboundRuleArrayOutput values. -// You can construct a concrete instance of `OutboundRuleArrayInput` via: -// -// OutboundRuleArray{ OutboundRuleArgs{...} } -type OutboundRuleArrayInput interface { - pulumi.Input - - ToOutboundRuleArrayOutput() OutboundRuleArrayOutput - ToOutboundRuleArrayOutputWithContext(context.Context) OutboundRuleArrayOutput -} - -type OutboundRuleArray []OutboundRuleInput - -func (OutboundRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]OutboundRule)(nil)).Elem() -} - -func (i OutboundRuleArray) ToOutboundRuleArrayOutput() OutboundRuleArrayOutput { - return i.ToOutboundRuleArrayOutputWithContext(context.Background()) -} - -func (i OutboundRuleArray) ToOutboundRuleArrayOutputWithContext(ctx context.Context) OutboundRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(OutboundRuleArrayOutput) -} - -// Outbound rule of the load balancer. -type OutboundRuleOutput struct{ *pulumi.OutputState } - -func (OutboundRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OutboundRule)(nil)).Elem() -} - -func (o OutboundRuleOutput) ToOutboundRuleOutput() OutboundRuleOutput { - return o -} - -func (o OutboundRuleOutput) ToOutboundRuleOutputWithContext(ctx context.Context) OutboundRuleOutput { - return o -} - -// The number of outbound ports to be used for NAT. -func (o OutboundRuleOutput) AllocatedOutboundPorts() pulumi.IntPtrOutput { - return o.ApplyT(func(v OutboundRule) *int { return v.AllocatedOutboundPorts }).(pulumi.IntPtrOutput) -} - -// A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. -func (o OutboundRuleOutput) BackendAddressPool() SubResourceOutput { - return o.ApplyT(func(v OutboundRule) SubResource { return v.BackendAddressPool }).(SubResourceOutput) -} - -// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. -func (o OutboundRuleOutput) EnableTcpReset() pulumi.BoolPtrOutput { - return o.ApplyT(func(v OutboundRule) *bool { return v.EnableTcpReset }).(pulumi.BoolPtrOutput) -} - -// The Frontend IP addresses of the load balancer. -func (o OutboundRuleOutput) FrontendIPConfigurations() SubResourceArrayOutput { - return o.ApplyT(func(v OutboundRule) []SubResource { return v.FrontendIPConfigurations }).(SubResourceArrayOutput) -} - -// Resource ID. -func (o OutboundRuleOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v OutboundRule) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The timeout for the TCP idle connection. -func (o OutboundRuleOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v OutboundRule) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) -} - -// The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. -func (o OutboundRuleOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v OutboundRule) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The protocol for the outbound rule in load balancer. -func (o OutboundRuleOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v OutboundRule) string { return v.Protocol }).(pulumi.StringOutput) -} - -type OutboundRuleArrayOutput struct{ *pulumi.OutputState } - -func (OutboundRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]OutboundRule)(nil)).Elem() -} - -func (o OutboundRuleArrayOutput) ToOutboundRuleArrayOutput() OutboundRuleArrayOutput { - return o -} - -func (o OutboundRuleArrayOutput) ToOutboundRuleArrayOutputWithContext(ctx context.Context) OutboundRuleArrayOutput { - return o -} - -func (o OutboundRuleArrayOutput) Index(i pulumi.IntInput) OutboundRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) OutboundRule { - return vs[0].([]OutboundRule)[vs[1].(int)] - }).(OutboundRuleOutput) -} - -// Outbound rule of the load balancer. -type OutboundRuleResponse struct { - // The number of outbound ports to be used for NAT. - AllocatedOutboundPorts *int `pulumi:"allocatedOutboundPorts"` - // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. - BackendAddressPool SubResourceResponse `pulumi:"backendAddressPool"` - // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. - EnableTcpReset *bool `pulumi:"enableTcpReset"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // The Frontend IP addresses of the load balancer. - FrontendIPConfigurations []SubResourceResponse `pulumi:"frontendIPConfigurations"` - // Resource ID. - Id *string `pulumi:"id"` - // The timeout for the TCP idle connection. - IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` - // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. - Name *string `pulumi:"name"` - // The protocol for the outbound rule in load balancer. - Protocol string `pulumi:"protocol"` - // The provisioning state of the outbound rule resource. - ProvisioningState string `pulumi:"provisioningState"` - // Type of the resource. - Type string `pulumi:"type"` -} - -// Outbound rule of the load balancer. -type OutboundRuleResponseOutput struct{ *pulumi.OutputState } - -func (OutboundRuleResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OutboundRuleResponse)(nil)).Elem() -} - -func (o OutboundRuleResponseOutput) ToOutboundRuleResponseOutput() OutboundRuleResponseOutput { - return o -} - -func (o OutboundRuleResponseOutput) ToOutboundRuleResponseOutputWithContext(ctx context.Context) OutboundRuleResponseOutput { - return o -} - -// The number of outbound ports to be used for NAT. -func (o OutboundRuleResponseOutput) AllocatedOutboundPorts() pulumi.IntPtrOutput { - return o.ApplyT(func(v OutboundRuleResponse) *int { return v.AllocatedOutboundPorts }).(pulumi.IntPtrOutput) -} - -// A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. -func (o OutboundRuleResponseOutput) BackendAddressPool() SubResourceResponseOutput { - return o.ApplyT(func(v OutboundRuleResponse) SubResourceResponse { return v.BackendAddressPool }).(SubResourceResponseOutput) -} - -// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. -func (o OutboundRuleResponseOutput) EnableTcpReset() pulumi.BoolPtrOutput { - return o.ApplyT(func(v OutboundRuleResponse) *bool { return v.EnableTcpReset }).(pulumi.BoolPtrOutput) -} - -// A unique read-only string that changes whenever the resource is updated. -func (o OutboundRuleResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v OutboundRuleResponse) string { return v.Etag }).(pulumi.StringOutput) -} - -// The Frontend IP addresses of the load balancer. -func (o OutboundRuleResponseOutput) FrontendIPConfigurations() SubResourceResponseArrayOutput { - return o.ApplyT(func(v OutboundRuleResponse) []SubResourceResponse { return v.FrontendIPConfigurations }).(SubResourceResponseArrayOutput) -} - -// Resource ID. -func (o OutboundRuleResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v OutboundRuleResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The timeout for the TCP idle connection. -func (o OutboundRuleResponseOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v OutboundRuleResponse) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) -} - -// The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. -func (o OutboundRuleResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v OutboundRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The protocol for the outbound rule in load balancer. -func (o OutboundRuleResponseOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v OutboundRuleResponse) string { return v.Protocol }).(pulumi.StringOutput) -} - -// The provisioning state of the outbound rule resource. -func (o OutboundRuleResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v OutboundRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// Type of the resource. -func (o OutboundRuleResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v OutboundRuleResponse) string { return v.Type }).(pulumi.StringOutput) -} - -type OutboundRuleResponseArrayOutput struct{ *pulumi.OutputState } - -func (OutboundRuleResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]OutboundRuleResponse)(nil)).Elem() -} - -func (o OutboundRuleResponseArrayOutput) ToOutboundRuleResponseArrayOutput() OutboundRuleResponseArrayOutput { - return o -} - -func (o OutboundRuleResponseArrayOutput) ToOutboundRuleResponseArrayOutputWithContext(ctx context.Context) OutboundRuleResponseArrayOutput { - return o -} - -func (o OutboundRuleResponseArrayOutput) Index(i pulumi.IntInput) OutboundRuleResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) OutboundRuleResponse { - return vs[0].([]OutboundRuleResponse)[vs[1].(int)] - }).(OutboundRuleResponseOutput) -} - -// Allow to exclude some variable satisfy the condition for the WAF check. -type OwaspCrsExclusionEntry struct { - // The managed rule sets that are associated with the exclusion. - ExclusionManagedRuleSets []ExclusionManagedRuleSet `pulumi:"exclusionManagedRuleSets"` - // The variable to be excluded. - MatchVariable string `pulumi:"matchVariable"` - // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. - Selector string `pulumi:"selector"` - // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. - SelectorMatchOperator string `pulumi:"selectorMatchOperator"` -} - -// OwaspCrsExclusionEntryInput is an input type that accepts OwaspCrsExclusionEntryArgs and OwaspCrsExclusionEntryOutput values. -// You can construct a concrete instance of `OwaspCrsExclusionEntryInput` via: -// -// OwaspCrsExclusionEntryArgs{...} -type OwaspCrsExclusionEntryInput interface { - pulumi.Input - - ToOwaspCrsExclusionEntryOutput() OwaspCrsExclusionEntryOutput - ToOwaspCrsExclusionEntryOutputWithContext(context.Context) OwaspCrsExclusionEntryOutput -} - -// Allow to exclude some variable satisfy the condition for the WAF check. -type OwaspCrsExclusionEntryArgs struct { - // The managed rule sets that are associated with the exclusion. - ExclusionManagedRuleSets ExclusionManagedRuleSetArrayInput `pulumi:"exclusionManagedRuleSets"` - // The variable to be excluded. - MatchVariable pulumi.StringInput `pulumi:"matchVariable"` - // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. - Selector pulumi.StringInput `pulumi:"selector"` - // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. - SelectorMatchOperator pulumi.StringInput `pulumi:"selectorMatchOperator"` -} - -func (OwaspCrsExclusionEntryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*OwaspCrsExclusionEntry)(nil)).Elem() -} - -func (i OwaspCrsExclusionEntryArgs) ToOwaspCrsExclusionEntryOutput() OwaspCrsExclusionEntryOutput { - return i.ToOwaspCrsExclusionEntryOutputWithContext(context.Background()) -} - -func (i OwaspCrsExclusionEntryArgs) ToOwaspCrsExclusionEntryOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryOutput { - return pulumi.ToOutputWithContext(ctx, i).(OwaspCrsExclusionEntryOutput) -} - -// OwaspCrsExclusionEntryArrayInput is an input type that accepts OwaspCrsExclusionEntryArray and OwaspCrsExclusionEntryArrayOutput values. -// You can construct a concrete instance of `OwaspCrsExclusionEntryArrayInput` via: -// -// OwaspCrsExclusionEntryArray{ OwaspCrsExclusionEntryArgs{...} } -type OwaspCrsExclusionEntryArrayInput interface { - pulumi.Input - - ToOwaspCrsExclusionEntryArrayOutput() OwaspCrsExclusionEntryArrayOutput - ToOwaspCrsExclusionEntryArrayOutputWithContext(context.Context) OwaspCrsExclusionEntryArrayOutput -} - -type OwaspCrsExclusionEntryArray []OwaspCrsExclusionEntryInput - -func (OwaspCrsExclusionEntryArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]OwaspCrsExclusionEntry)(nil)).Elem() -} - -func (i OwaspCrsExclusionEntryArray) ToOwaspCrsExclusionEntryArrayOutput() OwaspCrsExclusionEntryArrayOutput { - return i.ToOwaspCrsExclusionEntryArrayOutputWithContext(context.Background()) -} - -func (i OwaspCrsExclusionEntryArray) ToOwaspCrsExclusionEntryArrayOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(OwaspCrsExclusionEntryArrayOutput) -} - -// Allow to exclude some variable satisfy the condition for the WAF check. -type OwaspCrsExclusionEntryOutput struct{ *pulumi.OutputState } - -func (OwaspCrsExclusionEntryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OwaspCrsExclusionEntry)(nil)).Elem() -} - -func (o OwaspCrsExclusionEntryOutput) ToOwaspCrsExclusionEntryOutput() OwaspCrsExclusionEntryOutput { - return o -} - -func (o OwaspCrsExclusionEntryOutput) ToOwaspCrsExclusionEntryOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryOutput { - return o -} - -// The managed rule sets that are associated with the exclusion. -func (o OwaspCrsExclusionEntryOutput) ExclusionManagedRuleSets() ExclusionManagedRuleSetArrayOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntry) []ExclusionManagedRuleSet { return v.ExclusionManagedRuleSets }).(ExclusionManagedRuleSetArrayOutput) -} - -// The variable to be excluded. -func (o OwaspCrsExclusionEntryOutput) MatchVariable() pulumi.StringOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntry) string { return v.MatchVariable }).(pulumi.StringOutput) -} - -// When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. -func (o OwaspCrsExclusionEntryOutput) Selector() pulumi.StringOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntry) string { return v.Selector }).(pulumi.StringOutput) -} - -// When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. -func (o OwaspCrsExclusionEntryOutput) SelectorMatchOperator() pulumi.StringOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntry) string { return v.SelectorMatchOperator }).(pulumi.StringOutput) -} - -type OwaspCrsExclusionEntryArrayOutput struct{ *pulumi.OutputState } - -func (OwaspCrsExclusionEntryArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]OwaspCrsExclusionEntry)(nil)).Elem() -} - -func (o OwaspCrsExclusionEntryArrayOutput) ToOwaspCrsExclusionEntryArrayOutput() OwaspCrsExclusionEntryArrayOutput { - return o -} - -func (o OwaspCrsExclusionEntryArrayOutput) ToOwaspCrsExclusionEntryArrayOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryArrayOutput { - return o -} - -func (o OwaspCrsExclusionEntryArrayOutput) Index(i pulumi.IntInput) OwaspCrsExclusionEntryOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) OwaspCrsExclusionEntry { - return vs[0].([]OwaspCrsExclusionEntry)[vs[1].(int)] - }).(OwaspCrsExclusionEntryOutput) -} - -// Allow to exclude some variable satisfy the condition for the WAF check. -type OwaspCrsExclusionEntryResponse struct { - // The managed rule sets that are associated with the exclusion. - ExclusionManagedRuleSets []ExclusionManagedRuleSetResponse `pulumi:"exclusionManagedRuleSets"` - // The variable to be excluded. - MatchVariable string `pulumi:"matchVariable"` - // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. - Selector string `pulumi:"selector"` - // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. - SelectorMatchOperator string `pulumi:"selectorMatchOperator"` -} - -// Allow to exclude some variable satisfy the condition for the WAF check. -type OwaspCrsExclusionEntryResponseOutput struct{ *pulumi.OutputState } - -func (OwaspCrsExclusionEntryResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OwaspCrsExclusionEntryResponse)(nil)).Elem() -} - -func (o OwaspCrsExclusionEntryResponseOutput) ToOwaspCrsExclusionEntryResponseOutput() OwaspCrsExclusionEntryResponseOutput { - return o -} - -func (o OwaspCrsExclusionEntryResponseOutput) ToOwaspCrsExclusionEntryResponseOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryResponseOutput { - return o -} - -// The managed rule sets that are associated with the exclusion. -func (o OwaspCrsExclusionEntryResponseOutput) ExclusionManagedRuleSets() ExclusionManagedRuleSetResponseArrayOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) []ExclusionManagedRuleSetResponse { - return v.ExclusionManagedRuleSets - }).(ExclusionManagedRuleSetResponseArrayOutput) -} - -// The variable to be excluded. -func (o OwaspCrsExclusionEntryResponseOutput) MatchVariable() pulumi.StringOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) string { return v.MatchVariable }).(pulumi.StringOutput) -} - -// When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. -func (o OwaspCrsExclusionEntryResponseOutput) Selector() pulumi.StringOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) string { return v.Selector }).(pulumi.StringOutput) -} - -// When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. -func (o OwaspCrsExclusionEntryResponseOutput) SelectorMatchOperator() pulumi.StringOutput { - return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) string { return v.SelectorMatchOperator }).(pulumi.StringOutput) -} - -type OwaspCrsExclusionEntryResponseArrayOutput struct{ *pulumi.OutputState } - -func (OwaspCrsExclusionEntryResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]OwaspCrsExclusionEntryResponse)(nil)).Elem() -} - -func (o OwaspCrsExclusionEntryResponseArrayOutput) ToOwaspCrsExclusionEntryResponseArrayOutput() OwaspCrsExclusionEntryResponseArrayOutput { - return o -} - -func (o OwaspCrsExclusionEntryResponseArrayOutput) ToOwaspCrsExclusionEntryResponseArrayOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryResponseArrayOutput { - return o -} - -func (o OwaspCrsExclusionEntryResponseArrayOutput) Index(i pulumi.IntInput) OwaspCrsExclusionEntryResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) OwaspCrsExclusionEntryResponse { - return vs[0].([]OwaspCrsExclusionEntryResponse)[vs[1].(int)] - }).(OwaspCrsExclusionEntryResponseOutput) -} - -// P2SConnectionConfiguration Resource. -type P2SConnectionConfiguration struct { - // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. - EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 *RoutingConfigurationType `pulumi:"routingConfiguration"` - // The reference to the address space resource which represents Address space for P2S VpnClient. - VpnClientAddressPool *AddressSpace `pulumi:"vpnClientAddressPool"` -} - -// P2SConnectionConfigurationInput is an input type that accepts P2SConnectionConfigurationArgs and P2SConnectionConfigurationOutput values. -// You can construct a concrete instance of `P2SConnectionConfigurationInput` via: -// -// P2SConnectionConfigurationArgs{...} -type P2SConnectionConfigurationInput interface { - pulumi.Input - - ToP2SConnectionConfigurationOutput() P2SConnectionConfigurationOutput - ToP2SConnectionConfigurationOutputWithContext(context.Context) P2SConnectionConfigurationOutput -} - -// P2SConnectionConfiguration Resource. -type P2SConnectionConfigurationArgs struct { - // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. - EnableInternetSecurity pulumi.BoolPtrInput `pulumi:"enableInternetSecurity"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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 RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` - // The reference to the address space resource which represents Address space for P2S VpnClient. - VpnClientAddressPool AddressSpacePtrInput `pulumi:"vpnClientAddressPool"` -} - -func (P2SConnectionConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*P2SConnectionConfiguration)(nil)).Elem() -} - -func (i P2SConnectionConfigurationArgs) ToP2SConnectionConfigurationOutput() P2SConnectionConfigurationOutput { - return i.ToP2SConnectionConfigurationOutputWithContext(context.Background()) -} - -func (i P2SConnectionConfigurationArgs) ToP2SConnectionConfigurationOutputWithContext(ctx context.Context) P2SConnectionConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SConnectionConfigurationOutput) -} - -// P2SConnectionConfigurationArrayInput is an input type that accepts P2SConnectionConfigurationArray and P2SConnectionConfigurationArrayOutput values. -// You can construct a concrete instance of `P2SConnectionConfigurationArrayInput` via: -// -// P2SConnectionConfigurationArray{ P2SConnectionConfigurationArgs{...} } -type P2SConnectionConfigurationArrayInput interface { - pulumi.Input - - ToP2SConnectionConfigurationArrayOutput() P2SConnectionConfigurationArrayOutput - ToP2SConnectionConfigurationArrayOutputWithContext(context.Context) P2SConnectionConfigurationArrayOutput -} - -type P2SConnectionConfigurationArray []P2SConnectionConfigurationInput - -func (P2SConnectionConfigurationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SConnectionConfiguration)(nil)).Elem() -} - -func (i P2SConnectionConfigurationArray) ToP2SConnectionConfigurationArrayOutput() P2SConnectionConfigurationArrayOutput { - return i.ToP2SConnectionConfigurationArrayOutputWithContext(context.Background()) -} - -func (i P2SConnectionConfigurationArray) ToP2SConnectionConfigurationArrayOutputWithContext(ctx context.Context) P2SConnectionConfigurationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SConnectionConfigurationArrayOutput) -} - -// P2SConnectionConfiguration Resource. -type P2SConnectionConfigurationOutput struct{ *pulumi.OutputState } - -func (P2SConnectionConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SConnectionConfiguration)(nil)).Elem() -} - -func (o P2SConnectionConfigurationOutput) ToP2SConnectionConfigurationOutput() P2SConnectionConfigurationOutput { - return o -} - -func (o P2SConnectionConfigurationOutput) ToP2SConnectionConfigurationOutputWithContext(ctx context.Context) P2SConnectionConfigurationOutput { - return o -} - -// Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. -func (o P2SConnectionConfigurationOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { - return o.ApplyT(func(v P2SConnectionConfiguration) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) -} - -// Resource ID. -func (o P2SConnectionConfigurationOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SConnectionConfiguration) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SConnectionConfigurationOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SConnectionConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The Routing Configuration indicating the associated and propagated route tables on this connection. -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. -func (o P2SConnectionConfigurationOutput) VpnClientAddressPool() AddressSpacePtrOutput { - return o.ApplyT(func(v P2SConnectionConfiguration) *AddressSpace { return v.VpnClientAddressPool }).(AddressSpacePtrOutput) -} - -type P2SConnectionConfigurationArrayOutput struct{ *pulumi.OutputState } - -func (P2SConnectionConfigurationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SConnectionConfiguration)(nil)).Elem() -} - -func (o P2SConnectionConfigurationArrayOutput) ToP2SConnectionConfigurationArrayOutput() P2SConnectionConfigurationArrayOutput { - return o -} - -func (o P2SConnectionConfigurationArrayOutput) ToP2SConnectionConfigurationArrayOutputWithContext(ctx context.Context) P2SConnectionConfigurationArrayOutput { - return o -} - -func (o P2SConnectionConfigurationArrayOutput) Index(i pulumi.IntInput) P2SConnectionConfigurationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SConnectionConfiguration { - return vs[0].([]P2SConnectionConfiguration)[vs[1].(int)] - }).(P2SConnectionConfigurationOutput) -} - -// P2SConnectionConfiguration Resource. -type P2SConnectionConfigurationResponse struct { - // List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to. - ConfigurationPolicyGroupAssociations []SubResourceResponse `pulumi:"configurationPolicyGroupAssociations"` - // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. - EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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"` - // List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to. - PreviousConfigurationPolicyGroupAssociations []VpnServerConfigurationPolicyGroupResponse `pulumi:"previousConfigurationPolicyGroupAssociations"` - // The provisioning state of the P2SConnectionConfiguration resource. - ProvisioningState string `pulumi:"provisioningState"` - // The Routing Configuration indicating the associated and propagated route tables on this connection. - RoutingConfiguration *RoutingConfigurationResponse `pulumi:"routingConfiguration"` - // The reference to the address space resource which represents Address space for P2S VpnClient. - VpnClientAddressPool *AddressSpaceResponse `pulumi:"vpnClientAddressPool"` -} - -// P2SConnectionConfiguration Resource. -type P2SConnectionConfigurationResponseOutput struct{ *pulumi.OutputState } - -func (P2SConnectionConfigurationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SConnectionConfigurationResponse)(nil)).Elem() -} - -func (o P2SConnectionConfigurationResponseOutput) ToP2SConnectionConfigurationResponseOutput() P2SConnectionConfigurationResponseOutput { - return o -} - -func (o P2SConnectionConfigurationResponseOutput) ToP2SConnectionConfigurationResponseOutputWithContext(ctx context.Context) P2SConnectionConfigurationResponseOutput { - return o -} - -// List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to. -func (o P2SConnectionConfigurationResponseOutput) ConfigurationPolicyGroupAssociations() SubResourceResponseArrayOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) []SubResourceResponse { - return v.ConfigurationPolicyGroupAssociations - }).(SubResourceResponseArrayOutput) -} - -// Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. -func (o P2SConnectionConfigurationResponseOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SConnectionConfigurationResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) -} - -// Resource ID. -func (o P2SConnectionConfigurationResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SConnectionConfigurationResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to. -func (o P2SConnectionConfigurationResponseOutput) PreviousConfigurationPolicyGroupAssociations() VpnServerConfigurationPolicyGroupResponseArrayOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) []VpnServerConfigurationPolicyGroupResponse { - return v.PreviousConfigurationPolicyGroupAssociations - }).(VpnServerConfigurationPolicyGroupResponseArrayOutput) -} - -// The provisioning state of the P2SConnectionConfiguration resource. -func (o P2SConnectionConfigurationResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// The Routing Configuration indicating the associated and propagated route tables on this connection. -func (o P2SConnectionConfigurationResponseOutput) RoutingConfiguration() RoutingConfigurationResponsePtrOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) *RoutingConfigurationResponse { - return v.RoutingConfiguration - }).(RoutingConfigurationResponsePtrOutput) -} - -// The reference to the address space resource which represents Address space for P2S VpnClient. -func (o P2SConnectionConfigurationResponseOutput) VpnClientAddressPool() AddressSpaceResponsePtrOutput { - return o.ApplyT(func(v P2SConnectionConfigurationResponse) *AddressSpaceResponse { return v.VpnClientAddressPool }).(AddressSpaceResponsePtrOutput) -} - -type P2SConnectionConfigurationResponseArrayOutput struct{ *pulumi.OutputState } - -func (P2SConnectionConfigurationResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SConnectionConfigurationResponse)(nil)).Elem() -} - -func (o P2SConnectionConfigurationResponseArrayOutput) ToP2SConnectionConfigurationResponseArrayOutput() P2SConnectionConfigurationResponseArrayOutput { - return o -} - -func (o P2SConnectionConfigurationResponseArrayOutput) ToP2SConnectionConfigurationResponseArrayOutputWithContext(ctx context.Context) P2SConnectionConfigurationResponseArrayOutput { - return o -} - -func (o P2SConnectionConfigurationResponseArrayOutput) Index(i pulumi.IntInput) P2SConnectionConfigurationResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SConnectionConfigurationResponse { - return vs[0].([]P2SConnectionConfigurationResponse)[vs[1].(int)] - }).(P2SConnectionConfigurationResponseOutput) -} - -// P2SVpnGateway Resource. -type P2SVpnGatewayResponse struct { - // List of all customer specified DNS servers IP addresses. - CustomDnsServers []string `pulumi:"customDnsServers"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. - IsRoutingPreferenceInternet *bool `pulumi:"isRoutingPreferenceInternet"` - // Resource location. - Location string `pulumi:"location"` - // Resource name. - Name string `pulumi:"name"` - // List of all p2s connection configurations of the gateway. - P2SConnectionConfigurations []P2SConnectionConfigurationResponse `pulumi:"p2SConnectionConfigurations"` - // The provisioning state of the P2S VPN gateway resource. - ProvisioningState string `pulumi:"provisioningState"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // Resource type. - Type string `pulumi:"type"` - // The VirtualHub to which the gateway belongs. - VirtualHub *SubResourceResponse `pulumi:"virtualHub"` - // All P2S VPN clients' connection health status. - VpnClientConnectionHealth VpnClientConnectionHealthResponse `pulumi:"vpnClientConnectionHealth"` - // The scale unit for this p2s vpn gateway. - VpnGatewayScaleUnit *int `pulumi:"vpnGatewayScaleUnit"` - // The VpnServerConfiguration to which the p2sVpnGateway is attached to. - VpnServerConfiguration *SubResourceResponse `pulumi:"vpnServerConfiguration"` -} - -// P2SVpnGateway Resource. -type P2SVpnGatewayResponseOutput struct{ *pulumi.OutputState } - -func (P2SVpnGatewayResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnGatewayResponse)(nil)).Elem() -} - -func (o P2SVpnGatewayResponseOutput) ToP2SVpnGatewayResponseOutput() P2SVpnGatewayResponseOutput { - return o -} - -func (o P2SVpnGatewayResponseOutput) ToP2SVpnGatewayResponseOutputWithContext(ctx context.Context) P2SVpnGatewayResponseOutput { - return o -} - -// List of all customer specified DNS servers IP addresses. -func (o P2SVpnGatewayResponseOutput) CustomDnsServers() pulumi.StringArrayOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) []string { return v.CustomDnsServers }).(pulumi.StringArrayOutput) -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnGatewayResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Etag }).(pulumi.StringOutput) -} - -// Resource ID. -func (o P2SVpnGatewayResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. -func (o P2SVpnGatewayResponseOutput) IsRoutingPreferenceInternet() pulumi.BoolPtrOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) *bool { return v.IsRoutingPreferenceInternet }).(pulumi.BoolPtrOutput) -} - -// Resource location. -func (o P2SVpnGatewayResponseOutput) Location() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Location }).(pulumi.StringOutput) -} - -// Resource name. -func (o P2SVpnGatewayResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Name }).(pulumi.StringOutput) -} - -// List of all p2s connection configurations of the gateway. -func (o P2SVpnGatewayResponseOutput) P2SConnectionConfigurations() P2SConnectionConfigurationResponseArrayOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) []P2SConnectionConfigurationResponse { - return v.P2SConnectionConfigurations - }).(P2SConnectionConfigurationResponseArrayOutput) -} - -// The provisioning state of the P2S VPN gateway resource. -func (o P2SVpnGatewayResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// Resource tags. -func (o P2SVpnGatewayResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) -} - -// Resource type. -func (o P2SVpnGatewayResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Type }).(pulumi.StringOutput) -} - -// The VirtualHub to which the gateway belongs. -func (o P2SVpnGatewayResponseOutput) VirtualHub() SubResourceResponsePtrOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) *SubResourceResponse { return v.VirtualHub }).(SubResourceResponsePtrOutput) -} - -// All P2S VPN clients' connection health status. -func (o P2SVpnGatewayResponseOutput) VpnClientConnectionHealth() VpnClientConnectionHealthResponseOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) VpnClientConnectionHealthResponse { return v.VpnClientConnectionHealth }).(VpnClientConnectionHealthResponseOutput) -} - -// The scale unit for this p2s vpn gateway. -func (o P2SVpnGatewayResponseOutput) VpnGatewayScaleUnit() pulumi.IntPtrOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) *int { return v.VpnGatewayScaleUnit }).(pulumi.IntPtrOutput) -} - -// The VpnServerConfiguration to which the p2sVpnGateway is attached to. -func (o P2SVpnGatewayResponseOutput) VpnServerConfiguration() SubResourceResponsePtrOutput { - return o.ApplyT(func(v P2SVpnGatewayResponse) *SubResourceResponse { return v.VpnServerConfiguration }).(SubResourceResponsePtrOutput) -} - -type P2SVpnGatewayResponseArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnGatewayResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnGatewayResponse)(nil)).Elem() -} - -func (o P2SVpnGatewayResponseArrayOutput) ToP2SVpnGatewayResponseArrayOutput() P2SVpnGatewayResponseArrayOutput { - return o -} - -func (o P2SVpnGatewayResponseArrayOutput) ToP2SVpnGatewayResponseArrayOutputWithContext(ctx context.Context) P2SVpnGatewayResponseArrayOutput { - return o -} - -func (o P2SVpnGatewayResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnGatewayResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnGatewayResponse { - return vs[0].([]P2SVpnGatewayResponse)[vs[1].(int)] - }).(P2SVpnGatewayResponseOutput) -} - -// Radius client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusClientRootCertificate struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 Radius client root certificate thumbprint. - Thumbprint *string `pulumi:"thumbprint"` -} - -// P2SVpnServerConfigRadiusClientRootCertificateInput is an input type that accepts P2SVpnServerConfigRadiusClientRootCertificateArgs and P2SVpnServerConfigRadiusClientRootCertificateOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigRadiusClientRootCertificateInput` via: -// -// P2SVpnServerConfigRadiusClientRootCertificateArgs{...} -type P2SVpnServerConfigRadiusClientRootCertificateInput interface { - pulumi.Input - - ToP2SVpnServerConfigRadiusClientRootCertificateOutput() P2SVpnServerConfigRadiusClientRootCertificateOutput - ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(context.Context) P2SVpnServerConfigRadiusClientRootCertificateOutput -} - -// Radius client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusClientRootCertificateArgs struct { - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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 Radius client root certificate thumbprint. - Thumbprint pulumi.StringPtrInput `pulumi:"thumbprint"` -} - -func (P2SVpnServerConfigRadiusClientRootCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigRadiusClientRootCertificateArgs) ToP2SVpnServerConfigRadiusClientRootCertificateOutput() P2SVpnServerConfigRadiusClientRootCertificateOutput { - return i.ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigRadiusClientRootCertificateArgs) ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusClientRootCertificateOutput) -} - -// P2SVpnServerConfigRadiusClientRootCertificateArrayInput is an input type that accepts P2SVpnServerConfigRadiusClientRootCertificateArray and P2SVpnServerConfigRadiusClientRootCertificateArrayOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigRadiusClientRootCertificateArrayInput` via: -// -// P2SVpnServerConfigRadiusClientRootCertificateArray{ P2SVpnServerConfigRadiusClientRootCertificateArgs{...} } -type P2SVpnServerConfigRadiusClientRootCertificateArrayInput interface { - pulumi.Input - - ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput - ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigRadiusClientRootCertificateArrayOutput -} - -type P2SVpnServerConfigRadiusClientRootCertificateArray []P2SVpnServerConfigRadiusClientRootCertificateInput - -func (P2SVpnServerConfigRadiusClientRootCertificateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigRadiusClientRootCertificateArray) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { - return i.ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigRadiusClientRootCertificateArray) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) -} - -// Radius client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusClientRootCertificateOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusClientRootCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) ToP2SVpnServerConfigRadiusClientRootCertificateOutput() P2SVpnServerConfigRadiusClientRootCertificateOutput { - return o -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The Radius client root certificate thumbprint. -func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Thumbprint() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) -} - -type P2SVpnServerConfigRadiusClientRootCertificateArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusClientRootCertificateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusClientRootCertificate { - return vs[0].([]P2SVpnServerConfigRadiusClientRootCertificate)[vs[1].(int)] - }).(P2SVpnServerConfigRadiusClientRootCertificateOutput) -} - -// Radius client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusClientRootCertificateResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 provisioning state of the radius client root certificate resource. - ProvisioningState string `pulumi:"provisioningState"` - // The Radius client root certificate thumbprint. - Thumbprint *string `pulumi:"thumbprint"` -} - -// Radius client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusClientRootCertificateResponseOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigRadiusClientRootCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseOutput() P2SVpnServerConfigRadiusClientRootCertificateResponseOutput { - return o -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateResponseOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The provisioning state of the radius client root certificate resource. -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// The Radius client root certificate thumbprint. -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Thumbprint() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) -} - -type P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigRadiusClientRootCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusClientRootCertificateResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusClientRootCertificateResponse { - return vs[0].([]P2SVpnServerConfigRadiusClientRootCertificateResponse)[vs[1].(int)] - }).(P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusServerRootCertificate struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 certificate public data. - PublicCertData string `pulumi:"publicCertData"` -} - -// P2SVpnServerConfigRadiusServerRootCertificateInput is an input type that accepts P2SVpnServerConfigRadiusServerRootCertificateArgs and P2SVpnServerConfigRadiusServerRootCertificateOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigRadiusServerRootCertificateInput` via: -// -// P2SVpnServerConfigRadiusServerRootCertificateArgs{...} -type P2SVpnServerConfigRadiusServerRootCertificateInput interface { - pulumi.Input - - ToP2SVpnServerConfigRadiusServerRootCertificateOutput() P2SVpnServerConfigRadiusServerRootCertificateOutput - ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(context.Context) P2SVpnServerConfigRadiusServerRootCertificateOutput -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusServerRootCertificateArgs struct { - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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 certificate public data. - PublicCertData pulumi.StringInput `pulumi:"publicCertData"` -} - -func (P2SVpnServerConfigRadiusServerRootCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigRadiusServerRootCertificateArgs) ToP2SVpnServerConfigRadiusServerRootCertificateOutput() P2SVpnServerConfigRadiusServerRootCertificateOutput { - return i.ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigRadiusServerRootCertificateArgs) ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusServerRootCertificateOutput) -} - -// P2SVpnServerConfigRadiusServerRootCertificateArrayInput is an input type that accepts P2SVpnServerConfigRadiusServerRootCertificateArray and P2SVpnServerConfigRadiusServerRootCertificateArrayOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigRadiusServerRootCertificateArrayInput` via: -// -// P2SVpnServerConfigRadiusServerRootCertificateArray{ P2SVpnServerConfigRadiusServerRootCertificateArgs{...} } -type P2SVpnServerConfigRadiusServerRootCertificateArrayInput interface { - pulumi.Input - - ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput - ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigRadiusServerRootCertificateArrayOutput -} - -type P2SVpnServerConfigRadiusServerRootCertificateArray []P2SVpnServerConfigRadiusServerRootCertificateInput - -func (P2SVpnServerConfigRadiusServerRootCertificateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigRadiusServerRootCertificateArray) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { - return i.ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigRadiusServerRootCertificateArray) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusServerRootCertificateOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusServerRootCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) ToP2SVpnServerConfigRadiusServerRootCertificateOutput() P2SVpnServerConfigRadiusServerRootCertificateOutput { - return o -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The certificate public data. -func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) PublicCertData() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) string { return v.PublicCertData }).(pulumi.StringOutput) -} - -type P2SVpnServerConfigRadiusServerRootCertificateArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusServerRootCertificateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusServerRootCertificate { - return vs[0].([]P2SVpnServerConfigRadiusServerRootCertificate)[vs[1].(int)] - }).(P2SVpnServerConfigRadiusServerRootCertificateOutput) -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusServerRootCertificateResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 provisioning state of the radius server root certificate resource. - ProvisioningState string `pulumi:"provisioningState"` - // The certificate public data. - PublicCertData string `pulumi:"publicCertData"` -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigRadiusServerRootCertificateResponseOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigRadiusServerRootCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseOutput() P2SVpnServerConfigRadiusServerRootCertificateResponseOutput { - return o -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateResponseOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The provisioning state of the radius server root certificate resource. -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// The certificate public data. -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) PublicCertData() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) string { return v.PublicCertData }).(pulumi.StringOutput) -} - -type P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigRadiusServerRootCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusServerRootCertificateResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusServerRootCertificateResponse { - return vs[0].([]P2SVpnServerConfigRadiusServerRootCertificateResponse)[vs[1].(int)] - }).(P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRevokedCertificate struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 revoked VPN client certificate thumbprint. - Thumbprint *string `pulumi:"thumbprint"` -} - -// P2SVpnServerConfigVpnClientRevokedCertificateInput is an input type that accepts P2SVpnServerConfigVpnClientRevokedCertificateArgs and P2SVpnServerConfigVpnClientRevokedCertificateOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRevokedCertificateInput` via: -// -// P2SVpnServerConfigVpnClientRevokedCertificateArgs{...} -type P2SVpnServerConfigVpnClientRevokedCertificateInput interface { - pulumi.Input - - ToP2SVpnServerConfigVpnClientRevokedCertificateOutput() P2SVpnServerConfigVpnClientRevokedCertificateOutput - ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRevokedCertificateOutput -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRevokedCertificateArgs struct { - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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 revoked VPN client certificate thumbprint. - Thumbprint pulumi.StringPtrInput `pulumi:"thumbprint"` -} - -func (P2SVpnServerConfigVpnClientRevokedCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigVpnClientRevokedCertificateArgs) ToP2SVpnServerConfigVpnClientRevokedCertificateOutput() P2SVpnServerConfigVpnClientRevokedCertificateOutput { - return i.ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigVpnClientRevokedCertificateArgs) ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRevokedCertificateOutput) -} - -// P2SVpnServerConfigVpnClientRevokedCertificateArrayInput is an input type that accepts P2SVpnServerConfigVpnClientRevokedCertificateArray and P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRevokedCertificateArrayInput` via: -// -// P2SVpnServerConfigVpnClientRevokedCertificateArray{ P2SVpnServerConfigVpnClientRevokedCertificateArgs{...} } -type P2SVpnServerConfigVpnClientRevokedCertificateArrayInput interface { - pulumi.Input - - ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput - ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput -} - -type P2SVpnServerConfigVpnClientRevokedCertificateArray []P2SVpnServerConfigVpnClientRevokedCertificateInput - -func (P2SVpnServerConfigVpnClientRevokedCertificateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigVpnClientRevokedCertificateArray) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { - return i.ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigVpnClientRevokedCertificateArray) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRevokedCertificateOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRevokedCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateOutput() P2SVpnServerConfigVpnClientRevokedCertificateOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The revoked VPN client certificate thumbprint. -func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Thumbprint() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) -} - -type P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRevokedCertificateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRevokedCertificate { - return vs[0].([]P2SVpnServerConfigVpnClientRevokedCertificate)[vs[1].(int)] - }).(P2SVpnServerConfigVpnClientRevokedCertificateOutput) -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRevokedCertificateResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 provisioning state of the VPN client revoked certificate resource. - ProvisioningState string `pulumi:"provisioningState"` - // The revoked VPN client certificate thumbprint. - Thumbprint *string `pulumi:"thumbprint"` -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigVpnClientRevokedCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseOutput() P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The provisioning state of the VPN client revoked certificate resource. -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// The revoked VPN client certificate thumbprint. -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Thumbprint() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) -} - -type P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRevokedCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRevokedCertificateResponse { - return vs[0].([]P2SVpnServerConfigVpnClientRevokedCertificateResponse)[vs[1].(int)] - }).(P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) -} - -// VPN client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRootCertificate struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 certificate public data. - PublicCertData string `pulumi:"publicCertData"` -} - -// P2SVpnServerConfigVpnClientRootCertificateInput is an input type that accepts P2SVpnServerConfigVpnClientRootCertificateArgs and P2SVpnServerConfigVpnClientRootCertificateOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRootCertificateInput` via: -// -// P2SVpnServerConfigVpnClientRootCertificateArgs{...} -type P2SVpnServerConfigVpnClientRootCertificateInput interface { - pulumi.Input - - ToP2SVpnServerConfigVpnClientRootCertificateOutput() P2SVpnServerConfigVpnClientRootCertificateOutput - ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRootCertificateOutput -} - -// VPN client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRootCertificateArgs struct { - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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 certificate public data. - PublicCertData pulumi.StringInput `pulumi:"publicCertData"` -} - -func (P2SVpnServerConfigVpnClientRootCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigVpnClientRootCertificateArgs) ToP2SVpnServerConfigVpnClientRootCertificateOutput() P2SVpnServerConfigVpnClientRootCertificateOutput { - return i.ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigVpnClientRootCertificateArgs) ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRootCertificateOutput) -} - -// P2SVpnServerConfigVpnClientRootCertificateArrayInput is an input type that accepts P2SVpnServerConfigVpnClientRootCertificateArray and P2SVpnServerConfigVpnClientRootCertificateArrayOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRootCertificateArrayInput` via: -// -// P2SVpnServerConfigVpnClientRootCertificateArray{ P2SVpnServerConfigVpnClientRootCertificateArgs{...} } -type P2SVpnServerConfigVpnClientRootCertificateArrayInput interface { - pulumi.Input - - ToP2SVpnServerConfigVpnClientRootCertificateArrayOutput() P2SVpnServerConfigVpnClientRootCertificateArrayOutput - ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRootCertificateArrayOutput -} - -type P2SVpnServerConfigVpnClientRootCertificateArray []P2SVpnServerConfigVpnClientRootCertificateInput - -func (P2SVpnServerConfigVpnClientRootCertificateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() -} - -func (i P2SVpnServerConfigVpnClientRootCertificateArray) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutput() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { - return i.ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigVpnClientRootCertificateArray) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRootCertificateArrayOutput) -} - -// VPN client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRootCertificateOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRootCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRootCertificateOutput) ToP2SVpnServerConfigVpnClientRootCertificateOutput() P2SVpnServerConfigVpnClientRootCertificateOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRootCertificateOutput) ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigVpnClientRootCertificateOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigVpnClientRootCertificateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigVpnClientRootCertificateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The certificate public data. -func (o P2SVpnServerConfigVpnClientRootCertificateOutput) PublicCertData() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) string { return v.PublicCertData }).(pulumi.StringOutput) -} - -type P2SVpnServerConfigVpnClientRootCertificateArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRootCertificateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRootCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutput() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRootCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRootCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRootCertificateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRootCertificate { - return vs[0].([]P2SVpnServerConfigVpnClientRootCertificate)[vs[1].(int)] - }).(P2SVpnServerConfigVpnClientRootCertificateOutput) -} - -// VPN client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRootCertificateResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 provisioning state of the VPN client root certificate resource. - ProvisioningState string `pulumi:"provisioningState"` - // The certificate public data. - PublicCertData string `pulumi:"publicCertData"` -} - -// VPN client root certificate of P2SVpnServerConfiguration. -type P2SVpnServerConfigVpnClientRootCertificateResponseOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigVpnClientRootCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseOutput() P2SVpnServerConfigVpnClientRootCertificateResponseOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateResponseOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// Resource ID. -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The provisioning state of the VPN client root certificate resource. -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// The certificate public data. -func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) PublicCertData() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) string { return v.PublicCertData }).(pulumi.StringOutput) -} - -type P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRootCertificateResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput() P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput { - return o -} - -func (o P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRootCertificateResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRootCertificateResponse { - return vs[0].([]P2SVpnServerConfigVpnClientRootCertificateResponse)[vs[1].(int)] - }).(P2SVpnServerConfigVpnClientRootCertificateResponseOutput) -} - -// Parameters for P2SVpnServerConfiguration. -type P2SVpnServerConfigurationProperties struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - Name *string `pulumi:"name"` - // Radius client root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigRadiusClientRootCertificates []P2SVpnServerConfigRadiusClientRootCertificate `pulumi:"p2SVpnServerConfigRadiusClientRootCertificates"` - // Radius Server root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigRadiusServerRootCertificates []P2SVpnServerConfigRadiusServerRootCertificate `pulumi:"p2SVpnServerConfigRadiusServerRootCertificates"` - // VPN client revoked certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigVpnClientRevokedCertificates []P2SVpnServerConfigVpnClientRevokedCertificate `pulumi:"p2SVpnServerConfigVpnClientRevokedCertificates"` - // VPN client root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigVpnClientRootCertificates []P2SVpnServerConfigVpnClientRootCertificate `pulumi:"p2SVpnServerConfigVpnClientRootCertificates"` - // The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - RadiusServerAddress *string `pulumi:"radiusServerAddress"` - // The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - RadiusServerSecret *string `pulumi:"radiusServerSecret"` - // VpnClientIpsecPolicies for P2SVpnServerConfiguration. - VpnClientIpsecPolicies []IpsecPolicy `pulumi:"vpnClientIpsecPolicies"` - // VPN protocols for the P2SVpnServerConfiguration. - VpnProtocols []string `pulumi:"vpnProtocols"` -} - -// P2SVpnServerConfigurationPropertiesInput is an input type that accepts P2SVpnServerConfigurationPropertiesArgs and P2SVpnServerConfigurationPropertiesOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigurationPropertiesInput` via: -// -// P2SVpnServerConfigurationPropertiesArgs{...} -type P2SVpnServerConfigurationPropertiesInput interface { - pulumi.Input - - ToP2SVpnServerConfigurationPropertiesOutput() P2SVpnServerConfigurationPropertiesOutput - ToP2SVpnServerConfigurationPropertiesOutputWithContext(context.Context) P2SVpnServerConfigurationPropertiesOutput -} - -// Parameters for P2SVpnServerConfiguration. -type P2SVpnServerConfigurationPropertiesArgs struct { - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - Name pulumi.StringPtrInput `pulumi:"name"` - // Radius client root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigRadiusClientRootCertificates P2SVpnServerConfigRadiusClientRootCertificateArrayInput `pulumi:"p2SVpnServerConfigRadiusClientRootCertificates"` - // Radius Server root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigRadiusServerRootCertificates P2SVpnServerConfigRadiusServerRootCertificateArrayInput `pulumi:"p2SVpnServerConfigRadiusServerRootCertificates"` - // VPN client revoked certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigVpnClientRevokedCertificates P2SVpnServerConfigVpnClientRevokedCertificateArrayInput `pulumi:"p2SVpnServerConfigVpnClientRevokedCertificates"` - // VPN client root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigVpnClientRootCertificates P2SVpnServerConfigVpnClientRootCertificateArrayInput `pulumi:"p2SVpnServerConfigVpnClientRootCertificates"` - // The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - RadiusServerAddress pulumi.StringPtrInput `pulumi:"radiusServerAddress"` - // The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - RadiusServerSecret pulumi.StringPtrInput `pulumi:"radiusServerSecret"` - // VpnClientIpsecPolicies for P2SVpnServerConfiguration. - VpnClientIpsecPolicies IpsecPolicyArrayInput `pulumi:"vpnClientIpsecPolicies"` - // VPN protocols for the P2SVpnServerConfiguration. - VpnProtocols pulumi.StringArrayInput `pulumi:"vpnProtocols"` -} - -func (P2SVpnServerConfigurationPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigurationProperties)(nil)).Elem() -} - -func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesOutput() P2SVpnServerConfigurationPropertiesOutput { - return i.ToP2SVpnServerConfigurationPropertiesOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigurationPropertiesOutput) -} - -func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { - return i.ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Background()) -} - -func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigurationPropertiesOutput).ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx) -} - -// P2SVpnServerConfigurationPropertiesPtrInput is an input type that accepts P2SVpnServerConfigurationPropertiesArgs, P2SVpnServerConfigurationPropertiesPtr and P2SVpnServerConfigurationPropertiesPtrOutput values. -// You can construct a concrete instance of `P2SVpnServerConfigurationPropertiesPtrInput` via: -// -// P2SVpnServerConfigurationPropertiesArgs{...} -// -// or: -// -// nil -type P2SVpnServerConfigurationPropertiesPtrInput interface { - pulumi.Input - - ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput - ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Context) P2SVpnServerConfigurationPropertiesPtrOutput -} - -type p2svpnServerConfigurationPropertiesPtrType P2SVpnServerConfigurationPropertiesArgs - -func P2SVpnServerConfigurationPropertiesPtr(v *P2SVpnServerConfigurationPropertiesArgs) P2SVpnServerConfigurationPropertiesPtrInput { - return (*p2svpnServerConfigurationPropertiesPtrType)(v) -} - -func (*p2svpnServerConfigurationPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**P2SVpnServerConfigurationProperties)(nil)).Elem() -} - -func (i *p2svpnServerConfigurationPropertiesPtrType) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { - return i.ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Background()) -} - -func (i *p2svpnServerConfigurationPropertiesPtrType) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigurationPropertiesPtrOutput) -} - -// Parameters for P2SVpnServerConfiguration. -type P2SVpnServerConfigurationPropertiesOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigurationPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigurationProperties)(nil)).Elem() -} - -func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesOutput() P2SVpnServerConfigurationPropertiesOutput { - return o -} - -func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesOutput { - return o -} - -func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { - return o.ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Background()) -} - -func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v P2SVpnServerConfigurationProperties) *P2SVpnServerConfigurationProperties { - return &v - }).(P2SVpnServerConfigurationPropertiesPtrOutput) -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigurationPropertiesOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. -func (o P2SVpnServerConfigurationPropertiesOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// Radius client root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigRadiusClientRootCertificates() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusClientRootCertificate { - return v.P2SVpnServerConfigRadiusClientRootCertificates - }).(P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigRadiusServerRootCertificates() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusServerRootCertificate { - return v.P2SVpnServerConfigRadiusServerRootCertificates - }).(P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigVpnClientRevokedCertificates() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRevokedCertificate { - return v.P2SVpnServerConfigVpnClientRevokedCertificates - }).(P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) -} - -// VPN client root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigVpnClientRootCertificates() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRootCertificate { - return v.P2SVpnServerConfigVpnClientRootCertificates - }).(P2SVpnServerConfigVpnClientRootCertificateArrayOutput) -} - -// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. -func (o P2SVpnServerConfigurationPropertiesOutput) RadiusServerAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.RadiusServerAddress }).(pulumi.StringPtrOutput) -} - -// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. -func (o P2SVpnServerConfigurationPropertiesOutput) RadiusServerSecret() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) -} - -// VpnClientIpsecPolicies for P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesOutput) VpnClientIpsecPolicies() IpsecPolicyArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []IpsecPolicy { return v.VpnClientIpsecPolicies }).(IpsecPolicyArrayOutput) -} - -// VPN protocols for the P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesOutput) VpnProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []string { return v.VpnProtocols }).(pulumi.StringArrayOutput) -} - -type P2SVpnServerConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigurationPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**P2SVpnServerConfigurationProperties)(nil)).Elem() -} - -func (o P2SVpnServerConfigurationPropertiesPtrOutput) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { - return o -} - -func (o P2SVpnServerConfigurationPropertiesPtrOutput) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { - return o -} - -func (o P2SVpnServerConfigurationPropertiesPtrOutput) Elem() P2SVpnServerConfigurationPropertiesOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) P2SVpnServerConfigurationProperties { - if v != nil { - return *v - } - var ret P2SVpnServerConfigurationProperties - return ret - }).(P2SVpnServerConfigurationPropertiesOutput) -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { - if v == nil { - return nil - } - return v.Etag - }).(pulumi.StringPtrOutput) -} - -// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) -} - -// Radius client root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigRadiusClientRootCertificates() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusClientRootCertificate { - if v == nil { - return nil - } - return v.P2SVpnServerConfigRadiusClientRootCertificates - }).(P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigRadiusServerRootCertificates() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusServerRootCertificate { - if v == nil { - return nil - } - return v.P2SVpnServerConfigRadiusServerRootCertificates - }).(P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigVpnClientRevokedCertificates() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRevokedCertificate { - if v == nil { - return nil - } - return v.P2SVpnServerConfigVpnClientRevokedCertificates - }).(P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) -} - -// VPN client root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigVpnClientRootCertificates() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRootCertificate { - if v == nil { - return nil - } - return v.P2SVpnServerConfigVpnClientRootCertificates - }).(P2SVpnServerConfigVpnClientRootCertificateArrayOutput) -} - -// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) RadiusServerAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { - if v == nil { - return nil - } - return v.RadiusServerAddress - }).(pulumi.StringPtrOutput) -} - -// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) RadiusServerSecret() pulumi.StringPtrOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { - if v == nil { - return nil - } - return v.RadiusServerSecret - }).(pulumi.StringPtrOutput) -} - -// VpnClientIpsecPolicies for P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) VpnClientIpsecPolicies() IpsecPolicyArrayOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []IpsecPolicy { - if v == nil { - return nil - } - return v.VpnClientIpsecPolicies - }).(IpsecPolicyArrayOutput) -} - -// VPN protocols for the P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesPtrOutput) VpnProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []string { - if v == nil { - return nil - } - return v.VpnProtocols - }).(pulumi.StringArrayOutput) -} - -// Parameters for P2SVpnServerConfiguration. -type P2SVpnServerConfigurationPropertiesResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - Name *string `pulumi:"name"` - // List of references to P2SVpnGateways. - P2SVpnGateways []SubResourceResponse `pulumi:"p2SVpnGateways"` - // Radius client root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigRadiusClientRootCertificates []P2SVpnServerConfigRadiusClientRootCertificateResponse `pulumi:"p2SVpnServerConfigRadiusClientRootCertificates"` - // Radius Server root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigRadiusServerRootCertificates []P2SVpnServerConfigRadiusServerRootCertificateResponse `pulumi:"p2SVpnServerConfigRadiusServerRootCertificates"` - // VPN client revoked certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigVpnClientRevokedCertificates []P2SVpnServerConfigVpnClientRevokedCertificateResponse `pulumi:"p2SVpnServerConfigVpnClientRevokedCertificates"` - // VPN client root certificate of P2SVpnServerConfiguration. - P2SVpnServerConfigVpnClientRootCertificates []P2SVpnServerConfigVpnClientRootCertificateResponse `pulumi:"p2SVpnServerConfigVpnClientRootCertificates"` - // The provisioning state of the P2S VPN server configuration resource. - ProvisioningState string `pulumi:"provisioningState"` - // The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - RadiusServerAddress *string `pulumi:"radiusServerAddress"` - // The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - RadiusServerSecret *string `pulumi:"radiusServerSecret"` - // VpnClientIpsecPolicies for P2SVpnServerConfiguration. - VpnClientIpsecPolicies []IpsecPolicyResponse `pulumi:"vpnClientIpsecPolicies"` - // VPN protocols for the P2SVpnServerConfiguration. - VpnProtocols []string `pulumi:"vpnProtocols"` -} - -// Parameters for P2SVpnServerConfiguration. -type P2SVpnServerConfigurationPropertiesResponseOutput struct{ *pulumi.OutputState } - -func (P2SVpnServerConfigurationPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*P2SVpnServerConfigurationPropertiesResponse)(nil)).Elem() -} - -func (o P2SVpnServerConfigurationPropertiesResponseOutput) ToP2SVpnServerConfigurationPropertiesResponseOutput() P2SVpnServerConfigurationPropertiesResponseOutput { - return o -} - -func (o P2SVpnServerConfigurationPropertiesResponseOutput) ToP2SVpnServerConfigurationPropertiesResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesResponseOutput { - return o -} - -// A unique read-only string that changes whenever the resource is updated. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) -} - -// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// List of references to P2SVpnGateways. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnGateways() SubResourceResponseArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []SubResourceResponse { return v.P2SVpnGateways }).(SubResourceResponseArrayOutput) -} - -// Radius client root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigRadiusClientRootCertificates() P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigRadiusClientRootCertificateResponse { - return v.P2SVpnServerConfigRadiusClientRootCertificates - }).(P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) -} - -// Radius Server root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigRadiusServerRootCertificates() P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigRadiusServerRootCertificateResponse { - return v.P2SVpnServerConfigRadiusServerRootCertificates - }).(P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) -} - -// VPN client revoked certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigVpnClientRevokedCertificates() P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigVpnClientRevokedCertificateResponse { - return v.P2SVpnServerConfigVpnClientRevokedCertificates - }).(P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) -} - -// VPN client root certificate of P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigVpnClientRootCertificates() P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigVpnClientRootCertificateResponse { - return v.P2SVpnServerConfigVpnClientRootCertificates - }).(P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) -} - -// The provisioning state of the P2S VPN server configuration resource. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) -} - -// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) RadiusServerAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.RadiusServerAddress }).(pulumi.StringPtrOutput) -} - -// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) RadiusServerSecret() pulumi.StringPtrOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) -} - -// VpnClientIpsecPolicies for P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) VpnClientIpsecPolicies() IpsecPolicyResponseArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []IpsecPolicyResponse { - return v.VpnClientIpsecPolicies - }).(IpsecPolicyResponseArrayOutput) -} - -// VPN protocols for the P2SVpnServerConfiguration. -func (o P2SVpnServerConfigurationPropertiesResponseOutput) VpnProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []string { return v.VpnProtocols }).(pulumi.StringArrayOutput) -} - -// Filter that is applied to packet capture request. Multiple filters can be applied. -type PacketCaptureFilter struct { - // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - LocalIPAddress *string `pulumi:"localIPAddress"` - // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - LocalPort *string `pulumi:"localPort"` - // Protocol to be filtered on. - Protocol *string `pulumi:"protocol"` - // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - RemoteIPAddress *string `pulumi:"remoteIPAddress"` - // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - RemotePort *string `pulumi:"remotePort"` -} - -// Defaults sets the appropriate defaults for PacketCaptureFilter -func (val *PacketCaptureFilter) Defaults() *PacketCaptureFilter { - if val == nil { - return nil - } - tmp := *val - if tmp.Protocol == nil { - protocol_ := "Any" - tmp.Protocol = &protocol_ - } - return &tmp -} - -// PacketCaptureFilterInput is an input type that accepts PacketCaptureFilterArgs and PacketCaptureFilterOutput values. -// You can construct a concrete instance of `PacketCaptureFilterInput` via: -// -// PacketCaptureFilterArgs{...} -type PacketCaptureFilterInput interface { - pulumi.Input - - ToPacketCaptureFilterOutput() PacketCaptureFilterOutput - ToPacketCaptureFilterOutputWithContext(context.Context) PacketCaptureFilterOutput -} - -// Filter that is applied to packet capture request. Multiple filters can be applied. -type PacketCaptureFilterArgs struct { - // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - LocalIPAddress pulumi.StringPtrInput `pulumi:"localIPAddress"` - // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - LocalPort pulumi.StringPtrInput `pulumi:"localPort"` - // Protocol to be filtered on. - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - RemoteIPAddress pulumi.StringPtrInput `pulumi:"remoteIPAddress"` - // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - RemotePort pulumi.StringPtrInput `pulumi:"remotePort"` -} - -// Defaults sets the appropriate defaults for PacketCaptureFilterArgs -func (val *PacketCaptureFilterArgs) Defaults() *PacketCaptureFilterArgs { - if val == nil { - return nil - } - tmp := *val - if tmp.Protocol == nil { - tmp.Protocol = pulumi.StringPtr("Any") - } - return &tmp -} -func (PacketCaptureFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureFilter)(nil)).Elem() -} - -func (i PacketCaptureFilterArgs) ToPacketCaptureFilterOutput() PacketCaptureFilterOutput { - return i.ToPacketCaptureFilterOutputWithContext(context.Background()) -} - -func (i PacketCaptureFilterArgs) ToPacketCaptureFilterOutputWithContext(ctx context.Context) PacketCaptureFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureFilterOutput) -} - -// PacketCaptureFilterArrayInput is an input type that accepts PacketCaptureFilterArray and PacketCaptureFilterArrayOutput values. -// You can construct a concrete instance of `PacketCaptureFilterArrayInput` via: -// -// PacketCaptureFilterArray{ PacketCaptureFilterArgs{...} } -type PacketCaptureFilterArrayInput interface { - pulumi.Input - - ToPacketCaptureFilterArrayOutput() PacketCaptureFilterArrayOutput - ToPacketCaptureFilterArrayOutputWithContext(context.Context) PacketCaptureFilterArrayOutput -} - -type PacketCaptureFilterArray []PacketCaptureFilterInput - -func (PacketCaptureFilterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PacketCaptureFilter)(nil)).Elem() -} - -func (i PacketCaptureFilterArray) ToPacketCaptureFilterArrayOutput() PacketCaptureFilterArrayOutput { - return i.ToPacketCaptureFilterArrayOutputWithContext(context.Background()) -} - -func (i PacketCaptureFilterArray) ToPacketCaptureFilterArrayOutputWithContext(ctx context.Context) PacketCaptureFilterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureFilterArrayOutput) -} - -// Filter that is applied to packet capture request. Multiple filters can be applied. -type PacketCaptureFilterOutput struct{ *pulumi.OutputState } - -func (PacketCaptureFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureFilter)(nil)).Elem() -} - -func (o PacketCaptureFilterOutput) ToPacketCaptureFilterOutput() PacketCaptureFilterOutput { - return o -} - -func (o PacketCaptureFilterOutput) ToPacketCaptureFilterOutputWithContext(ctx context.Context) PacketCaptureFilterOutput { - return o -} - -// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterOutput) LocalIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilter) *string { return v.LocalIPAddress }).(pulumi.StringPtrOutput) -} - -// Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterOutput) LocalPort() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilter) *string { return v.LocalPort }).(pulumi.StringPtrOutput) -} - -// Protocol to be filtered on. -func (o PacketCaptureFilterOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilter) *string { return v.Protocol }).(pulumi.StringPtrOutput) -} - -// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterOutput) RemoteIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilter) *string { return v.RemoteIPAddress }).(pulumi.StringPtrOutput) -} - -// Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterOutput) RemotePort() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilter) *string { return v.RemotePort }).(pulumi.StringPtrOutput) -} - -type PacketCaptureFilterArrayOutput struct{ *pulumi.OutputState } - -func (PacketCaptureFilterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PacketCaptureFilter)(nil)).Elem() -} - -func (o PacketCaptureFilterArrayOutput) ToPacketCaptureFilterArrayOutput() PacketCaptureFilterArrayOutput { - return o -} - -func (o PacketCaptureFilterArrayOutput) ToPacketCaptureFilterArrayOutputWithContext(ctx context.Context) PacketCaptureFilterArrayOutput { - return o -} - -func (o PacketCaptureFilterArrayOutput) Index(i pulumi.IntInput) PacketCaptureFilterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PacketCaptureFilter { - return vs[0].([]PacketCaptureFilter)[vs[1].(int)] - }).(PacketCaptureFilterOutput) -} - -// Filter that is applied to packet capture request. Multiple filters can be applied. -type PacketCaptureFilterResponse struct { - // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - LocalIPAddress *string `pulumi:"localIPAddress"` - // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - LocalPort *string `pulumi:"localPort"` - // Protocol to be filtered on. - Protocol *string `pulumi:"protocol"` - // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - RemoteIPAddress *string `pulumi:"remoteIPAddress"` - // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. - RemotePort *string `pulumi:"remotePort"` -} - -// Defaults sets the appropriate defaults for PacketCaptureFilterResponse -func (val *PacketCaptureFilterResponse) Defaults() *PacketCaptureFilterResponse { - if val == nil { - return nil - } - tmp := *val - if tmp.Protocol == nil { - protocol_ := "Any" - tmp.Protocol = &protocol_ - } - return &tmp -} - -// Filter that is applied to packet capture request. Multiple filters can be applied. -type PacketCaptureFilterResponseOutput struct{ *pulumi.OutputState } - -func (PacketCaptureFilterResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureFilterResponse)(nil)).Elem() -} - -func (o PacketCaptureFilterResponseOutput) ToPacketCaptureFilterResponseOutput() PacketCaptureFilterResponseOutput { - return o -} - -func (o PacketCaptureFilterResponseOutput) ToPacketCaptureFilterResponseOutputWithContext(ctx context.Context) PacketCaptureFilterResponseOutput { - return o -} - -// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterResponseOutput) LocalIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.LocalIPAddress }).(pulumi.StringPtrOutput) -} - -// Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterResponseOutput) LocalPort() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.LocalPort }).(pulumi.StringPtrOutput) -} - -// Protocol to be filtered on. -func (o PacketCaptureFilterResponseOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.Protocol }).(pulumi.StringPtrOutput) -} - -// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterResponseOutput) RemoteIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.RemoteIPAddress }).(pulumi.StringPtrOutput) -} - -// Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. -func (o PacketCaptureFilterResponseOutput) RemotePort() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.RemotePort }).(pulumi.StringPtrOutput) -} - -type PacketCaptureFilterResponseArrayOutput struct{ *pulumi.OutputState } - -func (PacketCaptureFilterResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PacketCaptureFilterResponse)(nil)).Elem() -} - -func (o PacketCaptureFilterResponseArrayOutput) ToPacketCaptureFilterResponseArrayOutput() PacketCaptureFilterResponseArrayOutput { - return o -} - -func (o PacketCaptureFilterResponseArrayOutput) ToPacketCaptureFilterResponseArrayOutputWithContext(ctx context.Context) PacketCaptureFilterResponseArrayOutput { - return o -} - -func (o PacketCaptureFilterResponseArrayOutput) Index(i pulumi.IntInput) PacketCaptureFilterResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PacketCaptureFilterResponse { - return vs[0].([]PacketCaptureFilterResponse)[vs[1].(int)] - }).(PacketCaptureFilterResponseOutput) -} - -// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. -type PacketCaptureMachineScope struct { - // List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. - Exclude []string `pulumi:"exclude"` - // List of AzureVMSS instances to run packet capture on. - Include []string `pulumi:"include"` -} - -// PacketCaptureMachineScopeInput is an input type that accepts PacketCaptureMachineScopeArgs and PacketCaptureMachineScopeOutput values. -// You can construct a concrete instance of `PacketCaptureMachineScopeInput` via: -// -// PacketCaptureMachineScopeArgs{...} -type PacketCaptureMachineScopeInput interface { - pulumi.Input - - ToPacketCaptureMachineScopeOutput() PacketCaptureMachineScopeOutput - ToPacketCaptureMachineScopeOutputWithContext(context.Context) PacketCaptureMachineScopeOutput -} - -// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. -type PacketCaptureMachineScopeArgs struct { - // List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. - Exclude pulumi.StringArrayInput `pulumi:"exclude"` - // List of AzureVMSS instances to run packet capture on. - Include pulumi.StringArrayInput `pulumi:"include"` -} - -func (PacketCaptureMachineScopeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureMachineScope)(nil)).Elem() -} - -func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopeOutput() PacketCaptureMachineScopeOutput { - return i.ToPacketCaptureMachineScopeOutputWithContext(context.Background()) -} - -func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopeOutputWithContext(ctx context.Context) PacketCaptureMachineScopeOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureMachineScopeOutput) -} - -func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { - return i.ToPacketCaptureMachineScopePtrOutputWithContext(context.Background()) -} - -func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureMachineScopeOutput).ToPacketCaptureMachineScopePtrOutputWithContext(ctx) -} - -// PacketCaptureMachineScopePtrInput is an input type that accepts PacketCaptureMachineScopeArgs, PacketCaptureMachineScopePtr and PacketCaptureMachineScopePtrOutput values. -// You can construct a concrete instance of `PacketCaptureMachineScopePtrInput` via: -// -// PacketCaptureMachineScopeArgs{...} -// -// or: -// -// nil -type PacketCaptureMachineScopePtrInput interface { - pulumi.Input - - ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput - ToPacketCaptureMachineScopePtrOutputWithContext(context.Context) PacketCaptureMachineScopePtrOutput -} - -type packetCaptureMachineScopePtrType PacketCaptureMachineScopeArgs - -func PacketCaptureMachineScopePtr(v *PacketCaptureMachineScopeArgs) PacketCaptureMachineScopePtrInput { - return (*packetCaptureMachineScopePtrType)(v) -} - -func (*packetCaptureMachineScopePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PacketCaptureMachineScope)(nil)).Elem() -} - -func (i *packetCaptureMachineScopePtrType) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { - return i.ToPacketCaptureMachineScopePtrOutputWithContext(context.Background()) -} - -func (i *packetCaptureMachineScopePtrType) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureMachineScopePtrOutput) -} - -// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. -type PacketCaptureMachineScopeOutput struct{ *pulumi.OutputState } - -func (PacketCaptureMachineScopeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureMachineScope)(nil)).Elem() -} - -func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopeOutput() PacketCaptureMachineScopeOutput { - return o -} - -func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopeOutputWithContext(ctx context.Context) PacketCaptureMachineScopeOutput { - return o -} - -func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { - return o.ToPacketCaptureMachineScopePtrOutputWithContext(context.Background()) -} - -func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PacketCaptureMachineScope) *PacketCaptureMachineScope { - return &v - }).(PacketCaptureMachineScopePtrOutput) -} - -// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. -func (o PacketCaptureMachineScopeOutput) Exclude() pulumi.StringArrayOutput { - return o.ApplyT(func(v PacketCaptureMachineScope) []string { return v.Exclude }).(pulumi.StringArrayOutput) -} - -// List of AzureVMSS instances to run packet capture on. -func (o PacketCaptureMachineScopeOutput) Include() pulumi.StringArrayOutput { - return o.ApplyT(func(v PacketCaptureMachineScope) []string { return v.Include }).(pulumi.StringArrayOutput) -} - -type PacketCaptureMachineScopePtrOutput struct{ *pulumi.OutputState } - -func (PacketCaptureMachineScopePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PacketCaptureMachineScope)(nil)).Elem() -} - -func (o PacketCaptureMachineScopePtrOutput) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { - return o -} - -func (o PacketCaptureMachineScopePtrOutput) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { - return o -} - -func (o PacketCaptureMachineScopePtrOutput) Elem() PacketCaptureMachineScopeOutput { - return o.ApplyT(func(v *PacketCaptureMachineScope) PacketCaptureMachineScope { - if v != nil { - return *v - } - var ret PacketCaptureMachineScope - return ret - }).(PacketCaptureMachineScopeOutput) -} - -// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. -func (o PacketCaptureMachineScopePtrOutput) Exclude() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PacketCaptureMachineScope) []string { - if v == nil { - return nil - } - return v.Exclude - }).(pulumi.StringArrayOutput) -} - -// List of AzureVMSS instances to run packet capture on. -func (o PacketCaptureMachineScopePtrOutput) Include() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PacketCaptureMachineScope) []string { - if v == nil { - return nil - } - return v.Include - }).(pulumi.StringArrayOutput) -} - -// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. -type PacketCaptureMachineScopeResponse struct { - // List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. - Exclude []string `pulumi:"exclude"` - // List of AzureVMSS instances to run packet capture on. - Include []string `pulumi:"include"` -} - -// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. -type PacketCaptureMachineScopeResponseOutput struct{ *pulumi.OutputState } - -func (PacketCaptureMachineScopeResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureMachineScopeResponse)(nil)).Elem() -} - -func (o PacketCaptureMachineScopeResponseOutput) ToPacketCaptureMachineScopeResponseOutput() PacketCaptureMachineScopeResponseOutput { - return o -} - -func (o PacketCaptureMachineScopeResponseOutput) ToPacketCaptureMachineScopeResponseOutputWithContext(ctx context.Context) PacketCaptureMachineScopeResponseOutput { - return o -} - -// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. -func (o PacketCaptureMachineScopeResponseOutput) Exclude() pulumi.StringArrayOutput { - return o.ApplyT(func(v PacketCaptureMachineScopeResponse) []string { return v.Exclude }).(pulumi.StringArrayOutput) -} - -// List of AzureVMSS instances to run packet capture on. -func (o PacketCaptureMachineScopeResponseOutput) Include() pulumi.StringArrayOutput { - return o.ApplyT(func(v PacketCaptureMachineScopeResponse) []string { return v.Include }).(pulumi.StringArrayOutput) -} - -type PacketCaptureMachineScopeResponsePtrOutput struct{ *pulumi.OutputState } - -func (PacketCaptureMachineScopeResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PacketCaptureMachineScopeResponse)(nil)).Elem() -} - -func (o PacketCaptureMachineScopeResponsePtrOutput) ToPacketCaptureMachineScopeResponsePtrOutput() PacketCaptureMachineScopeResponsePtrOutput { - return o -} - -func (o PacketCaptureMachineScopeResponsePtrOutput) ToPacketCaptureMachineScopeResponsePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopeResponsePtrOutput { - return o -} - -func (o PacketCaptureMachineScopeResponsePtrOutput) Elem() PacketCaptureMachineScopeResponseOutput { - return o.ApplyT(func(v *PacketCaptureMachineScopeResponse) PacketCaptureMachineScopeResponse { - if v != nil { - return *v - } - var ret PacketCaptureMachineScopeResponse - return ret - }).(PacketCaptureMachineScopeResponseOutput) -} - -// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. -func (o PacketCaptureMachineScopeResponsePtrOutput) Exclude() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PacketCaptureMachineScopeResponse) []string { - if v == nil { - return nil - } - return v.Exclude - }).(pulumi.StringArrayOutput) -} - -// List of AzureVMSS instances to run packet capture on. -func (o PacketCaptureMachineScopeResponsePtrOutput) Include() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PacketCaptureMachineScopeResponse) []string { - if v == nil { - return nil - } - return v.Include - }).(pulumi.StringArrayOutput) -} - -// The storage location for a packet capture session. -type PacketCaptureSettings struct { - // Number of file count. Default value of count is 10 and maximum number is 10000. - FileCount *int `pulumi:"fileCount"` - // Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). - FileSizeInBytes *float64 `pulumi:"fileSizeInBytes"` - // Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). - SessionTimeLimitInSeconds *int `pulumi:"sessionTimeLimitInSeconds"` -} - -// Defaults sets the appropriate defaults for PacketCaptureSettings -func (val *PacketCaptureSettings) Defaults() *PacketCaptureSettings { - if val == nil { - return nil - } - tmp := *val - if tmp.FileCount == nil { - fileCount_ := 10 - tmp.FileCount = &fileCount_ - } - if tmp.FileSizeInBytes == nil { - fileSizeInBytes_ := 104857600.0 - tmp.FileSizeInBytes = &fileSizeInBytes_ - } - if tmp.SessionTimeLimitInSeconds == nil { - sessionTimeLimitInSeconds_ := 86400 - tmp.SessionTimeLimitInSeconds = &sessionTimeLimitInSeconds_ - } - return &tmp -} - -// PacketCaptureSettingsInput is an input type that accepts PacketCaptureSettingsArgs and PacketCaptureSettingsOutput values. -// You can construct a concrete instance of `PacketCaptureSettingsInput` via: -// -// PacketCaptureSettingsArgs{...} -type PacketCaptureSettingsInput interface { - pulumi.Input - - ToPacketCaptureSettingsOutput() PacketCaptureSettingsOutput - ToPacketCaptureSettingsOutputWithContext(context.Context) PacketCaptureSettingsOutput -} - -// The storage location for a packet capture session. -type PacketCaptureSettingsArgs struct { - // Number of file count. Default value of count is 10 and maximum number is 10000. - FileCount pulumi.IntPtrInput `pulumi:"fileCount"` - // Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). - FileSizeInBytes pulumi.Float64PtrInput `pulumi:"fileSizeInBytes"` - // Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). - SessionTimeLimitInSeconds pulumi.IntPtrInput `pulumi:"sessionTimeLimitInSeconds"` -} - -// Defaults sets the appropriate defaults for PacketCaptureSettingsArgs -func (val *PacketCaptureSettingsArgs) Defaults() *PacketCaptureSettingsArgs { - if val == nil { - return nil - } - tmp := *val - if tmp.FileCount == nil { - tmp.FileCount = pulumi.IntPtr(10) - } - if tmp.FileSizeInBytes == nil { - tmp.FileSizeInBytes = pulumi.Float64Ptr(104857600.0) - } - if tmp.SessionTimeLimitInSeconds == nil { - tmp.SessionTimeLimitInSeconds = pulumi.IntPtr(86400) - } - return &tmp -} -func (PacketCaptureSettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureSettings)(nil)).Elem() -} - -func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsOutput() PacketCaptureSettingsOutput { - return i.ToPacketCaptureSettingsOutputWithContext(context.Background()) -} - -func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsOutputWithContext(ctx context.Context) PacketCaptureSettingsOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureSettingsOutput) -} - -func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { - return i.ToPacketCaptureSettingsPtrOutputWithContext(context.Background()) -} - -func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureSettingsOutput).ToPacketCaptureSettingsPtrOutputWithContext(ctx) -} - -// PacketCaptureSettingsPtrInput is an input type that accepts PacketCaptureSettingsArgs, PacketCaptureSettingsPtr and PacketCaptureSettingsPtrOutput values. -// You can construct a concrete instance of `PacketCaptureSettingsPtrInput` via: -// -// PacketCaptureSettingsArgs{...} -// -// or: -// -// nil -type PacketCaptureSettingsPtrInput interface { - pulumi.Input - - ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput - ToPacketCaptureSettingsPtrOutputWithContext(context.Context) PacketCaptureSettingsPtrOutput -} - -type packetCaptureSettingsPtrType PacketCaptureSettingsArgs - -func PacketCaptureSettingsPtr(v *PacketCaptureSettingsArgs) PacketCaptureSettingsPtrInput { - return (*packetCaptureSettingsPtrType)(v) -} - -func (*packetCaptureSettingsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PacketCaptureSettings)(nil)).Elem() -} - -func (i *packetCaptureSettingsPtrType) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { - return i.ToPacketCaptureSettingsPtrOutputWithContext(context.Background()) -} - -func (i *packetCaptureSettingsPtrType) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureSettingsPtrOutput) -} - -// The storage location for a packet capture session. -type PacketCaptureSettingsOutput struct{ *pulumi.OutputState } - -func (PacketCaptureSettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureSettings)(nil)).Elem() -} - -func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsOutput() PacketCaptureSettingsOutput { - return o -} - -func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsOutputWithContext(ctx context.Context) PacketCaptureSettingsOutput { - return o -} - -func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { - return o.ToPacketCaptureSettingsPtrOutputWithContext(context.Background()) -} - -func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PacketCaptureSettings) *PacketCaptureSettings { - return &v - }).(PacketCaptureSettingsPtrOutput) -} - -// Number of file count. Default value of count is 10 and maximum number is 10000. -func (o PacketCaptureSettingsOutput) FileCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v PacketCaptureSettings) *int { return v.FileCount }).(pulumi.IntPtrOutput) -} - -// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). -func (o PacketCaptureSettingsOutput) FileSizeInBytes() pulumi.Float64PtrOutput { - return o.ApplyT(func(v PacketCaptureSettings) *float64 { return v.FileSizeInBytes }).(pulumi.Float64PtrOutput) -} - -// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). -func (o PacketCaptureSettingsOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v PacketCaptureSettings) *int { return v.SessionTimeLimitInSeconds }).(pulumi.IntPtrOutput) -} - -type PacketCaptureSettingsPtrOutput struct{ *pulumi.OutputState } - -func (PacketCaptureSettingsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PacketCaptureSettings)(nil)).Elem() -} - -func (o PacketCaptureSettingsPtrOutput) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { - return o -} - -func (o PacketCaptureSettingsPtrOutput) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { - return o -} - -func (o PacketCaptureSettingsPtrOutput) Elem() PacketCaptureSettingsOutput { - return o.ApplyT(func(v *PacketCaptureSettings) PacketCaptureSettings { - if v != nil { - return *v - } - var ret PacketCaptureSettings - return ret - }).(PacketCaptureSettingsOutput) -} - -// Number of file count. Default value of count is 10 and maximum number is 10000. -func (o PacketCaptureSettingsPtrOutput) FileCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PacketCaptureSettings) *int { - if v == nil { - return nil - } - return v.FileCount - }).(pulumi.IntPtrOutput) -} - -// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). -func (o PacketCaptureSettingsPtrOutput) FileSizeInBytes() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *PacketCaptureSettings) *float64 { - if v == nil { - return nil - } - return v.FileSizeInBytes - }).(pulumi.Float64PtrOutput) -} - -// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). -func (o PacketCaptureSettingsPtrOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PacketCaptureSettings) *int { - if v == nil { - return nil - } - return v.SessionTimeLimitInSeconds - }).(pulumi.IntPtrOutput) -} - -// The storage location for a packet capture session. -type PacketCaptureSettingsResponse struct { - // Number of file count. Default value of count is 10 and maximum number is 10000. - FileCount *int `pulumi:"fileCount"` - // Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). - FileSizeInBytes *float64 `pulumi:"fileSizeInBytes"` - // Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). - SessionTimeLimitInSeconds *int `pulumi:"sessionTimeLimitInSeconds"` -} - -// Defaults sets the appropriate defaults for PacketCaptureSettingsResponse -func (val *PacketCaptureSettingsResponse) Defaults() *PacketCaptureSettingsResponse { - if val == nil { - return nil - } - tmp := *val - if tmp.FileCount == nil { - fileCount_ := 10 - tmp.FileCount = &fileCount_ - } - if tmp.FileSizeInBytes == nil { - fileSizeInBytes_ := 104857600.0 - tmp.FileSizeInBytes = &fileSizeInBytes_ - } - if tmp.SessionTimeLimitInSeconds == nil { - sessionTimeLimitInSeconds_ := 86400 - tmp.SessionTimeLimitInSeconds = &sessionTimeLimitInSeconds_ - } - return &tmp -} - -// The storage location for a packet capture session. -type PacketCaptureSettingsResponseOutput struct{ *pulumi.OutputState } +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) +} -func (PacketCaptureSettingsResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureSettingsResponse)(nil)).Elem() +// The provisioning state of the network security group resource. +func (o NetworkSecurityGroupResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (o PacketCaptureSettingsResponseOutput) ToPacketCaptureSettingsResponseOutput() PacketCaptureSettingsResponseOutput { - return o +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) } -func (o PacketCaptureSettingsResponseOutput) ToPacketCaptureSettingsResponseOutputWithContext(ctx context.Context) PacketCaptureSettingsResponseOutput { - return o +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseOutput) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) []SecurityRuleResponse { return v.SecurityRules }).(SecurityRuleResponseArrayOutput) } -// Number of file count. Default value of count is 10 and maximum number is 10000. -func (o PacketCaptureSettingsResponseOutput) FileCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v PacketCaptureSettingsResponse) *int { return v.FileCount }).(pulumi.IntPtrOutput) +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) } -// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). -func (o PacketCaptureSettingsResponseOutput) FileSizeInBytes() pulumi.Float64PtrOutput { - return o.ApplyT(func(v PacketCaptureSettingsResponse) *float64 { return v.FileSizeInBytes }).(pulumi.Float64PtrOutput) +// Resource tags. +func (o NetworkSecurityGroupResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). -func (o PacketCaptureSettingsResponseOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v PacketCaptureSettingsResponse) *int { return v.SessionTimeLimitInSeconds }).(pulumi.IntPtrOutput) +// Resource type. +func (o NetworkSecurityGroupResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponse) string { return v.Type }).(pulumi.StringOutput) } -type PacketCaptureSettingsResponsePtrOutput struct{ *pulumi.OutputState } +type NetworkSecurityGroupResponsePtrOutput struct{ *pulumi.OutputState } -func (PacketCaptureSettingsResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PacketCaptureSettingsResponse)(nil)).Elem() +func (NetworkSecurityGroupResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkSecurityGroupResponse)(nil)).Elem() } -func (o PacketCaptureSettingsResponsePtrOutput) ToPacketCaptureSettingsResponsePtrOutput() PacketCaptureSettingsResponsePtrOutput { +func (o NetworkSecurityGroupResponsePtrOutput) ToNetworkSecurityGroupResponsePtrOutput() NetworkSecurityGroupResponsePtrOutput { return o } -func (o PacketCaptureSettingsResponsePtrOutput) ToPacketCaptureSettingsResponsePtrOutputWithContext(ctx context.Context) PacketCaptureSettingsResponsePtrOutput { +func (o NetworkSecurityGroupResponsePtrOutput) ToNetworkSecurityGroupResponsePtrOutputWithContext(ctx context.Context) NetworkSecurityGroupResponsePtrOutput { return o } -func (o PacketCaptureSettingsResponsePtrOutput) Elem() PacketCaptureSettingsResponseOutput { - return o.ApplyT(func(v *PacketCaptureSettingsResponse) PacketCaptureSettingsResponse { +func (o NetworkSecurityGroupResponsePtrOutput) Elem() NetworkSecurityGroupResponseOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) NetworkSecurityGroupResponse { if v != nil { return *v } - var ret PacketCaptureSettingsResponse + var ret NetworkSecurityGroupResponse return ret - }).(PacketCaptureSettingsResponseOutput) + }).(NetworkSecurityGroupResponseOutput) } -// Number of file count. Default value of count is 10 and maximum number is 10000. -func (o PacketCaptureSettingsResponsePtrOutput) FileCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PacketCaptureSettingsResponse) *int { +// The default security rules of network security group. +func (o NetworkSecurityGroupResponsePtrOutput) DefaultSecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) []SecurityRuleResponse { if v == nil { return nil } - return v.FileCount - }).(pulumi.IntPtrOutput) + return v.DefaultSecurityRules + }).(SecurityRuleResponseArrayOutput) } -// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). -func (o PacketCaptureSettingsResponsePtrOutput) FileSizeInBytes() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *PacketCaptureSettingsResponse) *float64 { +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponsePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { if v == nil { return nil } - return v.FileSizeInBytes - }).(pulumi.Float64PtrOutput) + return &v.Etag + }).(pulumi.StringPtrOutput) } -// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). -func (o PacketCaptureSettingsResponsePtrOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PacketCaptureSettingsResponse) *int { +// A collection of references to flow log resources. +func (o NetworkSecurityGroupResponsePtrOutput) FlowLogs() FlowLogResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) []FlowLogResponse { if v == nil { return nil } - return v.SessionTimeLimitInSeconds - }).(pulumi.IntPtrOutput) + return v.FlowLogs + }).(FlowLogResponseArrayOutput) } -// The storage location for a packet capture session. -type PacketCaptureStorageLocation struct { - // This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. - FilePath *string `pulumi:"filePath"` - // This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. - LocalPath *string `pulumi:"localPath"` - // The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. - StorageId *string `pulumi:"storageId"` - // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. - StoragePath *string `pulumi:"storagePath"` +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupResponsePtrOutput) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *bool { + if v == nil { + return nil + } + return v.FlushConnection + }).(pulumi.BoolPtrOutput) } -// PacketCaptureStorageLocationInput is an input type that accepts PacketCaptureStorageLocationArgs and PacketCaptureStorageLocationOutput values. -// You can construct a concrete instance of `PacketCaptureStorageLocationInput` via: -// -// PacketCaptureStorageLocationArgs{...} -type PacketCaptureStorageLocationInput interface { - pulumi.Input +// Resource ID. +func (o NetworkSecurityGroupResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} - ToPacketCaptureStorageLocationOutput() PacketCaptureStorageLocationOutput - ToPacketCaptureStorageLocationOutputWithContext(context.Context) PacketCaptureStorageLocationOutput +// Resource location. +func (o NetworkSecurityGroupResponsePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -// The storage location for a packet capture session. -type PacketCaptureStorageLocationArgs struct { - // This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. - FilePath pulumi.StringPtrInput `pulumi:"filePath"` - // This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. - LocalPath pulumi.StringPtrInput `pulumi:"localPath"` - // The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. - StorageId pulumi.StringPtrInput `pulumi:"storageId"` - // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. - StoragePath pulumi.StringPtrInput `pulumi:"storagePath"` +// Resource name. +func (o NetworkSecurityGroupResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -func (PacketCaptureStorageLocationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureStorageLocation)(nil)).Elem() +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponsePtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) []NetworkInterfaceResponse { + if v == nil { + return nil + } + return v.NetworkInterfaces + }).(NetworkInterfaceResponseArrayOutput) } -func (i PacketCaptureStorageLocationArgs) ToPacketCaptureStorageLocationOutput() PacketCaptureStorageLocationOutput { - return i.ToPacketCaptureStorageLocationOutputWithContext(context.Background()) +// The provisioning state of the network security group resource. +func (o NetworkSecurityGroupResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) } -func (i PacketCaptureStorageLocationArgs) ToPacketCaptureStorageLocationOutputWithContext(ctx context.Context) PacketCaptureStorageLocationOutput { - return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureStorageLocationOutput) +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) } -// The storage location for a packet capture session. -type PacketCaptureStorageLocationOutput struct{ *pulumi.OutputState } +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponsePtrOutput) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) []SecurityRuleResponse { + if v == nil { + return nil + } + return v.SecurityRules + }).(SecurityRuleResponseArrayOutput) +} -func (PacketCaptureStorageLocationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureStorageLocation)(nil)).Elem() +// A collection of references to subnets. +func (o NetworkSecurityGroupResponsePtrOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) []SubnetResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubnetResponseArrayOutput) } -func (o PacketCaptureStorageLocationOutput) ToPacketCaptureStorageLocationOutput() PacketCaptureStorageLocationOutput { - return o +// Resource tags. +func (o NetworkSecurityGroupResponsePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -func (o PacketCaptureStorageLocationOutput) ToPacketCaptureStorageLocationOutputWithContext(ctx context.Context) PacketCaptureStorageLocationOutput { - return o +// Resource type. +func (o NetworkSecurityGroupResponsePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponse) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. -func (o PacketCaptureStorageLocationOutput) FilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.FilePath }).(pulumi.StringPtrOutput) +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseV1 struct { + // The default security rules of network security group. + DefaultSecurityRules []SecurityRuleResponseV1 `pulumi:"defaultSecurityRules"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // A collection of references to network interfaces. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The resource GUID property of the network security group resource. + ResourceGuid *string `pulumi:"resourceGuid"` + // A collection of security rules of the network security group. + SecurityRules []SecurityRuleResponse `pulumi:"securityRules"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` } -// This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. -func (o PacketCaptureStorageLocationOutput) LocalPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.LocalPath }).(pulumi.StringPtrOutput) +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseV1Output struct{ *pulumi.OutputState } + +func (NetworkSecurityGroupResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkSecurityGroupResponseV1)(nil)).Elem() } -// The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. -func (o PacketCaptureStorageLocationOutput) StorageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.StorageId }).(pulumi.StringPtrOutput) +func (o NetworkSecurityGroupResponseV1Output) ToNetworkSecurityGroupResponseV1Output() NetworkSecurityGroupResponseV1Output { + return o } -// The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. -func (o PacketCaptureStorageLocationOutput) StoragePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.StoragePath }).(pulumi.StringPtrOutput) +func (o NetworkSecurityGroupResponseV1Output) ToNetworkSecurityGroupResponseV1OutputWithContext(ctx context.Context) NetworkSecurityGroupResponseV1Output { + return o } -// The storage location for a packet capture session. -type PacketCaptureStorageLocationResponse struct { - // This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. - FilePath *string `pulumi:"filePath"` - // This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. - LocalPath *string `pulumi:"localPath"` - // The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. - StorageId *string `pulumi:"storageId"` - // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. - StoragePath *string `pulumi:"storagePath"` +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseV1Output) DefaultSecurityRules() SecurityRuleResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) []SecurityRuleResponseV1 { return v.DefaultSecurityRules }).(SecurityRuleResponseV1ArrayOutput) } -// The storage location for a packet capture session. -type PacketCaptureStorageLocationResponseOutput struct{ *pulumi.OutputState } +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} -func (PacketCaptureStorageLocationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PacketCaptureStorageLocationResponse)(nil)).Elem() +// Resource ID. +func (o NetworkSecurityGroupResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o PacketCaptureStorageLocationResponseOutput) ToPacketCaptureStorageLocationResponseOutput() PacketCaptureStorageLocationResponseOutput { - return o +// Resource location. +func (o NetworkSecurityGroupResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o PacketCaptureStorageLocationResponseOutput) ToPacketCaptureStorageLocationResponseOutputWithContext(ctx context.Context) PacketCaptureStorageLocationResponseOutput { - return o +// Resource name. +func (o NetworkSecurityGroupResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) string { return v.Name }).(pulumi.StringOutput) } -// This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. -func (o PacketCaptureStorageLocationResponseOutput) FilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.FilePath }).(pulumi.StringPtrOutput) +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseV1Output) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -// This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. -func (o PacketCaptureStorageLocationResponseOutput) LocalPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.LocalPath }).(pulumi.StringPtrOutput) +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkSecurityGroupResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) } -// The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. -func (o PacketCaptureStorageLocationResponseOutput) StorageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.StorageId }).(pulumi.StringPtrOutput) +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseV1Output) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) *string { return v.ResourceGuid }).(pulumi.StringPtrOutput) } -// The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. -func (o PacketCaptureStorageLocationResponseOutput) StoragePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.StoragePath }).(pulumi.StringPtrOutput) +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseV1Output) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) []SecurityRuleResponse { return v.SecurityRules }).(SecurityRuleResponseArrayOutput) } -// Parameters for an Action. -type Parameter struct { - // List of AS paths. - AsPath []string `pulumi:"asPath"` - // List of BGP communities. - Community []string `pulumi:"community"` - // List of route prefixes. - RoutePrefix []string `pulumi:"routePrefix"` +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseV1Output) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) } -// ParameterInput is an input type that accepts ParameterArgs and ParameterOutput values. -// You can construct a concrete instance of `ParameterInput` via: -// -// ParameterArgs{...} -type ParameterInput interface { - pulumi.Input +// Resource tags. +func (o NetworkSecurityGroupResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} - ToParameterOutput() ParameterOutput - ToParameterOutputWithContext(context.Context) ParameterOutput +// Resource type. +func (o NetworkSecurityGroupResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV1) string { return v.Type }).(pulumi.StringOutput) } -// Parameters for an Action. -type ParameterArgs struct { - // List of AS paths. - AsPath pulumi.StringArrayInput `pulumi:"asPath"` - // List of BGP communities. - Community pulumi.StringArrayInput `pulumi:"community"` - // List of route prefixes. - RoutePrefix pulumi.StringArrayInput `pulumi:"routePrefix"` +type NetworkSecurityGroupResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (NetworkSecurityGroupResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkSecurityGroupResponseV1)(nil)).Elem() } -func (ParameterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*Parameter)(nil)).Elem() +func (o NetworkSecurityGroupResponseV1PtrOutput) ToNetworkSecurityGroupResponseV1PtrOutput() NetworkSecurityGroupResponseV1PtrOutput { + return o } -func (i ParameterArgs) ToParameterOutput() ParameterOutput { - return i.ToParameterOutputWithContext(context.Background()) +func (o NetworkSecurityGroupResponseV1PtrOutput) ToNetworkSecurityGroupResponseV1PtrOutputWithContext(ctx context.Context) NetworkSecurityGroupResponseV1PtrOutput { + return o } -func (i ParameterArgs) ToParameterOutputWithContext(ctx context.Context) ParameterOutput { - return pulumi.ToOutputWithContext(ctx, i).(ParameterOutput) +func (o NetworkSecurityGroupResponseV1PtrOutput) Elem() NetworkSecurityGroupResponseV1Output { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) NetworkSecurityGroupResponseV1 { + if v != nil { + return *v + } + var ret NetworkSecurityGroupResponseV1 + return ret + }).(NetworkSecurityGroupResponseV1Output) } -// ParameterArrayInput is an input type that accepts ParameterArray and ParameterArrayOutput values. -// You can construct a concrete instance of `ParameterArrayInput` via: -// -// ParameterArray{ ParameterArgs{...} } -type ParameterArrayInput interface { - pulumi.Input +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseV1PtrOutput) DefaultSecurityRules() SecurityRuleResponseV1ArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) []SecurityRuleResponseV1 { + if v == nil { + return nil + } + return v.DefaultSecurityRules + }).(SecurityRuleResponseV1ArrayOutput) +} - ToParameterArrayOutput() ParameterArrayOutput - ToParameterArrayOutputWithContext(context.Context) ParameterArrayOutput +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) } -type ParameterArray []ParameterInput +// Resource ID. +func (o NetworkSecurityGroupResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} -func (ParameterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]Parameter)(nil)).Elem() +// Resource location. +func (o NetworkSecurityGroupResponseV1PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -func (i ParameterArray) ToParameterArrayOutput() ParameterArrayOutput { - return i.ToParameterArrayOutputWithContext(context.Background()) +// Resource name. +func (o NetworkSecurityGroupResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -func (i ParameterArray) ToParameterArrayOutputWithContext(ctx context.Context) ParameterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ParameterArrayOutput) +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseV1PtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) []NetworkInterfaceResponse { + if v == nil { + return nil + } + return v.NetworkInterfaces + }).(NetworkInterfaceResponseArrayOutput) } -// Parameters for an Action. -type ParameterOutput struct{ *pulumi.OutputState } +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o NetworkSecurityGroupResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) +} -func (ParameterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Parameter)(nil)).Elem() +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseV1PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return v.ResourceGuid + }).(pulumi.StringPtrOutput) } -func (o ParameterOutput) ToParameterOutput() ParameterOutput { - return o +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseV1PtrOutput) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) []SecurityRuleResponse { + if v == nil { + return nil + } + return v.SecurityRules + }).(SecurityRuleResponseArrayOutput) } -func (o ParameterOutput) ToParameterOutputWithContext(ctx context.Context) ParameterOutput { - return o +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseV1PtrOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) []SubnetResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubnetResponseArrayOutput) } -// List of AS paths. -func (o ParameterOutput) AsPath() pulumi.StringArrayOutput { - return o.ApplyT(func(v Parameter) []string { return v.AsPath }).(pulumi.StringArrayOutput) +// Resource tags. +func (o NetworkSecurityGroupResponseV1PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -// List of BGP communities. -func (o ParameterOutput) Community() pulumi.StringArrayOutput { - return o.ApplyT(func(v Parameter) []string { return v.Community }).(pulumi.StringArrayOutput) +// Resource type. +func (o NetworkSecurityGroupResponseV1PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV1) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// List of route prefixes. -func (o ParameterOutput) RoutePrefix() pulumi.StringArrayOutput { - return o.ApplyT(func(v Parameter) []string { return v.RoutePrefix }).(pulumi.StringArrayOutput) +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseV2 struct { + // The default security rules of network security group. + DefaultSecurityRules []SecurityRuleResponse `pulumi:"defaultSecurityRules"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // A collection of references to flow log resources. + FlowLogs []FlowLogResponseV1 `pulumi:"flowLogs"` + // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. + FlushConnection *bool `pulumi:"flushConnection"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // A collection of references to network interfaces. + NetworkInterfaces []NetworkInterfaceResponseV2 `pulumi:"networkInterfaces"` + // The provisioning state of the network security group resource. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the network security group resource. + ResourceGuid string `pulumi:"resourceGuid"` + // A collection of security rules of the network security group. + SecurityRules []SecurityRuleResponse `pulumi:"securityRules"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` } -type ParameterArrayOutput struct{ *pulumi.OutputState } +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseV2Output struct{ *pulumi.OutputState } -func (ParameterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]Parameter)(nil)).Elem() +func (NetworkSecurityGroupResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkSecurityGroupResponseV2)(nil)).Elem() } -func (o ParameterArrayOutput) ToParameterArrayOutput() ParameterArrayOutput { +func (o NetworkSecurityGroupResponseV2Output) ToNetworkSecurityGroupResponseV2Output() NetworkSecurityGroupResponseV2Output { return o } -func (o ParameterArrayOutput) ToParameterArrayOutputWithContext(ctx context.Context) ParameterArrayOutput { +func (o NetworkSecurityGroupResponseV2Output) ToNetworkSecurityGroupResponseV2OutputWithContext(ctx context.Context) NetworkSecurityGroupResponseV2Output { return o } -func (o ParameterArrayOutput) Index(i pulumi.IntInput) ParameterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) Parameter { - return vs[0].([]Parameter)[vs[1].(int)] - }).(ParameterOutput) +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseV2Output) DefaultSecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) []SecurityRuleResponse { return v.DefaultSecurityRules }).(SecurityRuleResponseArrayOutput) } -// Parameters for an Action. -type ParameterResponse struct { - // List of AS paths. - AsPath []string `pulumi:"asPath"` - // List of BGP communities. - Community []string `pulumi:"community"` - // List of route prefixes. - RoutePrefix []string `pulumi:"routePrefix"` +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) string { return v.Etag }).(pulumi.StringOutput) } -// Parameters for an Action. -type ParameterResponseOutput struct{ *pulumi.OutputState } - -func (ParameterResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ParameterResponse)(nil)).Elem() +// A collection of references to flow log resources. +func (o NetworkSecurityGroupResponseV2Output) FlowLogs() FlowLogResponseV1ArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) []FlowLogResponseV1 { return v.FlowLogs }).(FlowLogResponseV1ArrayOutput) } -func (o ParameterResponseOutput) ToParameterResponseOutput() ParameterResponseOutput { - return o +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupResponseV2Output) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) *bool { return v.FlushConnection }).(pulumi.BoolPtrOutput) } -func (o ParameterResponseOutput) ToParameterResponseOutputWithContext(ctx context.Context) ParameterResponseOutput { - return o +// Resource ID. +func (o NetworkSecurityGroupResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) } -// List of AS paths. -func (o ParameterResponseOutput) AsPath() pulumi.StringArrayOutput { - return o.ApplyT(func(v ParameterResponse) []string { return v.AsPath }).(pulumi.StringArrayOutput) +// Resource location. +func (o NetworkSecurityGroupResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) } -// List of BGP communities. -func (o ParameterResponseOutput) Community() pulumi.StringArrayOutput { - return o.ApplyT(func(v ParameterResponse) []string { return v.Community }).(pulumi.StringArrayOutput) +// Resource name. +func (o NetworkSecurityGroupResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) string { return v.Name }).(pulumi.StringOutput) } -// List of route prefixes. -func (o ParameterResponseOutput) RoutePrefix() pulumi.StringArrayOutput { - return o.ApplyT(func(v ParameterResponse) []string { return v.RoutePrefix }).(pulumi.StringArrayOutput) +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseV2Output) NetworkInterfaces() NetworkInterfaceResponseV2ArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) []NetworkInterfaceResponseV2 { return v.NetworkInterfaces }).(NetworkInterfaceResponseV2ArrayOutput) } -type ParameterResponseArrayOutput struct{ *pulumi.OutputState } +// The provisioning state of the network security group resource. +func (o NetworkSecurityGroupResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} -func (ParameterResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ParameterResponse)(nil)).Elem() +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseV2Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) string { return v.ResourceGuid }).(pulumi.StringOutput) } -func (o ParameterResponseArrayOutput) ToParameterResponseArrayOutput() ParameterResponseArrayOutput { - return o +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseV2Output) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) []SecurityRuleResponse { return v.SecurityRules }).(SecurityRuleResponseArrayOutput) } -func (o ParameterResponseArrayOutput) ToParameterResponseArrayOutputWithContext(ctx context.Context) ParameterResponseArrayOutput { - return o +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseV2Output) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) } -func (o ParameterResponseArrayOutput) Index(i pulumi.IntInput) ParameterResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ParameterResponse { - return vs[0].([]ParameterResponse)[vs[1].(int)] - }).(ParameterResponseOutput) +// Resource tags. +func (o NetworkSecurityGroupResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// Properties of the partner managed resource. -type PartnerManagedResourcePropertiesResponse struct { - // The partner managed resource id. - Id string `pulumi:"id"` - // The partner managed ILB resource id - InternalLoadBalancerId string `pulumi:"internalLoadBalancerId"` - // The partner managed SLB resource id - StandardLoadBalancerId string `pulumi:"standardLoadBalancerId"` +// Resource type. +func (o NetworkSecurityGroupResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV2) string { return v.Type }).(pulumi.StringOutput) } -// Properties of the partner managed resource. -type PartnerManagedResourcePropertiesResponseOutput struct{ *pulumi.OutputState } +type NetworkSecurityGroupResponseV2PtrOutput struct{ *pulumi.OutputState } -func (PartnerManagedResourcePropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PartnerManagedResourcePropertiesResponse)(nil)).Elem() +func (NetworkSecurityGroupResponseV2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkSecurityGroupResponseV2)(nil)).Elem() } -func (o PartnerManagedResourcePropertiesResponseOutput) ToPartnerManagedResourcePropertiesResponseOutput() PartnerManagedResourcePropertiesResponseOutput { +func (o NetworkSecurityGroupResponseV2PtrOutput) ToNetworkSecurityGroupResponseV2PtrOutput() NetworkSecurityGroupResponseV2PtrOutput { return o } -func (o PartnerManagedResourcePropertiesResponseOutput) ToPartnerManagedResourcePropertiesResponseOutputWithContext(ctx context.Context) PartnerManagedResourcePropertiesResponseOutput { +func (o NetworkSecurityGroupResponseV2PtrOutput) ToNetworkSecurityGroupResponseV2PtrOutputWithContext(ctx context.Context) NetworkSecurityGroupResponseV2PtrOutput { return o } -// The partner managed resource id. -func (o PartnerManagedResourcePropertiesResponseOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v PartnerManagedResourcePropertiesResponse) string { return v.Id }).(pulumi.StringOutput) +func (o NetworkSecurityGroupResponseV2PtrOutput) Elem() NetworkSecurityGroupResponseV2Output { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) NetworkSecurityGroupResponseV2 { + if v != nil { + return *v + } + var ret NetworkSecurityGroupResponseV2 + return ret + }).(NetworkSecurityGroupResponseV2Output) } -// The partner managed ILB resource id -func (o PartnerManagedResourcePropertiesResponseOutput) InternalLoadBalancerId() pulumi.StringOutput { - return o.ApplyT(func(v PartnerManagedResourcePropertiesResponse) string { return v.InternalLoadBalancerId }).(pulumi.StringOutput) +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseV2PtrOutput) DefaultSecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) []SecurityRuleResponse { + if v == nil { + return nil + } + return v.DefaultSecurityRules + }).(SecurityRuleResponseArrayOutput) } -// The partner managed SLB resource id -func (o PartnerManagedResourcePropertiesResponseOutput) StandardLoadBalancerId() pulumi.StringOutput { - return o.ApplyT(func(v PartnerManagedResourcePropertiesResponse) string { return v.StandardLoadBalancerId }).(pulumi.StringOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseV2PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) } -type PartnerManagedResourcePropertiesResponsePtrOutput struct{ *pulumi.OutputState } +// A collection of references to flow log resources. +func (o NetworkSecurityGroupResponseV2PtrOutput) FlowLogs() FlowLogResponseV1ArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) []FlowLogResponseV1 { + if v == nil { + return nil + } + return v.FlowLogs + }).(FlowLogResponseV1ArrayOutput) +} -func (PartnerManagedResourcePropertiesResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PartnerManagedResourcePropertiesResponse)(nil)).Elem() +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupResponseV2PtrOutput) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *bool { + if v == nil { + return nil + } + return v.FlushConnection + }).(pulumi.BoolPtrOutput) } -func (o PartnerManagedResourcePropertiesResponsePtrOutput) ToPartnerManagedResourcePropertiesResponsePtrOutput() PartnerManagedResourcePropertiesResponsePtrOutput { - return o +// Resource ID. +func (o NetworkSecurityGroupResponseV2PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -func (o PartnerManagedResourcePropertiesResponsePtrOutput) ToPartnerManagedResourcePropertiesResponsePtrOutputWithContext(ctx context.Context) PartnerManagedResourcePropertiesResponsePtrOutput { - return o +// Resource location. +func (o NetworkSecurityGroupResponseV2PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -func (o PartnerManagedResourcePropertiesResponsePtrOutput) Elem() PartnerManagedResourcePropertiesResponseOutput { - return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) PartnerManagedResourcePropertiesResponse { - if v != nil { - return *v +// Resource name. +func (o NetworkSecurityGroupResponseV2PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { + if v == nil { + return nil } - var ret PartnerManagedResourcePropertiesResponse - return ret - }).(PartnerManagedResourcePropertiesResponseOutput) + return &v.Name + }).(pulumi.StringPtrOutput) } -// The partner managed resource id. -func (o PartnerManagedResourcePropertiesResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) *string { +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseV2PtrOutput) NetworkInterfaces() NetworkInterfaceResponseV2ArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) []NetworkInterfaceResponseV2 { if v == nil { return nil } - return &v.Id + return v.NetworkInterfaces + }).(NetworkInterfaceResponseV2ArrayOutput) +} + +// The provisioning state of the network security group resource. +func (o NetworkSecurityGroupResponseV2PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { + if v == nil { + return nil + } + return &v.ProvisioningState }).(pulumi.StringPtrOutput) } -// The partner managed ILB resource id -func (o PartnerManagedResourcePropertiesResponsePtrOutput) InternalLoadBalancerId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) *string { +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseV2PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { if v == nil { return nil } - return &v.InternalLoadBalancerId + return &v.ResourceGuid }).(pulumi.StringPtrOutput) } -// The partner managed SLB resource id -func (o PartnerManagedResourcePropertiesResponsePtrOutput) StandardLoadBalancerId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) *string { +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseV2PtrOutput) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) []SecurityRuleResponse { if v == nil { return nil } - return &v.StandardLoadBalancerId + return v.SecurityRules + }).(SecurityRuleResponseArrayOutput) +} + +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseV2PtrOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) []SubnetResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o NetworkSecurityGroupResponseV2PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o NetworkSecurityGroupResponseV2PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV2) *string { + if v == nil { + return nil + } + return &v.Type }).(pulumi.StringPtrOutput) } -// Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. -type PeerExpressRouteCircuitConnectionResponse struct { - // /29 IP address space to carve out Customer addresses for tunnels. - AddressPrefix *string `pulumi:"addressPrefix"` - // The resource guid of the authorization used for the express route circuit connection. - AuthResourceGuid *string `pulumi:"authResourceGuid"` - // Express Route Circuit connection state. - CircuitConnectionStatus string `pulumi:"circuitConnectionStatus"` - // The name of the express route circuit connection resource. - ConnectionName *string `pulumi:"connectionName"` +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseV3 struct { + // The default security rules of network security group. + DefaultSecurityRules []SecurityRuleResponse `pulumi:"defaultSecurityRules"` // A unique read-only string that changes whenever the resource is updated. Etag string `pulumi:"etag"` - // Reference to Express Route Circuit Private Peering Resource of the circuit. - ExpressRouteCircuitPeering *SubResourceResponse `pulumi:"expressRouteCircuitPeering"` + // A collection of references to flow log resources. + FlowLogs []FlowLogResponseV2 `pulumi:"flowLogs"` + // When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. + FlushConnection *bool `pulumi:"flushConnection"` // Resource ID. Id *string `pulumi:"id"` - // 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"` - // Reference to Express Route Circuit Private Peering Resource of the peered circuit. - PeerExpressRouteCircuitPeering *SubResourceResponse `pulumi:"peerExpressRouteCircuitPeering"` - // The provisioning state of the peer express route circuit connection resource. + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // A collection of references to network interfaces. + NetworkInterfaces []NetworkInterfaceResponseV3 `pulumi:"networkInterfaces"` + // The provisioning state of the network security group resource. ProvisioningState string `pulumi:"provisioningState"` - // Type of the resource. + // The resource GUID property of the network security group resource. + ResourceGuid string `pulumi:"resourceGuid"` + // A collection of security rules of the network security group. + SecurityRules []SecurityRuleResponse `pulumi:"securityRules"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. Type string `pulumi:"type"` } -// Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. -type PeerExpressRouteCircuitConnectionResponseOutput struct{ *pulumi.OutputState } +// NetworkSecurityGroup resource. +type NetworkSecurityGroupResponseV3Output struct{ *pulumi.OutputState } -func (PeerExpressRouteCircuitConnectionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PeerExpressRouteCircuitConnectionResponse)(nil)).Elem() +func (NetworkSecurityGroupResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkSecurityGroupResponseV3)(nil)).Elem() } -func (o PeerExpressRouteCircuitConnectionResponseOutput) ToPeerExpressRouteCircuitConnectionResponseOutput() PeerExpressRouteCircuitConnectionResponseOutput { +func (o NetworkSecurityGroupResponseV3Output) ToNetworkSecurityGroupResponseV3Output() NetworkSecurityGroupResponseV3Output { return o } -func (o PeerExpressRouteCircuitConnectionResponseOutput) ToPeerExpressRouteCircuitConnectionResponseOutputWithContext(ctx context.Context) PeerExpressRouteCircuitConnectionResponseOutput { +func (o NetworkSecurityGroupResponseV3Output) ToNetworkSecurityGroupResponseV3OutputWithContext(ctx context.Context) NetworkSecurityGroupResponseV3Output { return o } -// /29 IP address space to carve out Customer addresses for tunnels. -func (o PeerExpressRouteCircuitConnectionResponseOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseV3Output) DefaultSecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) []SecurityRuleResponse { return v.DefaultSecurityRules }).(SecurityRuleResponseArrayOutput) } -// The resource guid of the authorization used for the express route circuit connection. -func (o PeerExpressRouteCircuitConnectionResponseOutput) AuthResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.AuthResourceGuid }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseV3Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) string { return v.Etag }).(pulumi.StringOutput) } -// Express Route Circuit connection state. -func (o PeerExpressRouteCircuitConnectionResponseOutput) CircuitConnectionStatus() pulumi.StringOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.CircuitConnectionStatus }).(pulumi.StringOutput) +// A collection of references to flow log resources. +func (o NetworkSecurityGroupResponseV3Output) FlowLogs() FlowLogResponseV2ArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) []FlowLogResponseV2 { return v.FlowLogs }).(FlowLogResponseV2ArrayOutput) } -// The name of the express route circuit connection resource. -func (o PeerExpressRouteCircuitConnectionResponseOutput) ConnectionName() pulumi.StringPtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.ConnectionName }).(pulumi.StringPtrOutput) +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupResponseV3Output) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) *bool { return v.FlushConnection }).(pulumi.BoolPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o PeerExpressRouteCircuitConnectionResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.Etag }).(pulumi.StringOutput) +// Resource ID. +func (o NetworkSecurityGroupResponseV3Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Reference to Express Route Circuit Private Peering Resource of the circuit. -func (o PeerExpressRouteCircuitConnectionResponseOutput) ExpressRouteCircuitPeering() SubResourceResponsePtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *SubResourceResponse { - return v.ExpressRouteCircuitPeering - }).(SubResourceResponsePtrOutput) +// Resource location. +func (o NetworkSecurityGroupResponseV3Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) *string { return v.Location }).(pulumi.StringPtrOutput) } -// Resource ID. -func (o PeerExpressRouteCircuitConnectionResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// Resource name. +func (o NetworkSecurityGroupResponseV3Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) string { return v.Name }).(pulumi.StringOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o PeerExpressRouteCircuitConnectionResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseV3Output) NetworkInterfaces() NetworkInterfaceResponseV3ArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) []NetworkInterfaceResponseV3 { return v.NetworkInterfaces }).(NetworkInterfaceResponseV3ArrayOutput) } -// Reference to Express Route Circuit Private Peering Resource of the peered circuit. -func (o PeerExpressRouteCircuitConnectionResponseOutput) PeerExpressRouteCircuitPeering() SubResourceResponsePtrOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *SubResourceResponse { - return v.PeerExpressRouteCircuitPeering - }).(SubResourceResponsePtrOutput) +// The provisioning state of the network security group resource. +func (o NetworkSecurityGroupResponseV3Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The provisioning state of the peer express route circuit connection resource. -func (o PeerExpressRouteCircuitConnectionResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseV3Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) string { return v.ResourceGuid }).(pulumi.StringOutput) } -// Type of the resource. -func (o PeerExpressRouteCircuitConnectionResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.Type }).(pulumi.StringOutput) +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseV3Output) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) []SecurityRuleResponse { return v.SecurityRules }).(SecurityRuleResponseArrayOutput) } -type PeerExpressRouteCircuitConnectionResponseArrayOutput struct{ *pulumi.OutputState } +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseV3Output) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +} -func (PeerExpressRouteCircuitConnectionResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PeerExpressRouteCircuitConnectionResponse)(nil)).Elem() +// Resource tags. +func (o NetworkSecurityGroupResponseV3Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -func (o PeerExpressRouteCircuitConnectionResponseArrayOutput) ToPeerExpressRouteCircuitConnectionResponseArrayOutput() PeerExpressRouteCircuitConnectionResponseArrayOutput { +// Resource type. +func (o NetworkSecurityGroupResponseV3Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkSecurityGroupResponseV3) string { return v.Type }).(pulumi.StringOutput) +} + +type NetworkSecurityGroupResponseV3PtrOutput struct{ *pulumi.OutputState } + +func (NetworkSecurityGroupResponseV3PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkSecurityGroupResponseV3)(nil)).Elem() +} + +func (o NetworkSecurityGroupResponseV3PtrOutput) ToNetworkSecurityGroupResponseV3PtrOutput() NetworkSecurityGroupResponseV3PtrOutput { return o } -func (o PeerExpressRouteCircuitConnectionResponseArrayOutput) ToPeerExpressRouteCircuitConnectionResponseArrayOutputWithContext(ctx context.Context) PeerExpressRouteCircuitConnectionResponseArrayOutput { +func (o NetworkSecurityGroupResponseV3PtrOutput) ToNetworkSecurityGroupResponseV3PtrOutputWithContext(ctx context.Context) NetworkSecurityGroupResponseV3PtrOutput { return o } -func (o PeerExpressRouteCircuitConnectionResponseArrayOutput) Index(i pulumi.IntInput) PeerExpressRouteCircuitConnectionResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PeerExpressRouteCircuitConnectionResponse { - return vs[0].([]PeerExpressRouteCircuitConnectionResponse)[vs[1].(int)] - }).(PeerExpressRouteCircuitConnectionResponseOutput) +func (o NetworkSecurityGroupResponseV3PtrOutput) Elem() NetworkSecurityGroupResponseV3Output { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) NetworkSecurityGroupResponseV3 { + if v != nil { + return *v + } + var ret NetworkSecurityGroupResponseV3 + return ret + }).(NetworkSecurityGroupResponseV3Output) } -type PerimeterBasedAccessRuleResponse struct { - // NSP id in the ARM id format. - Id string `pulumi:"id"` - // Location of the NSP supplied. - Location string `pulumi:"location"` - // Resource guid of the NSP supplied. - PerimeterGuid string `pulumi:"perimeterGuid"` +// The default security rules of network security group. +func (o NetworkSecurityGroupResponseV3PtrOutput) DefaultSecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) []SecurityRuleResponse { + if v == nil { + return nil + } + return v.DefaultSecurityRules + }).(SecurityRuleResponseArrayOutput) } -type PerimeterBasedAccessRuleResponseOutput struct{ *pulumi.OutputState } +// A unique read-only string that changes whenever the resource is updated. +func (o NetworkSecurityGroupResponseV3PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) +} -func (PerimeterBasedAccessRuleResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PerimeterBasedAccessRuleResponse)(nil)).Elem() +// A collection of references to flow log resources. +func (o NetworkSecurityGroupResponseV3PtrOutput) FlowLogs() FlowLogResponseV2ArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) []FlowLogResponseV2 { + if v == nil { + return nil + } + return v.FlowLogs + }).(FlowLogResponseV2ArrayOutput) } -func (o PerimeterBasedAccessRuleResponseOutput) ToPerimeterBasedAccessRuleResponseOutput() PerimeterBasedAccessRuleResponseOutput { - return o +// When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. +func (o NetworkSecurityGroupResponseV3PtrOutput) FlushConnection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *bool { + if v == nil { + return nil + } + return v.FlushConnection + }).(pulumi.BoolPtrOutput) } -func (o PerimeterBasedAccessRuleResponseOutput) ToPerimeterBasedAccessRuleResponseOutputWithContext(ctx context.Context) PerimeterBasedAccessRuleResponseOutput { - return o +// Resource ID. +func (o NetworkSecurityGroupResponseV3PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -// NSP id in the ARM id format. -func (o PerimeterBasedAccessRuleResponseOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v PerimeterBasedAccessRuleResponse) string { return v.Id }).(pulumi.StringOutput) +// Resource location. +func (o NetworkSecurityGroupResponseV3PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -// Location of the NSP supplied. -func (o PerimeterBasedAccessRuleResponseOutput) Location() pulumi.StringOutput { - return o.ApplyT(func(v PerimeterBasedAccessRuleResponse) string { return v.Location }).(pulumi.StringOutput) +// Resource name. +func (o NetworkSecurityGroupResponseV3PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -// Resource guid of the NSP supplied. -func (o PerimeterBasedAccessRuleResponseOutput) PerimeterGuid() pulumi.StringOutput { - return o.ApplyT(func(v PerimeterBasedAccessRuleResponse) string { return v.PerimeterGuid }).(pulumi.StringOutput) +// A collection of references to network interfaces. +func (o NetworkSecurityGroupResponseV3PtrOutput) NetworkInterfaces() NetworkInterfaceResponseV3ArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) []NetworkInterfaceResponseV3 { + if v == nil { + return nil + } + return v.NetworkInterfaces + }).(NetworkInterfaceResponseV3ArrayOutput) } -type PerimeterBasedAccessRuleResponseArrayOutput struct{ *pulumi.OutputState } +// The provisioning state of the network security group resource. +func (o NetworkSecurityGroupResponseV3PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) +} -func (PerimeterBasedAccessRuleResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PerimeterBasedAccessRuleResponse)(nil)).Elem() +// The resource GUID property of the network security group resource. +func (o NetworkSecurityGroupResponseV3PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) } -func (o PerimeterBasedAccessRuleResponseArrayOutput) ToPerimeterBasedAccessRuleResponseArrayOutput() PerimeterBasedAccessRuleResponseArrayOutput { - return o +// A collection of security rules of the network security group. +func (o NetworkSecurityGroupResponseV3PtrOutput) SecurityRules() SecurityRuleResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) []SecurityRuleResponse { + if v == nil { + return nil + } + return v.SecurityRules + }).(SecurityRuleResponseArrayOutput) } -func (o PerimeterBasedAccessRuleResponseArrayOutput) ToPerimeterBasedAccessRuleResponseArrayOutputWithContext(ctx context.Context) PerimeterBasedAccessRuleResponseArrayOutput { - return o +// A collection of references to subnets. +func (o NetworkSecurityGroupResponseV3PtrOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) []SubnetResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubnetResponseArrayOutput) } -func (o PerimeterBasedAccessRuleResponseArrayOutput) Index(i pulumi.IntInput) PerimeterBasedAccessRuleResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PerimeterBasedAccessRuleResponse { - return vs[0].([]PerimeterBasedAccessRuleResponse)[vs[1].(int)] - }).(PerimeterBasedAccessRuleResponseOutput) +// Resource tags. +func (o NetworkSecurityGroupResponseV3PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -// Defines contents of a web application firewall global configuration. -type PolicySettings struct { - // If the action type is block, customer can override the response body. The body must be specified in base64 encoding. - CustomBlockResponseBody *string `pulumi:"customBlockResponseBody"` - // If the action type is block, customer can override the response status code. - CustomBlockResponseStatusCode *int `pulumi:"customBlockResponseStatusCode"` - // Whether allow WAF to enforce file upload limits. - FileUploadEnforcement *bool `pulumi:"fileUploadEnforcement"` - // Maximum file upload size in Mb for WAF. - FileUploadLimitInMb *int `pulumi:"fileUploadLimitInMb"` - // Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. - JsChallengeCookieExpirationInMins *int `pulumi:"jsChallengeCookieExpirationInMins"` - // To scrub sensitive log fields - LogScrubbing *PolicySettingsLogScrubbing `pulumi:"logScrubbing"` - // Maximum request body size in Kb for WAF. - MaxRequestBodySizeInKb *int `pulumi:"maxRequestBodySizeInKb"` - // The mode of the policy. - Mode *string `pulumi:"mode"` - // Whether to allow WAF to check request Body. - RequestBodyCheck *bool `pulumi:"requestBodyCheck"` - // Whether allow WAF to enforce request body limits. - RequestBodyEnforcement *bool `pulumi:"requestBodyEnforcement"` - // Max inspection limit in KB for request body inspection for WAF. - RequestBodyInspectLimitInKB *int `pulumi:"requestBodyInspectLimitInKB"` - // The state of the policy. - State *string `pulumi:"state"` +// Resource type. +func (o NetworkSecurityGroupResponseV3PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkSecurityGroupResponseV3) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// Defaults sets the appropriate defaults for PolicySettings -func (val *PolicySettings) Defaults() *PolicySettings { - if val == nil { - return nil - } - tmp := *val - if tmp.FileUploadEnforcement == nil { - fileUploadEnforcement_ := true - tmp.FileUploadEnforcement = &fileUploadEnforcement_ - } - if tmp.RequestBodyEnforcement == nil { - requestBodyEnforcement_ := true - tmp.RequestBodyEnforcement = &requestBodyEnforcement_ - } - return &tmp +// Properties of the NetworkVirtualApplianceConnection subresource. +type NetworkVirtualApplianceConnectionProperties struct { + // Network Virtual Appliance ASN. + Asn *float64 `pulumi:"asn"` + // List of bgpPeerAddresses for the NVA instances + BgpPeerAddress []string `pulumi:"bgpPeerAddress"` + // Enable internet security. + EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` + // The name of the resource. + Name *string `pulumi:"name"` + // The Routing Configuration indicating the associated and propagated route tables on this connection. + RoutingConfiguration *RoutingConfigurationType `pulumi:"routingConfiguration"` + // Unique identifier for the connection. + TunnelIdentifier *float64 `pulumi:"tunnelIdentifier"` } -// PolicySettingsInput is an input type that accepts PolicySettingsArgs and PolicySettingsOutput values. -// You can construct a concrete instance of `PolicySettingsInput` via: +// NetworkVirtualApplianceConnectionPropertiesInput is an input type that accepts NetworkVirtualApplianceConnectionPropertiesArgs and NetworkVirtualApplianceConnectionPropertiesOutput values. +// You can construct a concrete instance of `NetworkVirtualApplianceConnectionPropertiesInput` via: // -// PolicySettingsArgs{...} -type PolicySettingsInput interface { +// NetworkVirtualApplianceConnectionPropertiesArgs{...} +type NetworkVirtualApplianceConnectionPropertiesInput interface { pulumi.Input - ToPolicySettingsOutput() PolicySettingsOutput - ToPolicySettingsOutputWithContext(context.Context) PolicySettingsOutput + ToNetworkVirtualApplianceConnectionPropertiesOutput() NetworkVirtualApplianceConnectionPropertiesOutput + ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(context.Context) NetworkVirtualApplianceConnectionPropertiesOutput } -// Defines contents of a web application firewall global configuration. -type PolicySettingsArgs struct { - // If the action type is block, customer can override the response body. The body must be specified in base64 encoding. - CustomBlockResponseBody pulumi.StringPtrInput `pulumi:"customBlockResponseBody"` - // If the action type is block, customer can override the response status code. - CustomBlockResponseStatusCode pulumi.IntPtrInput `pulumi:"customBlockResponseStatusCode"` - // Whether allow WAF to enforce file upload limits. - FileUploadEnforcement pulumi.BoolPtrInput `pulumi:"fileUploadEnforcement"` - // Maximum file upload size in Mb for WAF. - FileUploadLimitInMb pulumi.IntPtrInput `pulumi:"fileUploadLimitInMb"` - // Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. - JsChallengeCookieExpirationInMins pulumi.IntPtrInput `pulumi:"jsChallengeCookieExpirationInMins"` - // To scrub sensitive log fields - LogScrubbing PolicySettingsLogScrubbingPtrInput `pulumi:"logScrubbing"` - // Maximum request body size in Kb for WAF. - MaxRequestBodySizeInKb pulumi.IntPtrInput `pulumi:"maxRequestBodySizeInKb"` - // The mode of the policy. - Mode pulumi.StringPtrInput `pulumi:"mode"` - // Whether to allow WAF to check request Body. - RequestBodyCheck pulumi.BoolPtrInput `pulumi:"requestBodyCheck"` - // Whether allow WAF to enforce request body limits. - RequestBodyEnforcement pulumi.BoolPtrInput `pulumi:"requestBodyEnforcement"` - // Max inspection limit in KB for request body inspection for WAF. - RequestBodyInspectLimitInKB pulumi.IntPtrInput `pulumi:"requestBodyInspectLimitInKB"` - // The state of the policy. - State pulumi.StringPtrInput `pulumi:"state"` +// Properties of the NetworkVirtualApplianceConnection subresource. +type NetworkVirtualApplianceConnectionPropertiesArgs struct { + // Network Virtual Appliance ASN. + Asn pulumi.Float64PtrInput `pulumi:"asn"` + // List of bgpPeerAddresses for the NVA instances + BgpPeerAddress pulumi.StringArrayInput `pulumi:"bgpPeerAddress"` + // Enable internet security. + EnableInternetSecurity pulumi.BoolPtrInput `pulumi:"enableInternetSecurity"` + // The name of the resource. + Name pulumi.StringPtrInput `pulumi:"name"` + // The Routing Configuration indicating the associated and propagated route tables on this connection. + RoutingConfiguration RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` + // Unique identifier for the connection. + TunnelIdentifier pulumi.Float64PtrInput `pulumi:"tunnelIdentifier"` } -// Defaults sets the appropriate defaults for PolicySettingsArgs -func (val *PolicySettingsArgs) Defaults() *PolicySettingsArgs { - if val == nil { - return nil - } - tmp := *val - if tmp.FileUploadEnforcement == nil { - tmp.FileUploadEnforcement = pulumi.BoolPtr(true) - } - if tmp.RequestBodyEnforcement == nil { - tmp.RequestBodyEnforcement = pulumi.BoolPtr(true) - } - return &tmp -} -func (PolicySettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicySettings)(nil)).Elem() +func (NetworkVirtualApplianceConnectionPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkVirtualApplianceConnectionProperties)(nil)).Elem() } -func (i PolicySettingsArgs) ToPolicySettingsOutput() PolicySettingsOutput { - return i.ToPolicySettingsOutputWithContext(context.Background()) +func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesOutput() NetworkVirtualApplianceConnectionPropertiesOutput { + return i.ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(context.Background()) } -func (i PolicySettingsArgs) ToPolicySettingsOutputWithContext(ctx context.Context) PolicySettingsOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsOutput) +func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualApplianceConnectionPropertiesOutput) } -func (i PolicySettingsArgs) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { - return i.ToPolicySettingsPtrOutputWithContext(context.Background()) +func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { + return i.ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Background()) } -func (i PolicySettingsArgs) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsOutput).ToPolicySettingsPtrOutputWithContext(ctx) +func (i NetworkVirtualApplianceConnectionPropertiesArgs) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualApplianceConnectionPropertiesOutput).ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx) } -// PolicySettingsPtrInput is an input type that accepts PolicySettingsArgs, PolicySettingsPtr and PolicySettingsPtrOutput values. -// You can construct a concrete instance of `PolicySettingsPtrInput` via: +// NetworkVirtualApplianceConnectionPropertiesPtrInput is an input type that accepts NetworkVirtualApplianceConnectionPropertiesArgs, NetworkVirtualApplianceConnectionPropertiesPtr and NetworkVirtualApplianceConnectionPropertiesPtrOutput values. +// You can construct a concrete instance of `NetworkVirtualApplianceConnectionPropertiesPtrInput` via: // -// PolicySettingsArgs{...} +// NetworkVirtualApplianceConnectionPropertiesArgs{...} // // or: // // nil -type PolicySettingsPtrInput interface { +type NetworkVirtualApplianceConnectionPropertiesPtrInput interface { pulumi.Input - ToPolicySettingsPtrOutput() PolicySettingsPtrOutput - ToPolicySettingsPtrOutputWithContext(context.Context) PolicySettingsPtrOutput + ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput + ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput } -type policySettingsPtrType PolicySettingsArgs +type networkVirtualApplianceConnectionPropertiesPtrType NetworkVirtualApplianceConnectionPropertiesArgs -func PolicySettingsPtr(v *PolicySettingsArgs) PolicySettingsPtrInput { - return (*policySettingsPtrType)(v) +func NetworkVirtualApplianceConnectionPropertiesPtr(v *NetworkVirtualApplianceConnectionPropertiesArgs) NetworkVirtualApplianceConnectionPropertiesPtrInput { + return (*networkVirtualApplianceConnectionPropertiesPtrType)(v) } -func (*policySettingsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicySettings)(nil)).Elem() +func (*networkVirtualApplianceConnectionPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkVirtualApplianceConnectionProperties)(nil)).Elem() } -func (i *policySettingsPtrType) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { - return i.ToPolicySettingsPtrOutputWithContext(context.Background()) +func (i *networkVirtualApplianceConnectionPropertiesPtrType) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { + return i.ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Background()) } -func (i *policySettingsPtrType) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsPtrOutput) +func (i *networkVirtualApplianceConnectionPropertiesPtrType) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualApplianceConnectionPropertiesPtrOutput) } -// Defines contents of a web application firewall global configuration. -type PolicySettingsOutput struct{ *pulumi.OutputState } +// Properties of the NetworkVirtualApplianceConnection subresource. +type NetworkVirtualApplianceConnectionPropertiesOutput struct{ *pulumi.OutputState } -func (PolicySettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicySettings)(nil)).Elem() +func (NetworkVirtualApplianceConnectionPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkVirtualApplianceConnectionProperties)(nil)).Elem() } -func (o PolicySettingsOutput) ToPolicySettingsOutput() PolicySettingsOutput { +func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesOutput() NetworkVirtualApplianceConnectionPropertiesOutput { return o } -func (o PolicySettingsOutput) ToPolicySettingsOutputWithContext(ctx context.Context) PolicySettingsOutput { +func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesOutput { return o } -func (o PolicySettingsOutput) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { - return o.ToPolicySettingsPtrOutputWithContext(context.Background()) +func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { + return o.ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(context.Background()) } -func (o PolicySettingsOutput) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicySettings) *PolicySettings { +func (o NetworkVirtualApplianceConnectionPropertiesOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkVirtualApplianceConnectionProperties) *NetworkVirtualApplianceConnectionProperties { return &v - }).(PolicySettingsPtrOutput) -} - -// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. -func (o PolicySettingsOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettings) *string { return v.CustomBlockResponseBody }).(pulumi.StringPtrOutput) -} - -// If the action type is block, customer can override the response status code. -func (o PolicySettingsOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettings) *int { return v.CustomBlockResponseStatusCode }).(pulumi.IntPtrOutput) -} - -// Whether allow WAF to enforce file upload limits. -func (o PolicySettingsOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicySettings) *bool { return v.FileUploadEnforcement }).(pulumi.BoolPtrOutput) -} - -// Maximum file upload size in Mb for WAF. -func (o PolicySettingsOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettings) *int { return v.FileUploadLimitInMb }).(pulumi.IntPtrOutput) -} - -// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. -func (o PolicySettingsOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettings) *int { return v.JsChallengeCookieExpirationInMins }).(pulumi.IntPtrOutput) -} - -// To scrub sensitive log fields -func (o PolicySettingsOutput) LogScrubbing() PolicySettingsLogScrubbingPtrOutput { - return o.ApplyT(func(v PolicySettings) *PolicySettingsLogScrubbing { return v.LogScrubbing }).(PolicySettingsLogScrubbingPtrOutput) + }).(NetworkVirtualApplianceConnectionPropertiesPtrOutput) } -// Maximum request body size in Kb for WAF. -func (o PolicySettingsOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettings) *int { return v.MaxRequestBodySizeInKb }).(pulumi.IntPtrOutput) +// Network Virtual Appliance ASN. +func (o NetworkVirtualApplianceConnectionPropertiesOutput) Asn() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *float64 { return v.Asn }).(pulumi.Float64PtrOutput) } -// The mode of the policy. -func (o PolicySettingsOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettings) *string { return v.Mode }).(pulumi.StringPtrOutput) +// List of bgpPeerAddresses for the NVA instances +func (o NetworkVirtualApplianceConnectionPropertiesOutput) BgpPeerAddress() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) []string { return v.BgpPeerAddress }).(pulumi.StringArrayOutput) } -// Whether to allow WAF to check request Body. -func (o PolicySettingsOutput) RequestBodyCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicySettings) *bool { return v.RequestBodyCheck }).(pulumi.BoolPtrOutput) +// Enable internet security. +func (o NetworkVirtualApplianceConnectionPropertiesOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) } -// Whether allow WAF to enforce request body limits. -func (o PolicySettingsOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicySettings) *bool { return v.RequestBodyEnforcement }).(pulumi.BoolPtrOutput) +// The name of the resource. +func (o NetworkVirtualApplianceConnectionPropertiesOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Max inspection limit in KB for request body inspection for WAF. -func (o PolicySettingsOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettings) *int { return v.RequestBodyInspectLimitInKB }).(pulumi.IntPtrOutput) +// The Routing Configuration indicating the associated and propagated route tables on this connection. +func (o NetworkVirtualApplianceConnectionPropertiesOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *RoutingConfigurationType { + return v.RoutingConfiguration + }).(RoutingConfigurationTypePtrOutput) } -// The state of the policy. -func (o PolicySettingsOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettings) *string { return v.State }).(pulumi.StringPtrOutput) +// Unique identifier for the connection. +func (o NetworkVirtualApplianceConnectionPropertiesOutput) TunnelIdentifier() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionProperties) *float64 { return v.TunnelIdentifier }).(pulumi.Float64PtrOutput) } -type PolicySettingsPtrOutput struct{ *pulumi.OutputState } +type NetworkVirtualApplianceConnectionPropertiesPtrOutput struct{ *pulumi.OutputState } -func (PolicySettingsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicySettings)(nil)).Elem() +func (NetworkVirtualApplianceConnectionPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkVirtualApplianceConnectionProperties)(nil)).Elem() } -func (o PolicySettingsPtrOutput) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutput() NetworkVirtualApplianceConnectionPropertiesPtrOutput { return o } -func (o PolicySettingsPtrOutput) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) ToNetworkVirtualApplianceConnectionPropertiesPtrOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesPtrOutput { return o } -func (o PolicySettingsPtrOutput) Elem() PolicySettingsOutput { - return o.ApplyT(func(v *PolicySettings) PolicySettings { +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Elem() NetworkVirtualApplianceConnectionPropertiesOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) NetworkVirtualApplianceConnectionProperties { if v != nil { return *v } - var ret PolicySettings + var ret NetworkVirtualApplianceConnectionProperties return ret - }).(PolicySettingsOutput) + }).(NetworkVirtualApplianceConnectionPropertiesOutput) } -// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. -func (o PolicySettingsPtrOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettings) *string { +// Network Virtual Appliance ASN. +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Asn() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *float64 { if v == nil { return nil } - return v.CustomBlockResponseBody - }).(pulumi.StringPtrOutput) + return v.Asn + }).(pulumi.Float64PtrOutput) } -// If the action type is block, customer can override the response status code. -func (o PolicySettingsPtrOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettings) *int { +// List of bgpPeerAddresses for the NVA instances +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) BgpPeerAddress() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) []string { if v == nil { return nil } - return v.CustomBlockResponseStatusCode - }).(pulumi.IntPtrOutput) + return v.BgpPeerAddress + }).(pulumi.StringArrayOutput) } -// Whether allow WAF to enforce file upload limits. -func (o PolicySettingsPtrOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicySettings) *bool { +// Enable internet security. +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *bool { if v == nil { return nil } - return v.FileUploadEnforcement + return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) } -// Maximum file upload size in Mb for WAF. -func (o PolicySettingsPtrOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettings) *int { - if v == nil { - return nil - } - return v.FileUploadLimitInMb - }).(pulumi.IntPtrOutput) -} - -// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. -func (o PolicySettingsPtrOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettings) *int { +// The name of the resource. +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *string { if v == nil { return nil } - return v.JsChallengeCookieExpirationInMins - }).(pulumi.IntPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -// To scrub sensitive log fields -func (o PolicySettingsPtrOutput) LogScrubbing() PolicySettingsLogScrubbingPtrOutput { - return o.ApplyT(func(v *PolicySettings) *PolicySettingsLogScrubbing { +// The Routing Configuration indicating the associated and propagated route tables on this connection. +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *RoutingConfigurationType { if v == nil { return nil } - return v.LogScrubbing - }).(PolicySettingsLogScrubbingPtrOutput) + return v.RoutingConfiguration + }).(RoutingConfigurationTypePtrOutput) } -// Maximum request body size in Kb for WAF. -func (o PolicySettingsPtrOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettings) *int { +// Unique identifier for the connection. +func (o NetworkVirtualApplianceConnectionPropertiesPtrOutput) TunnelIdentifier() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *NetworkVirtualApplianceConnectionProperties) *float64 { if v == nil { return nil } - return v.MaxRequestBodySizeInKb - }).(pulumi.IntPtrOutput) + return v.TunnelIdentifier + }).(pulumi.Float64PtrOutput) } -// The mode of the policy. -func (o PolicySettingsPtrOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettings) *string { - if v == nil { - return nil - } - return v.Mode - }).(pulumi.StringPtrOutput) +// Properties of the NetworkVirtualApplianceConnection subresource. +type NetworkVirtualApplianceConnectionPropertiesResponse struct { + // Network Virtual Appliance ASN. + Asn *float64 `pulumi:"asn"` + // List of bgpPeerAddresses for the NVA instances + BgpPeerAddress []string `pulumi:"bgpPeerAddress"` + // Enable internet security. + EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` + // The name of the resource. + Name *string `pulumi:"name"` + // The provisioning state of the NetworkVirtualApplianceConnection resource. + ProvisioningState string `pulumi:"provisioningState"` + // The Routing Configuration indicating the associated and propagated route tables on this connection. + RoutingConfiguration *RoutingConfigurationResponse `pulumi:"routingConfiguration"` + // Unique identifier for the connection. + TunnelIdentifier *float64 `pulumi:"tunnelIdentifier"` } -// Whether to allow WAF to check request Body. -func (o PolicySettingsPtrOutput) RequestBodyCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicySettings) *bool { - if v == nil { - return nil - } - return v.RequestBodyCheck - }).(pulumi.BoolPtrOutput) -} +// Properties of the NetworkVirtualApplianceConnection subresource. +type NetworkVirtualApplianceConnectionPropertiesResponseOutput struct{ *pulumi.OutputState } -// Whether allow WAF to enforce request body limits. -func (o PolicySettingsPtrOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicySettings) *bool { - if v == nil { - return nil - } - return v.RequestBodyEnforcement - }).(pulumi.BoolPtrOutput) +func (NetworkVirtualApplianceConnectionPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkVirtualApplianceConnectionPropertiesResponse)(nil)).Elem() } -// Max inspection limit in KB for request body inspection for WAF. -func (o PolicySettingsPtrOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettings) *int { - if v == nil { - return nil - } - return v.RequestBodyInspectLimitInKB - }).(pulumi.IntPtrOutput) +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) ToNetworkVirtualApplianceConnectionPropertiesResponseOutput() NetworkVirtualApplianceConnectionPropertiesResponseOutput { + return o } -// The state of the policy. -func (o PolicySettingsPtrOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettings) *string { - if v == nil { - return nil - } - return v.State - }).(pulumi.StringPtrOutput) +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) ToNetworkVirtualApplianceConnectionPropertiesResponseOutputWithContext(ctx context.Context) NetworkVirtualApplianceConnectionPropertiesResponseOutput { + return o } -// To scrub sensitive log fields -type PolicySettingsLogScrubbing struct { - // The rules that are applied to the logs for scrubbing. - ScrubbingRules []WebApplicationFirewallScrubbingRules `pulumi:"scrubbingRules"` - // State of the log scrubbing config. Default value is Enabled. - State *string `pulumi:"state"` +// Network Virtual Appliance ASN. +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) Asn() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *float64 { return v.Asn }).(pulumi.Float64PtrOutput) } -// PolicySettingsLogScrubbingInput is an input type that accepts PolicySettingsLogScrubbingArgs and PolicySettingsLogScrubbingOutput values. -// You can construct a concrete instance of `PolicySettingsLogScrubbingInput` via: -// -// PolicySettingsLogScrubbingArgs{...} -type PolicySettingsLogScrubbingInput interface { - pulumi.Input - - ToPolicySettingsLogScrubbingOutput() PolicySettingsLogScrubbingOutput - ToPolicySettingsLogScrubbingOutputWithContext(context.Context) PolicySettingsLogScrubbingOutput +// List of bgpPeerAddresses for the NVA instances +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) BgpPeerAddress() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) []string { return v.BgpPeerAddress }).(pulumi.StringArrayOutput) } -// To scrub sensitive log fields -type PolicySettingsLogScrubbingArgs struct { - // The rules that are applied to the logs for scrubbing. - ScrubbingRules WebApplicationFirewallScrubbingRulesArrayInput `pulumi:"scrubbingRules"` - // State of the log scrubbing config. Default value is Enabled. - State pulumi.StringPtrInput `pulumi:"state"` +// Enable internet security. +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) } -func (PolicySettingsLogScrubbingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicySettingsLogScrubbing)(nil)).Elem() +// The name of the resource. +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingOutput() PolicySettingsLogScrubbingOutput { - return i.ToPolicySettingsLogScrubbingOutputWithContext(context.Background()) +// The provisioning state of the NetworkVirtualApplianceConnection resource. +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsLogScrubbingOutput) +// The Routing Configuration indicating the associated and propagated route tables on this connection. +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) RoutingConfiguration() RoutingConfigurationResponsePtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *RoutingConfigurationResponse { + return v.RoutingConfiguration + }).(RoutingConfigurationResponsePtrOutput) } -func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { - return i.ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Background()) +// Unique identifier for the connection. +func (o NetworkVirtualApplianceConnectionPropertiesResponseOutput) TunnelIdentifier() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NetworkVirtualApplianceConnectionPropertiesResponse) *float64 { return v.TunnelIdentifier }).(pulumi.Float64PtrOutput) } -func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsLogScrubbingOutput).ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx) +// Network Profile containing configurations for Public and Private NIC. +type NetworkVirtualAppliancePropertiesFormatNetworkProfile struct { + NetworkInterfaceConfigurations []VirtualApplianceNetworkInterfaceConfiguration `pulumi:"networkInterfaceConfigurations"` } -// PolicySettingsLogScrubbingPtrInput is an input type that accepts PolicySettingsLogScrubbingArgs, PolicySettingsLogScrubbingPtr and PolicySettingsLogScrubbingPtrOutput values. -// You can construct a concrete instance of `PolicySettingsLogScrubbingPtrInput` via: -// -// PolicySettingsLogScrubbingArgs{...} -// -// or: +// NetworkVirtualAppliancePropertiesFormatNetworkProfileInput is an input type that accepts NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs and NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput values. +// You can construct a concrete instance of `NetworkVirtualAppliancePropertiesFormatNetworkProfileInput` via: // -// nil -type PolicySettingsLogScrubbingPtrInput interface { +// NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs{...} +type NetworkVirtualAppliancePropertiesFormatNetworkProfileInput interface { pulumi.Input - ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput - ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Context) PolicySettingsLogScrubbingPtrOutput -} - -type policySettingsLogScrubbingPtrType PolicySettingsLogScrubbingArgs - -func PolicySettingsLogScrubbingPtr(v *PolicySettingsLogScrubbingArgs) PolicySettingsLogScrubbingPtrInput { - return (*policySettingsLogScrubbingPtrType)(v) -} - -func (*policySettingsLogScrubbingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicySettingsLogScrubbing)(nil)).Elem() -} - -func (i *policySettingsLogScrubbingPtrType) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { - return i.ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Background()) -} - -func (i *policySettingsLogScrubbingPtrType) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsLogScrubbingPtrOutput) -} - -// To scrub sensitive log fields -type PolicySettingsLogScrubbingOutput struct{ *pulumi.OutputState } - -func (PolicySettingsLogScrubbingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicySettingsLogScrubbing)(nil)).Elem() -} - -func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingOutput() PolicySettingsLogScrubbingOutput { - return o + ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput + ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput } -func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingOutput { - return o +// Network Profile containing configurations for Public and Private NIC. +type NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs struct { + NetworkInterfaceConfigurations VirtualApplianceNetworkInterfaceConfigurationArrayInput `pulumi:"networkInterfaceConfigurations"` } -func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { - return o.ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Background()) +func (NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() } -func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicySettingsLogScrubbing) *PolicySettingsLogScrubbing { - return &v - }).(PolicySettingsLogScrubbingPtrOutput) +func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { + return i.ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(context.Background()) } -// The rules that are applied to the logs for scrubbing. -func (o PolicySettingsLogScrubbingOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesArrayOutput { - return o.ApplyT(func(v PolicySettingsLogScrubbing) []WebApplicationFirewallScrubbingRules { return v.ScrubbingRules }).(WebApplicationFirewallScrubbingRulesArrayOutput) +func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) } -// State of the log scrubbing config. Default value is Enabled. -func (o PolicySettingsLogScrubbingOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettingsLogScrubbing) *string { return v.State }).(pulumi.StringPtrOutput) +func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return i.ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Background()) } -type PolicySettingsLogScrubbingPtrOutput struct{ *pulumi.OutputState } - -func (PolicySettingsLogScrubbingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicySettingsLogScrubbing)(nil)).Elem() +func (i NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput).ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx) } -func (o PolicySettingsLogScrubbingPtrOutput) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { - return o -} +// NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput is an input type that accepts NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs, NetworkVirtualAppliancePropertiesFormatNetworkProfilePtr and NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput values. +// You can construct a concrete instance of `NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput` via: +// +// NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs{...} +// +// or: +// +// nil +type NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput interface { + pulumi.Input -func (o PolicySettingsLogScrubbingPtrOutput) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { - return o + ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput + ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput } -func (o PolicySettingsLogScrubbingPtrOutput) Elem() PolicySettingsLogScrubbingOutput { - return o.ApplyT(func(v *PolicySettingsLogScrubbing) PolicySettingsLogScrubbing { - if v != nil { - return *v - } - var ret PolicySettingsLogScrubbing - return ret - }).(PolicySettingsLogScrubbingOutput) -} +type networkVirtualAppliancePropertiesFormatNetworkProfilePtrType NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs -// The rules that are applied to the logs for scrubbing. -func (o PolicySettingsLogScrubbingPtrOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesArrayOutput { - return o.ApplyT(func(v *PolicySettingsLogScrubbing) []WebApplicationFirewallScrubbingRules { - if v == nil { - return nil - } - return v.ScrubbingRules - }).(WebApplicationFirewallScrubbingRulesArrayOutput) +func NetworkVirtualAppliancePropertiesFormatNetworkProfilePtr(v *NetworkVirtualAppliancePropertiesFormatNetworkProfileArgs) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrInput { + return (*networkVirtualAppliancePropertiesFormatNetworkProfilePtrType)(v) } -// State of the log scrubbing config. Default value is Enabled. -func (o PolicySettingsLogScrubbingPtrOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettingsLogScrubbing) *string { - if v == nil { - return nil - } - return v.State - }).(pulumi.StringPtrOutput) +func (*networkVirtualAppliancePropertiesFormatNetworkProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() } -// Defines contents of a web application firewall global configuration. -type PolicySettingsResponse struct { - // If the action type is block, customer can override the response body. The body must be specified in base64 encoding. - CustomBlockResponseBody *string `pulumi:"customBlockResponseBody"` - // If the action type is block, customer can override the response status code. - CustomBlockResponseStatusCode *int `pulumi:"customBlockResponseStatusCode"` - // Whether allow WAF to enforce file upload limits. - FileUploadEnforcement *bool `pulumi:"fileUploadEnforcement"` - // Maximum file upload size in Mb for WAF. - FileUploadLimitInMb *int `pulumi:"fileUploadLimitInMb"` - // Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. - JsChallengeCookieExpirationInMins *int `pulumi:"jsChallengeCookieExpirationInMins"` - // To scrub sensitive log fields - LogScrubbing *PolicySettingsResponseLogScrubbing `pulumi:"logScrubbing"` - // Maximum request body size in Kb for WAF. - MaxRequestBodySizeInKb *int `pulumi:"maxRequestBodySizeInKb"` - // The mode of the policy. - Mode *string `pulumi:"mode"` - // Whether to allow WAF to check request Body. - RequestBodyCheck *bool `pulumi:"requestBodyCheck"` - // Whether allow WAF to enforce request body limits. - RequestBodyEnforcement *bool `pulumi:"requestBodyEnforcement"` - // Max inspection limit in KB for request body inspection for WAF. - RequestBodyInspectLimitInKB *int `pulumi:"requestBodyInspectLimitInKB"` - // The state of the policy. - State *string `pulumi:"state"` +func (i *networkVirtualAppliancePropertiesFormatNetworkProfilePtrType) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return i.ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Background()) } -// Defaults sets the appropriate defaults for PolicySettingsResponse -func (val *PolicySettingsResponse) Defaults() *PolicySettingsResponse { - if val == nil { - return nil - } - tmp := *val - if tmp.FileUploadEnforcement == nil { - fileUploadEnforcement_ := true - tmp.FileUploadEnforcement = &fileUploadEnforcement_ - } - if tmp.RequestBodyEnforcement == nil { - requestBodyEnforcement_ := true - tmp.RequestBodyEnforcement = &requestBodyEnforcement_ - } - return &tmp +func (i *networkVirtualAppliancePropertiesFormatNetworkProfilePtrType) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) } -// Defines contents of a web application firewall global configuration. -type PolicySettingsResponseOutput struct{ *pulumi.OutputState } +// Network Profile containing configurations for Public and Private NIC. +type NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput struct{ *pulumi.OutputState } -func (PolicySettingsResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicySettingsResponse)(nil)).Elem() +func (NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() } -func (o PolicySettingsResponseOutput) ToPolicySettingsResponseOutput() PolicySettingsResponseOutput { +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { return o } -func (o PolicySettingsResponseOutput) ToPolicySettingsResponseOutputWithContext(ctx context.Context) PolicySettingsResponseOutput { +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfileOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { return o } -// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. -func (o PolicySettingsResponseOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *string { return v.CustomBlockResponseBody }).(pulumi.StringPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return o.ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(context.Background()) } -// If the action type is block, customer can override the response status code. -func (o PolicySettingsResponseOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *int { return v.CustomBlockResponseStatusCode }).(pulumi.IntPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkVirtualAppliancePropertiesFormatNetworkProfile) *NetworkVirtualAppliancePropertiesFormatNetworkProfile { + return &v + }).(NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) } -// Whether allow WAF to enforce file upload limits. -func (o PolicySettingsResponseOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *bool { return v.FileUploadEnforcement }).(pulumi.BoolPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationArrayOutput { + return o.ApplyT(func(v NetworkVirtualAppliancePropertiesFormatNetworkProfile) []VirtualApplianceNetworkInterfaceConfiguration { + return v.NetworkInterfaceConfigurations + }).(VirtualApplianceNetworkInterfaceConfigurationArrayOutput) } -// Maximum file upload size in Mb for WAF. -func (o PolicySettingsResponseOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *int { return v.FileUploadLimitInMb }).(pulumi.IntPtrOutput) +type NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput struct{ *pulumi.OutputState } + +func (NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkVirtualAppliancePropertiesFormatNetworkProfile)(nil)).Elem() } -// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. -func (o PolicySettingsResponseOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *int { return v.JsChallengeCookieExpirationInMins }).(pulumi.IntPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return o } -// To scrub sensitive log fields -func (o PolicySettingsResponseOutput) LogScrubbing() PolicySettingsResponseLogScrubbingPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *PolicySettingsResponseLogScrubbing { return v.LogScrubbing }).(PolicySettingsResponseLogScrubbingPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput { + return o } -// Maximum request body size in Kb for WAF. -func (o PolicySettingsResponseOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *int { return v.MaxRequestBodySizeInKb }).(pulumi.IntPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) Elem() NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput { + return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatNetworkProfile) NetworkVirtualAppliancePropertiesFormatNetworkProfile { + if v != nil { + return *v + } + var ret NetworkVirtualAppliancePropertiesFormatNetworkProfile + return ret + }).(NetworkVirtualAppliancePropertiesFormatNetworkProfileOutput) } -// The mode of the policy. -func (o PolicySettingsResponseOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *string { return v.Mode }).(pulumi.StringPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatNetworkProfilePtrOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationArrayOutput { + return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatNetworkProfile) []VirtualApplianceNetworkInterfaceConfiguration { + if v == nil { + return nil + } + return v.NetworkInterfaceConfigurations + }).(VirtualApplianceNetworkInterfaceConfigurationArrayOutput) } -// Whether to allow WAF to check request Body. -func (o PolicySettingsResponseOutput) RequestBodyCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *bool { return v.RequestBodyCheck }).(pulumi.BoolPtrOutput) +// Network Profile containing configurations for Public and Private NIC. +type NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile struct { + NetworkInterfaceConfigurations []VirtualApplianceNetworkInterfaceConfigurationResponse `pulumi:"networkInterfaceConfigurations"` } -// Whether allow WAF to enforce request body limits. -func (o PolicySettingsResponseOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *bool { return v.RequestBodyEnforcement }).(pulumi.BoolPtrOutput) +// Network Profile containing configurations for Public and Private NIC. +type NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput struct{ *pulumi.OutputState } + +func (NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile)(nil)).Elem() } -// Max inspection limit in KB for request body inspection for WAF. -func (o PolicySettingsResponseOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *int { return v.RequestBodyInspectLimitInKB }).(pulumi.IntPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput() NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput { + return o } -// The state of the policy. -func (o PolicySettingsResponseOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettingsResponse) *string { return v.State }).(pulumi.StringPtrOutput) +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput { + return o } -type PolicySettingsResponsePtrOutput struct{ *pulumi.OutputState } +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput { + return o.ApplyT(func(v NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile) []VirtualApplianceNetworkInterfaceConfigurationResponse { + return v.NetworkInterfaceConfigurations + }).(VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput) +} -func (PolicySettingsResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicySettingsResponse)(nil)).Elem() +type NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput struct{ *pulumi.OutputState } + +func (NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile)(nil)).Elem() } -func (o PolicySettingsResponsePtrOutput) ToPolicySettingsResponsePtrOutput() PolicySettingsResponsePtrOutput { +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput() NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput { return o } -func (o PolicySettingsResponsePtrOutput) ToPolicySettingsResponsePtrOutputWithContext(ctx context.Context) PolicySettingsResponsePtrOutput { +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) ToNetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutputWithContext(ctx context.Context) NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput { return o } -func (o PolicySettingsResponsePtrOutput) Elem() PolicySettingsResponseOutput { - return o.ApplyT(func(v *PolicySettingsResponse) PolicySettingsResponse { +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) Elem() NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput { + return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile) NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile { if v != nil { return *v } - var ret PolicySettingsResponse + var ret NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile return ret - }).(PolicySettingsResponseOutput) + }).(NetworkVirtualAppliancePropertiesFormatResponseNetworkProfileOutput) } -// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. -func (o PolicySettingsResponsePtrOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *string { +func (o NetworkVirtualAppliancePropertiesFormatResponseNetworkProfilePtrOutput) NetworkInterfaceConfigurations() VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput { + return o.ApplyT(func(v *NetworkVirtualAppliancePropertiesFormatResponseNetworkProfile) []VirtualApplianceNetworkInterfaceConfigurationResponse { if v == nil { return nil } - return v.CustomBlockResponseBody - }).(pulumi.StringPtrOutput) + return v.NetworkInterfaceConfigurations + }).(VirtualApplianceNetworkInterfaceConfigurationResponseArrayOutput) } -// If the action type is block, customer can override the response status code. -func (o PolicySettingsResponsePtrOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *int { - if v == nil { - return nil - } - return v.CustomBlockResponseStatusCode - }).(pulumi.IntPtrOutput) +// The NSP logging configuration properties. +type NspLoggingConfigurationProperties struct { + // The log categories to enable in the NSP logging configuration. + EnabledLogCategories []string `pulumi:"enabledLogCategories"` + // The version of the NSP logging configuration. + Version *string `pulumi:"version"` } -// Whether allow WAF to enforce file upload limits. -func (o PolicySettingsResponsePtrOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *bool { - if v == nil { - return nil - } - return v.FileUploadEnforcement - }).(pulumi.BoolPtrOutput) +// NspLoggingConfigurationPropertiesInput is an input type that accepts NspLoggingConfigurationPropertiesArgs and NspLoggingConfigurationPropertiesOutput values. +// You can construct a concrete instance of `NspLoggingConfigurationPropertiesInput` via: +// +// NspLoggingConfigurationPropertiesArgs{...} +type NspLoggingConfigurationPropertiesInput interface { + pulumi.Input + + ToNspLoggingConfigurationPropertiesOutput() NspLoggingConfigurationPropertiesOutput + ToNspLoggingConfigurationPropertiesOutputWithContext(context.Context) NspLoggingConfigurationPropertiesOutput } -// Maximum file upload size in Mb for WAF. -func (o PolicySettingsResponsePtrOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *int { - if v == nil { - return nil - } - return v.FileUploadLimitInMb - }).(pulumi.IntPtrOutput) +// The NSP logging configuration properties. +type NspLoggingConfigurationPropertiesArgs struct { + // The log categories to enable in the NSP logging configuration. + EnabledLogCategories pulumi.StringArrayInput `pulumi:"enabledLogCategories"` + // The version of the NSP logging configuration. + Version pulumi.StringPtrInput `pulumi:"version"` } -// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. -func (o PolicySettingsResponsePtrOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *int { - if v == nil { - return nil - } - return v.JsChallengeCookieExpirationInMins - }).(pulumi.IntPtrOutput) +func (NspLoggingConfigurationPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NspLoggingConfigurationProperties)(nil)).Elem() } -// To scrub sensitive log fields -func (o PolicySettingsResponsePtrOutput) LogScrubbing() PolicySettingsResponseLogScrubbingPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *PolicySettingsResponseLogScrubbing { - if v == nil { - return nil - } - return v.LogScrubbing - }).(PolicySettingsResponseLogScrubbingPtrOutput) +func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesOutput() NspLoggingConfigurationPropertiesOutput { + return i.ToNspLoggingConfigurationPropertiesOutputWithContext(context.Background()) } -// Maximum request body size in Kb for WAF. -func (o PolicySettingsResponsePtrOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *int { - if v == nil { - return nil - } - return v.MaxRequestBodySizeInKb - }).(pulumi.IntPtrOutput) +func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(NspLoggingConfigurationPropertiesOutput) } -// The mode of the policy. -func (o PolicySettingsResponsePtrOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *string { - if v == nil { - return nil - } - return v.Mode - }).(pulumi.StringPtrOutput) +func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { + return i.ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Background()) } -// Whether to allow WAF to check request Body. -func (o PolicySettingsResponsePtrOutput) RequestBodyCheck() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *bool { - if v == nil { - return nil - } - return v.RequestBodyCheck - }).(pulumi.BoolPtrOutput) +func (i NspLoggingConfigurationPropertiesArgs) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NspLoggingConfigurationPropertiesOutput).ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx) } -// Whether allow WAF to enforce request body limits. -func (o PolicySettingsResponsePtrOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *bool { - if v == nil { - return nil - } - return v.RequestBodyEnforcement - }).(pulumi.BoolPtrOutput) +// NspLoggingConfigurationPropertiesPtrInput is an input type that accepts NspLoggingConfigurationPropertiesArgs, NspLoggingConfigurationPropertiesPtr and NspLoggingConfigurationPropertiesPtrOutput values. +// You can construct a concrete instance of `NspLoggingConfigurationPropertiesPtrInput` via: +// +// NspLoggingConfigurationPropertiesArgs{...} +// +// or: +// +// nil +type NspLoggingConfigurationPropertiesPtrInput interface { + pulumi.Input + + ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput + ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Context) NspLoggingConfigurationPropertiesPtrOutput } -// Max inspection limit in KB for request body inspection for WAF. -func (o PolicySettingsResponsePtrOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *int { - if v == nil { - return nil - } - return v.RequestBodyInspectLimitInKB - }).(pulumi.IntPtrOutput) +type nspLoggingConfigurationPropertiesPtrType NspLoggingConfigurationPropertiesArgs + +func NspLoggingConfigurationPropertiesPtr(v *NspLoggingConfigurationPropertiesArgs) NspLoggingConfigurationPropertiesPtrInput { + return (*nspLoggingConfigurationPropertiesPtrType)(v) } -// The state of the policy. -func (o PolicySettingsResponsePtrOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponse) *string { - if v == nil { - return nil - } - return v.State - }).(pulumi.StringPtrOutput) +func (*nspLoggingConfigurationPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NspLoggingConfigurationProperties)(nil)).Elem() } -// To scrub sensitive log fields -type PolicySettingsResponseLogScrubbing struct { - // The rules that are applied to the logs for scrubbing. - ScrubbingRules []WebApplicationFirewallScrubbingRulesResponse `pulumi:"scrubbingRules"` - // State of the log scrubbing config. Default value is Enabled. - State *string `pulumi:"state"` +func (i *nspLoggingConfigurationPropertiesPtrType) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { + return i.ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Background()) } -// To scrub sensitive log fields -type PolicySettingsResponseLogScrubbingOutput struct{ *pulumi.OutputState } +func (i *nspLoggingConfigurationPropertiesPtrType) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NspLoggingConfigurationPropertiesPtrOutput) +} -func (PolicySettingsResponseLogScrubbingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicySettingsResponseLogScrubbing)(nil)).Elem() +// The NSP logging configuration properties. +type NspLoggingConfigurationPropertiesOutput struct{ *pulumi.OutputState } + +func (NspLoggingConfigurationPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NspLoggingConfigurationProperties)(nil)).Elem() } -func (o PolicySettingsResponseLogScrubbingOutput) ToPolicySettingsResponseLogScrubbingOutput() PolicySettingsResponseLogScrubbingOutput { +func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesOutput() NspLoggingConfigurationPropertiesOutput { return o } -func (o PolicySettingsResponseLogScrubbingOutput) ToPolicySettingsResponseLogScrubbingOutputWithContext(ctx context.Context) PolicySettingsResponseLogScrubbingOutput { +func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesOutput { return o } -// The rules that are applied to the logs for scrubbing. -func (o PolicySettingsResponseLogScrubbingOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesResponseArrayOutput { - return o.ApplyT(func(v PolicySettingsResponseLogScrubbing) []WebApplicationFirewallScrubbingRulesResponse { - return v.ScrubbingRules - }).(WebApplicationFirewallScrubbingRulesResponseArrayOutput) +func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { + return o.ToNspLoggingConfigurationPropertiesPtrOutputWithContext(context.Background()) } -// State of the log scrubbing config. Default value is Enabled. -func (o PolicySettingsResponseLogScrubbingOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicySettingsResponseLogScrubbing) *string { return v.State }).(pulumi.StringPtrOutput) +func (o NspLoggingConfigurationPropertiesOutput) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NspLoggingConfigurationProperties) *NspLoggingConfigurationProperties { + return &v + }).(NspLoggingConfigurationPropertiesPtrOutput) } -type PolicySettingsResponseLogScrubbingPtrOutput struct{ *pulumi.OutputState } +// The log categories to enable in the NSP logging configuration. +func (o NspLoggingConfigurationPropertiesOutput) EnabledLogCategories() pulumi.StringArrayOutput { + return o.ApplyT(func(v NspLoggingConfigurationProperties) []string { return v.EnabledLogCategories }).(pulumi.StringArrayOutput) +} -func (PolicySettingsResponseLogScrubbingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicySettingsResponseLogScrubbing)(nil)).Elem() +// The version of the NSP logging configuration. +func (o NspLoggingConfigurationPropertiesOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v NspLoggingConfigurationProperties) *string { return v.Version }).(pulumi.StringPtrOutput) } -func (o PolicySettingsResponseLogScrubbingPtrOutput) ToPolicySettingsResponseLogScrubbingPtrOutput() PolicySettingsResponseLogScrubbingPtrOutput { +type NspLoggingConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (NspLoggingConfigurationPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NspLoggingConfigurationProperties)(nil)).Elem() +} + +func (o NspLoggingConfigurationPropertiesPtrOutput) ToNspLoggingConfigurationPropertiesPtrOutput() NspLoggingConfigurationPropertiesPtrOutput { return o } -func (o PolicySettingsResponseLogScrubbingPtrOutput) ToPolicySettingsResponseLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsResponseLogScrubbingPtrOutput { +func (o NspLoggingConfigurationPropertiesPtrOutput) ToNspLoggingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesPtrOutput { return o } -func (o PolicySettingsResponseLogScrubbingPtrOutput) Elem() PolicySettingsResponseLogScrubbingOutput { - return o.ApplyT(func(v *PolicySettingsResponseLogScrubbing) PolicySettingsResponseLogScrubbing { +func (o NspLoggingConfigurationPropertiesPtrOutput) Elem() NspLoggingConfigurationPropertiesOutput { + return o.ApplyT(func(v *NspLoggingConfigurationProperties) NspLoggingConfigurationProperties { if v != nil { return *v } - var ret PolicySettingsResponseLogScrubbing + var ret NspLoggingConfigurationProperties return ret - }).(PolicySettingsResponseLogScrubbingOutput) + }).(NspLoggingConfigurationPropertiesOutput) } -// The rules that are applied to the logs for scrubbing. -func (o PolicySettingsResponseLogScrubbingPtrOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesResponseArrayOutput { - return o.ApplyT(func(v *PolicySettingsResponseLogScrubbing) []WebApplicationFirewallScrubbingRulesResponse { +// The log categories to enable in the NSP logging configuration. +func (o NspLoggingConfigurationPropertiesPtrOutput) EnabledLogCategories() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NspLoggingConfigurationProperties) []string { if v == nil { return nil } - return v.ScrubbingRules - }).(WebApplicationFirewallScrubbingRulesResponseArrayOutput) + return v.EnabledLogCategories + }).(pulumi.StringArrayOutput) } -// State of the log scrubbing config. Default value is Enabled. -func (o PolicySettingsResponseLogScrubbingPtrOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicySettingsResponseLogScrubbing) *string { +// The version of the NSP logging configuration. +func (o NspLoggingConfigurationPropertiesPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NspLoggingConfigurationProperties) *string { if v == nil { return nil } - return v.State + return v.Version }).(pulumi.StringPtrOutput) } -// IpamPool association information. -type PoolAssociationResponse struct { - // List of assigned IP address prefixes in the IpamPool of the associated resource. - AddressPrefixes []string `pulumi:"addressPrefixes"` - // Creation time of the association. - CreatedAt string `pulumi:"createdAt"` - Description *string `pulumi:"description"` - // Total number of reserved IP addresses of the association. - NumberOfReservedIPAddresses string `pulumi:"numberOfReservedIPAddresses"` - // IpamPool id for which the resource is associated to. - PoolId *string `pulumi:"poolId"` - // Expire time for IP addresses reserved. - ReservationExpiresAt string `pulumi:"reservationExpiresAt"` - // List of reserved IP address prefixes in the IpamPool of the associated resource. - ReservedPrefixes []string `pulumi:"reservedPrefixes"` - // Resource id of the associated Azure resource. - ResourceId string `pulumi:"resourceId"` - // Total number of assigned IP addresses of the association. - TotalNumberOfIPAddresses string `pulumi:"totalNumberOfIPAddresses"` +// The NSP logging configuration properties. +type NspLoggingConfigurationPropertiesResponse struct { + // The log categories to enable in the NSP logging configuration. + EnabledLogCategories []string `pulumi:"enabledLogCategories"` + // The version of the NSP logging configuration. + Version *string `pulumi:"version"` } -// IpamPool association information. -type PoolAssociationResponseOutput struct{ *pulumi.OutputState } +// The NSP logging configuration properties. +type NspLoggingConfigurationPropertiesResponseOutput struct{ *pulumi.OutputState } -func (PoolAssociationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PoolAssociationResponse)(nil)).Elem() +func (NspLoggingConfigurationPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NspLoggingConfigurationPropertiesResponse)(nil)).Elem() } -func (o PoolAssociationResponseOutput) ToPoolAssociationResponseOutput() PoolAssociationResponseOutput { +func (o NspLoggingConfigurationPropertiesResponseOutput) ToNspLoggingConfigurationPropertiesResponseOutput() NspLoggingConfigurationPropertiesResponseOutput { return o } -func (o PoolAssociationResponseOutput) ToPoolAssociationResponseOutputWithContext(ctx context.Context) PoolAssociationResponseOutput { +func (o NspLoggingConfigurationPropertiesResponseOutput) ToNspLoggingConfigurationPropertiesResponseOutputWithContext(ctx context.Context) NspLoggingConfigurationPropertiesResponseOutput { return o } -// List of assigned IP address prefixes in the IpamPool of the associated resource. -func (o PoolAssociationResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v PoolAssociationResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) -} - -// Creation time of the association. -func (o PoolAssociationResponseOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v PoolAssociationResponse) string { return v.CreatedAt }).(pulumi.StringOutput) -} - -func (o PoolAssociationResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v PoolAssociationResponse) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -// Total number of reserved IP addresses of the association. -func (o PoolAssociationResponseOutput) NumberOfReservedIPAddresses() pulumi.StringOutput { - return o.ApplyT(func(v PoolAssociationResponse) string { return v.NumberOfReservedIPAddresses }).(pulumi.StringOutput) +// The log categories to enable in the NSP logging configuration. +func (o NspLoggingConfigurationPropertiesResponseOutput) EnabledLogCategories() pulumi.StringArrayOutput { + return o.ApplyT(func(v NspLoggingConfigurationPropertiesResponse) []string { return v.EnabledLogCategories }).(pulumi.StringArrayOutput) } -// IpamPool id for which the resource is associated to. -func (o PoolAssociationResponseOutput) PoolId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PoolAssociationResponse) *string { return v.PoolId }).(pulumi.StringPtrOutput) +// The version of the NSP logging configuration. +func (o NspLoggingConfigurationPropertiesResponseOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v NspLoggingConfigurationPropertiesResponse) *string { return v.Version }).(pulumi.StringPtrOutput) } -// Expire time for IP addresses reserved. -func (o PoolAssociationResponseOutput) ReservationExpiresAt() pulumi.StringOutput { - return o.ApplyT(func(v PoolAssociationResponse) string { return v.ReservationExpiresAt }).(pulumi.StringOutput) +// Office365 breakout categories. +type O365BreakOutCategoryPolicies struct { + // Flag to control allow category. + Allow *bool `pulumi:"allow"` + // Flag to control default category. + Default *bool `pulumi:"default"` + // Flag to control optimize category. + Optimize *bool `pulumi:"optimize"` } -// List of reserved IP address prefixes in the IpamPool of the associated resource. -func (o PoolAssociationResponseOutput) ReservedPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v PoolAssociationResponse) []string { return v.ReservedPrefixes }).(pulumi.StringArrayOutput) -} +// O365BreakOutCategoryPoliciesInput is an input type that accepts O365BreakOutCategoryPoliciesArgs and O365BreakOutCategoryPoliciesOutput values. +// You can construct a concrete instance of `O365BreakOutCategoryPoliciesInput` via: +// +// O365BreakOutCategoryPoliciesArgs{...} +type O365BreakOutCategoryPoliciesInput interface { + pulumi.Input -// Resource id of the associated Azure resource. -func (o PoolAssociationResponseOutput) ResourceId() pulumi.StringOutput { - return o.ApplyT(func(v PoolAssociationResponse) string { return v.ResourceId }).(pulumi.StringOutput) + ToO365BreakOutCategoryPoliciesOutput() O365BreakOutCategoryPoliciesOutput + ToO365BreakOutCategoryPoliciesOutputWithContext(context.Context) O365BreakOutCategoryPoliciesOutput } -// Total number of assigned IP addresses of the association. -func (o PoolAssociationResponseOutput) TotalNumberOfIPAddresses() pulumi.StringOutput { - return o.ApplyT(func(v PoolAssociationResponse) string { return v.TotalNumberOfIPAddresses }).(pulumi.StringOutput) +// Office365 breakout categories. +type O365BreakOutCategoryPoliciesArgs struct { + // Flag to control allow category. + Allow pulumi.BoolPtrInput `pulumi:"allow"` + // Flag to control default category. + Default pulumi.BoolPtrInput `pulumi:"default"` + // Flag to control optimize category. + Optimize pulumi.BoolPtrInput `pulumi:"optimize"` } -type PoolAssociationResponseArrayOutput struct{ *pulumi.OutputState } - -func (PoolAssociationResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PoolAssociationResponse)(nil)).Elem() +func (O365BreakOutCategoryPoliciesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*O365BreakOutCategoryPolicies)(nil)).Elem() } -func (o PoolAssociationResponseArrayOutput) ToPoolAssociationResponseArrayOutput() PoolAssociationResponseArrayOutput { - return o +func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesOutput() O365BreakOutCategoryPoliciesOutput { + return i.ToO365BreakOutCategoryPoliciesOutputWithContext(context.Background()) } -func (o PoolAssociationResponseArrayOutput) ToPoolAssociationResponseArrayOutputWithContext(ctx context.Context) PoolAssociationResponseArrayOutput { - return o +func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesOutput { + return pulumi.ToOutputWithContext(ctx, i).(O365BreakOutCategoryPoliciesOutput) } -func (o PoolAssociationResponseArrayOutput) Index(i pulumi.IntInput) PoolAssociationResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PoolAssociationResponse { - return vs[0].([]PoolAssociationResponse)[vs[1].(int)] - }).(PoolAssociationResponseOutput) +func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { + return i.ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Background()) } -// PrivateDnsZoneConfig resource. -type PrivateDnsZoneConfig struct { - // 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 resource id of the private dns zone. - PrivateDnsZoneId *string `pulumi:"privateDnsZoneId"` +func (i O365BreakOutCategoryPoliciesArgs) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(O365BreakOutCategoryPoliciesOutput).ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx) } -// PrivateDnsZoneConfigInput is an input type that accepts PrivateDnsZoneConfigArgs and PrivateDnsZoneConfigOutput values. -// You can construct a concrete instance of `PrivateDnsZoneConfigInput` via: +// O365BreakOutCategoryPoliciesPtrInput is an input type that accepts O365BreakOutCategoryPoliciesArgs, O365BreakOutCategoryPoliciesPtr and O365BreakOutCategoryPoliciesPtrOutput values. +// You can construct a concrete instance of `O365BreakOutCategoryPoliciesPtrInput` via: // -// PrivateDnsZoneConfigArgs{...} -type PrivateDnsZoneConfigInput interface { - pulumi.Input - - ToPrivateDnsZoneConfigOutput() PrivateDnsZoneConfigOutput - ToPrivateDnsZoneConfigOutputWithContext(context.Context) PrivateDnsZoneConfigOutput -} - -// PrivateDnsZoneConfig resource. -type PrivateDnsZoneConfigArgs struct { - // 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 resource id of the private dns zone. - PrivateDnsZoneId pulumi.StringPtrInput `pulumi:"privateDnsZoneId"` -} - -func (PrivateDnsZoneConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateDnsZoneConfig)(nil)).Elem() -} - -func (i PrivateDnsZoneConfigArgs) ToPrivateDnsZoneConfigOutput() PrivateDnsZoneConfigOutput { - return i.ToPrivateDnsZoneConfigOutputWithContext(context.Background()) -} - -func (i PrivateDnsZoneConfigArgs) ToPrivateDnsZoneConfigOutputWithContext(ctx context.Context) PrivateDnsZoneConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateDnsZoneConfigOutput) -} - -// PrivateDnsZoneConfigArrayInput is an input type that accepts PrivateDnsZoneConfigArray and PrivateDnsZoneConfigArrayOutput values. -// You can construct a concrete instance of `PrivateDnsZoneConfigArrayInput` via: +// O365BreakOutCategoryPoliciesArgs{...} // -// PrivateDnsZoneConfigArray{ PrivateDnsZoneConfigArgs{...} } -type PrivateDnsZoneConfigArrayInput interface { +// or: +// +// nil +type O365BreakOutCategoryPoliciesPtrInput interface { pulumi.Input - ToPrivateDnsZoneConfigArrayOutput() PrivateDnsZoneConfigArrayOutput - ToPrivateDnsZoneConfigArrayOutputWithContext(context.Context) PrivateDnsZoneConfigArrayOutput + ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput + ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Context) O365BreakOutCategoryPoliciesPtrOutput } -type PrivateDnsZoneConfigArray []PrivateDnsZoneConfigInput +type o365breakOutCategoryPoliciesPtrType O365BreakOutCategoryPoliciesArgs -func (PrivateDnsZoneConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateDnsZoneConfig)(nil)).Elem() +func O365BreakOutCategoryPoliciesPtr(v *O365BreakOutCategoryPoliciesArgs) O365BreakOutCategoryPoliciesPtrInput { + return (*o365breakOutCategoryPoliciesPtrType)(v) } -func (i PrivateDnsZoneConfigArray) ToPrivateDnsZoneConfigArrayOutput() PrivateDnsZoneConfigArrayOutput { - return i.ToPrivateDnsZoneConfigArrayOutputWithContext(context.Background()) +func (*o365breakOutCategoryPoliciesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**O365BreakOutCategoryPolicies)(nil)).Elem() } -func (i PrivateDnsZoneConfigArray) ToPrivateDnsZoneConfigArrayOutputWithContext(ctx context.Context) PrivateDnsZoneConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateDnsZoneConfigArrayOutput) +func (i *o365breakOutCategoryPoliciesPtrType) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { + return i.ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Background()) } -// PrivateDnsZoneConfig resource. -type PrivateDnsZoneConfigOutput struct{ *pulumi.OutputState } +func (i *o365breakOutCategoryPoliciesPtrType) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(O365BreakOutCategoryPoliciesPtrOutput) +} -func (PrivateDnsZoneConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateDnsZoneConfig)(nil)).Elem() +// Office365 breakout categories. +type O365BreakOutCategoryPoliciesOutput struct{ *pulumi.OutputState } + +func (O365BreakOutCategoryPoliciesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*O365BreakOutCategoryPolicies)(nil)).Elem() } -func (o PrivateDnsZoneConfigOutput) ToPrivateDnsZoneConfigOutput() PrivateDnsZoneConfigOutput { +func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesOutput() O365BreakOutCategoryPoliciesOutput { return o } -func (o PrivateDnsZoneConfigOutput) ToPrivateDnsZoneConfigOutputWithContext(ctx context.Context) PrivateDnsZoneConfigOutput { +func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesOutput { return o } -// Name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o PrivateDnsZoneConfigOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateDnsZoneConfig) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { + return o.ToO365BreakOutCategoryPoliciesPtrOutputWithContext(context.Background()) } -// The resource id of the private dns zone. -func (o PrivateDnsZoneConfigOutput) PrivateDnsZoneId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateDnsZoneConfig) *string { return v.PrivateDnsZoneId }).(pulumi.StringPtrOutput) +func (o O365BreakOutCategoryPoliciesOutput) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v O365BreakOutCategoryPolicies) *O365BreakOutCategoryPolicies { + return &v + }).(O365BreakOutCategoryPoliciesPtrOutput) } -type PrivateDnsZoneConfigArrayOutput struct{ *pulumi.OutputState } - -func (PrivateDnsZoneConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateDnsZoneConfig)(nil)).Elem() +// Flag to control allow category. +func (o O365BreakOutCategoryPoliciesOutput) Allow() pulumi.BoolPtrOutput { + return o.ApplyT(func(v O365BreakOutCategoryPolicies) *bool { return v.Allow }).(pulumi.BoolPtrOutput) } -func (o PrivateDnsZoneConfigArrayOutput) ToPrivateDnsZoneConfigArrayOutput() PrivateDnsZoneConfigArrayOutput { - return o +// Flag to control default category. +func (o O365BreakOutCategoryPoliciesOutput) Default() pulumi.BoolPtrOutput { + return o.ApplyT(func(v O365BreakOutCategoryPolicies) *bool { return v.Default }).(pulumi.BoolPtrOutput) } -func (o PrivateDnsZoneConfigArrayOutput) ToPrivateDnsZoneConfigArrayOutputWithContext(ctx context.Context) PrivateDnsZoneConfigArrayOutput { - return o +// Flag to control optimize category. +func (o O365BreakOutCategoryPoliciesOutput) Optimize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v O365BreakOutCategoryPolicies) *bool { return v.Optimize }).(pulumi.BoolPtrOutput) } -func (o PrivateDnsZoneConfigArrayOutput) Index(i pulumi.IntInput) PrivateDnsZoneConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateDnsZoneConfig { - return vs[0].([]PrivateDnsZoneConfig)[vs[1].(int)] - }).(PrivateDnsZoneConfigOutput) -} +type O365BreakOutCategoryPoliciesPtrOutput struct{ *pulumi.OutputState } -// PrivateDnsZoneConfig resource. -type PrivateDnsZoneConfigResponse struct { - // 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 resource id of the private dns zone. - PrivateDnsZoneId *string `pulumi:"privateDnsZoneId"` - // A collection of information regarding a recordSet, holding information to identify private resources. - RecordSets []RecordSetResponse `pulumi:"recordSets"` +func (O365BreakOutCategoryPoliciesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**O365BreakOutCategoryPolicies)(nil)).Elem() } -// PrivateDnsZoneConfig resource. -type PrivateDnsZoneConfigResponseOutput struct{ *pulumi.OutputState } - -func (PrivateDnsZoneConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateDnsZoneConfigResponse)(nil)).Elem() +func (o O365BreakOutCategoryPoliciesPtrOutput) ToO365BreakOutCategoryPoliciesPtrOutput() O365BreakOutCategoryPoliciesPtrOutput { + return o } -func (o PrivateDnsZoneConfigResponseOutput) ToPrivateDnsZoneConfigResponseOutput() PrivateDnsZoneConfigResponseOutput { +func (o O365BreakOutCategoryPoliciesPtrOutput) ToO365BreakOutCategoryPoliciesPtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesPtrOutput { return o } -func (o PrivateDnsZoneConfigResponseOutput) ToPrivateDnsZoneConfigResponseOutputWithContext(ctx context.Context) PrivateDnsZoneConfigResponseOutput { - return o +func (o O365BreakOutCategoryPoliciesPtrOutput) Elem() O365BreakOutCategoryPoliciesOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPolicies) O365BreakOutCategoryPolicies { + if v != nil { + return *v + } + var ret O365BreakOutCategoryPolicies + return ret + }).(O365BreakOutCategoryPoliciesOutput) } -// Name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o PrivateDnsZoneConfigResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateDnsZoneConfigResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Flag to control allow category. +func (o O365BreakOutCategoryPoliciesPtrOutput) Allow() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPolicies) *bool { + if v == nil { + return nil + } + return v.Allow + }).(pulumi.BoolPtrOutput) } -// The resource id of the private dns zone. -func (o PrivateDnsZoneConfigResponseOutput) PrivateDnsZoneId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateDnsZoneConfigResponse) *string { return v.PrivateDnsZoneId }).(pulumi.StringPtrOutput) +// Flag to control default category. +func (o O365BreakOutCategoryPoliciesPtrOutput) Default() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPolicies) *bool { + if v == nil { + return nil + } + return v.Default + }).(pulumi.BoolPtrOutput) } -// A collection of information regarding a recordSet, holding information to identify private resources. -func (o PrivateDnsZoneConfigResponseOutput) RecordSets() RecordSetResponseArrayOutput { - return o.ApplyT(func(v PrivateDnsZoneConfigResponse) []RecordSetResponse { return v.RecordSets }).(RecordSetResponseArrayOutput) +// Flag to control optimize category. +func (o O365BreakOutCategoryPoliciesPtrOutput) Optimize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPolicies) *bool { + if v == nil { + return nil + } + return v.Optimize + }).(pulumi.BoolPtrOutput) } -type PrivateDnsZoneConfigResponseArrayOutput struct{ *pulumi.OutputState } +// Office365 breakout categories. +type O365BreakOutCategoryPoliciesResponse struct { + // Flag to control allow category. + Allow *bool `pulumi:"allow"` + // Flag to control default category. + Default *bool `pulumi:"default"` + // Flag to control optimize category. + Optimize *bool `pulumi:"optimize"` +} -func (PrivateDnsZoneConfigResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateDnsZoneConfigResponse)(nil)).Elem() +// Office365 breakout categories. +type O365BreakOutCategoryPoliciesResponseOutput struct{ *pulumi.OutputState } + +func (O365BreakOutCategoryPoliciesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*O365BreakOutCategoryPoliciesResponse)(nil)).Elem() } -func (o PrivateDnsZoneConfigResponseArrayOutput) ToPrivateDnsZoneConfigResponseArrayOutput() PrivateDnsZoneConfigResponseArrayOutput { +func (o O365BreakOutCategoryPoliciesResponseOutput) ToO365BreakOutCategoryPoliciesResponseOutput() O365BreakOutCategoryPoliciesResponseOutput { return o } -func (o PrivateDnsZoneConfigResponseArrayOutput) ToPrivateDnsZoneConfigResponseArrayOutputWithContext(ctx context.Context) PrivateDnsZoneConfigResponseArrayOutput { +func (o O365BreakOutCategoryPoliciesResponseOutput) ToO365BreakOutCategoryPoliciesResponseOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesResponseOutput { return o } -func (o PrivateDnsZoneConfigResponseArrayOutput) Index(i pulumi.IntInput) PrivateDnsZoneConfigResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateDnsZoneConfigResponse { - return vs[0].([]PrivateDnsZoneConfigResponse)[vs[1].(int)] - }).(PrivateDnsZoneConfigResponseOutput) +// Flag to control allow category. +func (o O365BreakOutCategoryPoliciesResponseOutput) Allow() pulumi.BoolPtrOutput { + return o.ApplyT(func(v O365BreakOutCategoryPoliciesResponse) *bool { return v.Allow }).(pulumi.BoolPtrOutput) } -// PrivateEndpointConnection resource. -type PrivateEndpointConnectionResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // The consumer link id. - LinkIdentifier string `pulumi:"linkIdentifier"` - // 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 resource of private end point. - PrivateEndpoint PrivateEndpointResponse `pulumi:"privateEndpoint"` - // The location of the private endpoint. - PrivateEndpointLocation string `pulumi:"privateEndpointLocation"` - // A collection of information about the state of the connection between service consumer and provider. - PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionStateResponse `pulumi:"privateLinkServiceConnectionState"` - // The provisioning state of the private endpoint connection resource. - ProvisioningState string `pulumi:"provisioningState"` - // The resource type. - Type string `pulumi:"type"` +// Flag to control default category. +func (o O365BreakOutCategoryPoliciesResponseOutput) Default() pulumi.BoolPtrOutput { + return o.ApplyT(func(v O365BreakOutCategoryPoliciesResponse) *bool { return v.Default }).(pulumi.BoolPtrOutput) } -// Defaults sets the appropriate defaults for PrivateEndpointConnectionResponse -func (val *PrivateEndpointConnectionResponse) Defaults() *PrivateEndpointConnectionResponse { - if val == nil { - return nil - } - tmp := *val - tmp.PrivateEndpoint = *tmp.PrivateEndpoint.Defaults() - - return &tmp +// Flag to control optimize category. +func (o O365BreakOutCategoryPoliciesResponseOutput) Optimize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v O365BreakOutCategoryPoliciesResponse) *bool { return v.Optimize }).(pulumi.BoolPtrOutput) } -// PrivateEndpointConnection resource. -type PrivateEndpointConnectionResponseOutput struct{ *pulumi.OutputState } +type O365BreakOutCategoryPoliciesResponsePtrOutput struct{ *pulumi.OutputState } -func (PrivateEndpointConnectionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateEndpointConnectionResponse)(nil)).Elem() +func (O365BreakOutCategoryPoliciesResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**O365BreakOutCategoryPoliciesResponse)(nil)).Elem() } -func (o PrivateEndpointConnectionResponseOutput) ToPrivateEndpointConnectionResponseOutput() PrivateEndpointConnectionResponseOutput { +func (o O365BreakOutCategoryPoliciesResponsePtrOutput) ToO365BreakOutCategoryPoliciesResponsePtrOutput() O365BreakOutCategoryPoliciesResponsePtrOutput { return o } -func (o PrivateEndpointConnectionResponseOutput) ToPrivateEndpointConnectionResponseOutputWithContext(ctx context.Context) PrivateEndpointConnectionResponseOutput { +func (o O365BreakOutCategoryPoliciesResponsePtrOutput) ToO365BreakOutCategoryPoliciesResponsePtrOutputWithContext(ctx context.Context) O365BreakOutCategoryPoliciesResponsePtrOutput { return o } -// A unique read-only string that changes whenever the resource is updated. -func (o PrivateEndpointConnectionResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.Etag }).(pulumi.StringOutput) -} - -// Resource ID. -func (o PrivateEndpointConnectionResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Elem() O365BreakOutCategoryPoliciesResponseOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) O365BreakOutCategoryPoliciesResponse { + if v != nil { + return *v + } + var ret O365BreakOutCategoryPoliciesResponse + return ret + }).(O365BreakOutCategoryPoliciesResponseOutput) } -// The consumer link id. -func (o PrivateEndpointConnectionResponseOutput) LinkIdentifier() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.LinkIdentifier }).(pulumi.StringOutput) +// Flag to control allow category. +func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Allow() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) *bool { + if v == nil { + return nil + } + return v.Allow + }).(pulumi.BoolPtrOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o PrivateEndpointConnectionResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Flag to control default category. +func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Default() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) *bool { + if v == nil { + return nil + } + return v.Default + }).(pulumi.BoolPtrOutput) } -// The resource of private end point. -func (o PrivateEndpointConnectionResponseOutput) PrivateEndpoint() PrivateEndpointResponseOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) PrivateEndpointResponse { return v.PrivateEndpoint }).(PrivateEndpointResponseOutput) +// Flag to control optimize category. +func (o O365BreakOutCategoryPoliciesResponsePtrOutput) Optimize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *O365BreakOutCategoryPoliciesResponse) *bool { + if v == nil { + return nil + } + return v.Optimize + }).(pulumi.BoolPtrOutput) } -// The location of the private endpoint. -func (o PrivateEndpointConnectionResponseOutput) PrivateEndpointLocation() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.PrivateEndpointLocation }).(pulumi.StringOutput) +// The Office365 breakout policy. +type O365PolicyProperties struct { + // Office365 breakout categories. + BreakOutCategories *O365BreakOutCategoryPolicies `pulumi:"breakOutCategories"` } -// A collection of information about the state of the connection between service consumer and provider. -func (o PrivateEndpointConnectionResponseOutput) PrivateLinkServiceConnectionState() PrivateLinkServiceConnectionStateResponsePtrOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) *PrivateLinkServiceConnectionStateResponse { - return v.PrivateLinkServiceConnectionState - }).(PrivateLinkServiceConnectionStateResponsePtrOutput) -} +// O365PolicyPropertiesInput is an input type that accepts O365PolicyPropertiesArgs and O365PolicyPropertiesOutput values. +// You can construct a concrete instance of `O365PolicyPropertiesInput` via: +// +// O365PolicyPropertiesArgs{...} +type O365PolicyPropertiesInput interface { + pulumi.Input -// The provisioning state of the private endpoint connection resource. -func (o PrivateEndpointConnectionResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) + ToO365PolicyPropertiesOutput() O365PolicyPropertiesOutput + ToO365PolicyPropertiesOutputWithContext(context.Context) O365PolicyPropertiesOutput } -// The resource type. -func (o PrivateEndpointConnectionResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.Type }).(pulumi.StringOutput) +// The Office365 breakout policy. +type O365PolicyPropertiesArgs struct { + // Office365 breakout categories. + BreakOutCategories O365BreakOutCategoryPoliciesPtrInput `pulumi:"breakOutCategories"` } -type PrivateEndpointConnectionResponseArrayOutput struct{ *pulumi.OutputState } - -func (PrivateEndpointConnectionResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateEndpointConnectionResponse)(nil)).Elem() +func (O365PolicyPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*O365PolicyProperties)(nil)).Elem() } -func (o PrivateEndpointConnectionResponseArrayOutput) ToPrivateEndpointConnectionResponseArrayOutput() PrivateEndpointConnectionResponseArrayOutput { - return o +func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesOutput() O365PolicyPropertiesOutput { + return i.ToO365PolicyPropertiesOutputWithContext(context.Background()) } -func (o PrivateEndpointConnectionResponseArrayOutput) ToPrivateEndpointConnectionResponseArrayOutputWithContext(ctx context.Context) PrivateEndpointConnectionResponseArrayOutput { - return o +func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesOutputWithContext(ctx context.Context) O365PolicyPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(O365PolicyPropertiesOutput) } -func (o PrivateEndpointConnectionResponseArrayOutput) Index(i pulumi.IntInput) PrivateEndpointConnectionResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointConnectionResponse { - return vs[0].([]PrivateEndpointConnectionResponse)[vs[1].(int)] - }).(PrivateEndpointConnectionResponseOutput) +func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { + return i.ToO365PolicyPropertiesPtrOutputWithContext(context.Background()) } -// An IP Configuration of the private endpoint. -type PrivateEndpointIPConfiguration struct { - // The ID of a group obtained from the remote resource that this private endpoint should connect to. - GroupId *string `pulumi:"groupId"` - // The member name of a group obtained from the remote resource that this private endpoint should connect to. - MemberName *string `pulumi:"memberName"` - // The name of the resource that is unique within a resource group. - Name *string `pulumi:"name"` - // A private ip address obtained from the private endpoint's subnet. - PrivateIPAddress *string `pulumi:"privateIPAddress"` +func (i O365PolicyPropertiesArgs) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(O365PolicyPropertiesOutput).ToO365PolicyPropertiesPtrOutputWithContext(ctx) } -// PrivateEndpointIPConfigurationInput is an input type that accepts PrivateEndpointIPConfigurationArgs and PrivateEndpointIPConfigurationOutput values. -// You can construct a concrete instance of `PrivateEndpointIPConfigurationInput` via: +// O365PolicyPropertiesPtrInput is an input type that accepts O365PolicyPropertiesArgs, O365PolicyPropertiesPtr and O365PolicyPropertiesPtrOutput values. +// You can construct a concrete instance of `O365PolicyPropertiesPtrInput` via: +// +// O365PolicyPropertiesArgs{...} // -// PrivateEndpointIPConfigurationArgs{...} -type PrivateEndpointIPConfigurationInput interface { +// or: +// +// nil +type O365PolicyPropertiesPtrInput interface { pulumi.Input - ToPrivateEndpointIPConfigurationOutput() PrivateEndpointIPConfigurationOutput - ToPrivateEndpointIPConfigurationOutputWithContext(context.Context) PrivateEndpointIPConfigurationOutput + ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput + ToO365PolicyPropertiesPtrOutputWithContext(context.Context) O365PolicyPropertiesPtrOutput } -// An IP Configuration of the private endpoint. -type PrivateEndpointIPConfigurationArgs struct { - // The ID of a group obtained from the remote resource that this private endpoint should connect to. - GroupId pulumi.StringPtrInput `pulumi:"groupId"` - // The member name of a group obtained from the remote resource that this private endpoint should connect to. - MemberName pulumi.StringPtrInput `pulumi:"memberName"` - // The name of the resource that is unique within a resource group. - Name pulumi.StringPtrInput `pulumi:"name"` - // A private ip address obtained from the private endpoint's subnet. - PrivateIPAddress pulumi.StringPtrInput `pulumi:"privateIPAddress"` +type o365policyPropertiesPtrType O365PolicyPropertiesArgs + +func O365PolicyPropertiesPtr(v *O365PolicyPropertiesArgs) O365PolicyPropertiesPtrInput { + return (*o365policyPropertiesPtrType)(v) } -func (PrivateEndpointIPConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateEndpointIPConfiguration)(nil)).Elem() +func (*o365policyPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**O365PolicyProperties)(nil)).Elem() } -func (i PrivateEndpointIPConfigurationArgs) ToPrivateEndpointIPConfigurationOutput() PrivateEndpointIPConfigurationOutput { - return i.ToPrivateEndpointIPConfigurationOutputWithContext(context.Background()) +func (i *o365policyPropertiesPtrType) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { + return i.ToO365PolicyPropertiesPtrOutputWithContext(context.Background()) } -func (i PrivateEndpointIPConfigurationArgs) ToPrivateEndpointIPConfigurationOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateEndpointIPConfigurationOutput) +func (i *o365policyPropertiesPtrType) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(O365PolicyPropertiesPtrOutput) } -// PrivateEndpointIPConfigurationArrayInput is an input type that accepts PrivateEndpointIPConfigurationArray and PrivateEndpointIPConfigurationArrayOutput values. -// You can construct a concrete instance of `PrivateEndpointIPConfigurationArrayInput` via: -// -// PrivateEndpointIPConfigurationArray{ PrivateEndpointIPConfigurationArgs{...} } -type PrivateEndpointIPConfigurationArrayInput interface { - pulumi.Input +// The Office365 breakout policy. +type O365PolicyPropertiesOutput struct{ *pulumi.OutputState } - ToPrivateEndpointIPConfigurationArrayOutput() PrivateEndpointIPConfigurationArrayOutput - ToPrivateEndpointIPConfigurationArrayOutputWithContext(context.Context) PrivateEndpointIPConfigurationArrayOutput +func (O365PolicyPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*O365PolicyProperties)(nil)).Elem() } -type PrivateEndpointIPConfigurationArray []PrivateEndpointIPConfigurationInput - -func (PrivateEndpointIPConfigurationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateEndpointIPConfiguration)(nil)).Elem() +func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesOutput() O365PolicyPropertiesOutput { + return o } -func (i PrivateEndpointIPConfigurationArray) ToPrivateEndpointIPConfigurationArrayOutput() PrivateEndpointIPConfigurationArrayOutput { - return i.ToPrivateEndpointIPConfigurationArrayOutputWithContext(context.Background()) +func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesOutputWithContext(ctx context.Context) O365PolicyPropertiesOutput { + return o } -func (i PrivateEndpointIPConfigurationArray) ToPrivateEndpointIPConfigurationArrayOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateEndpointIPConfigurationArrayOutput) +func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { + return o.ToO365PolicyPropertiesPtrOutputWithContext(context.Background()) } -// An IP Configuration of the private endpoint. -type PrivateEndpointIPConfigurationOutput struct{ *pulumi.OutputState } +func (o O365PolicyPropertiesOutput) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v O365PolicyProperties) *O365PolicyProperties { + return &v + }).(O365PolicyPropertiesPtrOutput) +} -func (PrivateEndpointIPConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateEndpointIPConfiguration)(nil)).Elem() +// Office365 breakout categories. +func (o O365PolicyPropertiesOutput) BreakOutCategories() O365BreakOutCategoryPoliciesPtrOutput { + return o.ApplyT(func(v O365PolicyProperties) *O365BreakOutCategoryPolicies { return v.BreakOutCategories }).(O365BreakOutCategoryPoliciesPtrOutput) } -func (o PrivateEndpointIPConfigurationOutput) ToPrivateEndpointIPConfigurationOutput() PrivateEndpointIPConfigurationOutput { - return o +type O365PolicyPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (O365PolicyPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**O365PolicyProperties)(nil)).Elem() } -func (o PrivateEndpointIPConfigurationOutput) ToPrivateEndpointIPConfigurationOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationOutput { +func (o O365PolicyPropertiesPtrOutput) ToO365PolicyPropertiesPtrOutput() O365PolicyPropertiesPtrOutput { return o } -// The ID of a group obtained from the remote resource that this private endpoint should connect to. -func (o PrivateEndpointIPConfigurationOutput) GroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.GroupId }).(pulumi.StringPtrOutput) +func (o O365PolicyPropertiesPtrOutput) ToO365PolicyPropertiesPtrOutputWithContext(ctx context.Context) O365PolicyPropertiesPtrOutput { + return o } -// The member name of a group obtained from the remote resource that this private endpoint should connect to. -func (o PrivateEndpointIPConfigurationOutput) MemberName() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.MemberName }).(pulumi.StringPtrOutput) +func (o O365PolicyPropertiesPtrOutput) Elem() O365PolicyPropertiesOutput { + return o.ApplyT(func(v *O365PolicyProperties) O365PolicyProperties { + if v != nil { + return *v + } + var ret O365PolicyProperties + return ret + }).(O365PolicyPropertiesOutput) } -// The name of the resource that is unique within a resource group. -func (o PrivateEndpointIPConfigurationOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) +// Office365 breakout categories. +func (o O365PolicyPropertiesPtrOutput) BreakOutCategories() O365BreakOutCategoryPoliciesPtrOutput { + return o.ApplyT(func(v *O365PolicyProperties) *O365BreakOutCategoryPolicies { + if v == nil { + return nil + } + return v.BreakOutCategories + }).(O365BreakOutCategoryPoliciesPtrOutput) } -// A private ip address obtained from the private endpoint's subnet. -func (o PrivateEndpointIPConfigurationOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +// The Office365 breakout policy. +type O365PolicyPropertiesResponse struct { + // Office365 breakout categories. + BreakOutCategories *O365BreakOutCategoryPoliciesResponse `pulumi:"breakOutCategories"` } -type PrivateEndpointIPConfigurationArrayOutput struct{ *pulumi.OutputState } +// The Office365 breakout policy. +type O365PolicyPropertiesResponseOutput struct{ *pulumi.OutputState } -func (PrivateEndpointIPConfigurationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateEndpointIPConfiguration)(nil)).Elem() +func (O365PolicyPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*O365PolicyPropertiesResponse)(nil)).Elem() } -func (o PrivateEndpointIPConfigurationArrayOutput) ToPrivateEndpointIPConfigurationArrayOutput() PrivateEndpointIPConfigurationArrayOutput { +func (o O365PolicyPropertiesResponseOutput) ToO365PolicyPropertiesResponseOutput() O365PolicyPropertiesResponseOutput { return o } -func (o PrivateEndpointIPConfigurationArrayOutput) ToPrivateEndpointIPConfigurationArrayOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationArrayOutput { +func (o O365PolicyPropertiesResponseOutput) ToO365PolicyPropertiesResponseOutputWithContext(ctx context.Context) O365PolicyPropertiesResponseOutput { return o } -func (o PrivateEndpointIPConfigurationArrayOutput) Index(i pulumi.IntInput) PrivateEndpointIPConfigurationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointIPConfiguration { - return vs[0].([]PrivateEndpointIPConfiguration)[vs[1].(int)] - }).(PrivateEndpointIPConfigurationOutput) -} - -// An IP Configuration of the private endpoint. -type PrivateEndpointIPConfigurationResponse struct { - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // The ID of a group obtained from the remote resource that this private endpoint should connect to. - GroupId *string `pulumi:"groupId"` - // The member name of a group obtained from the remote resource that this private endpoint should connect to. - MemberName *string `pulumi:"memberName"` - // The name of the resource that is unique within a resource group. - Name *string `pulumi:"name"` - // A private ip address obtained from the private endpoint's subnet. - PrivateIPAddress *string `pulumi:"privateIPAddress"` - // The resource type. - Type string `pulumi:"type"` +// Office365 breakout categories. +func (o O365PolicyPropertiesResponseOutput) BreakOutCategories() O365BreakOutCategoryPoliciesResponsePtrOutput { + return o.ApplyT(func(v O365PolicyPropertiesResponse) *O365BreakOutCategoryPoliciesResponse { + return v.BreakOutCategories + }).(O365BreakOutCategoryPoliciesResponsePtrOutput) } -// An IP Configuration of the private endpoint. -type PrivateEndpointIPConfigurationResponseOutput struct{ *pulumi.OutputState } +type O365PolicyPropertiesResponsePtrOutput struct{ *pulumi.OutputState } -func (PrivateEndpointIPConfigurationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateEndpointIPConfigurationResponse)(nil)).Elem() +func (O365PolicyPropertiesResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**O365PolicyPropertiesResponse)(nil)).Elem() } -func (o PrivateEndpointIPConfigurationResponseOutput) ToPrivateEndpointIPConfigurationResponseOutput() PrivateEndpointIPConfigurationResponseOutput { +func (o O365PolicyPropertiesResponsePtrOutput) ToO365PolicyPropertiesResponsePtrOutput() O365PolicyPropertiesResponsePtrOutput { return o } -func (o PrivateEndpointIPConfigurationResponseOutput) ToPrivateEndpointIPConfigurationResponseOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationResponseOutput { +func (o O365PolicyPropertiesResponsePtrOutput) ToO365PolicyPropertiesResponsePtrOutputWithContext(ctx context.Context) O365PolicyPropertiesResponsePtrOutput { return o } -// A unique read-only string that changes whenever the resource is updated. -func (o PrivateEndpointIPConfigurationResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o O365PolicyPropertiesResponsePtrOutput) Elem() O365PolicyPropertiesResponseOutput { + return o.ApplyT(func(v *O365PolicyPropertiesResponse) O365PolicyPropertiesResponse { + if v != nil { + return *v + } + var ret O365PolicyPropertiesResponse + return ret + }).(O365PolicyPropertiesResponseOutput) +} + +// Office365 breakout categories. +func (o O365PolicyPropertiesResponsePtrOutput) BreakOutCategories() O365BreakOutCategoryPoliciesResponsePtrOutput { + return o.ApplyT(func(v *O365PolicyPropertiesResponse) *O365BreakOutCategoryPoliciesResponse { + if v == nil { + return nil + } + return v.BreakOutCategories + }).(O365BreakOutCategoryPoliciesResponsePtrOutput) } -// The ID of a group obtained from the remote resource that this private endpoint should connect to. -func (o PrivateEndpointIPConfigurationResponseOutput) GroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.GroupId }).(pulumi.StringPtrOutput) +// Network Virtual Appliance Sku Properties. +type Office365PolicyProperties struct { + // Office 365 breakout categories. + BreakOutCategories *BreakOutCategoryPolicies `pulumi:"breakOutCategories"` } -// The member name of a group obtained from the remote resource that this private endpoint should connect to. -func (o PrivateEndpointIPConfigurationResponseOutput) MemberName() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.MemberName }).(pulumi.StringPtrOutput) +// Office365PolicyPropertiesInput is an input type that accepts Office365PolicyPropertiesArgs and Office365PolicyPropertiesOutput values. +// You can construct a concrete instance of `Office365PolicyPropertiesInput` via: +// +// Office365PolicyPropertiesArgs{...} +type Office365PolicyPropertiesInput interface { + pulumi.Input + + ToOffice365PolicyPropertiesOutput() Office365PolicyPropertiesOutput + ToOffice365PolicyPropertiesOutputWithContext(context.Context) Office365PolicyPropertiesOutput } -// The name of the resource that is unique within a resource group. -func (o PrivateEndpointIPConfigurationResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Network Virtual Appliance Sku Properties. +type Office365PolicyPropertiesArgs struct { + // Office 365 breakout categories. + BreakOutCategories BreakOutCategoryPoliciesPtrInput `pulumi:"breakOutCategories"` } -// A private ip address obtained from the private endpoint's subnet. -func (o PrivateEndpointIPConfigurationResponseOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +func (Office365PolicyPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Office365PolicyProperties)(nil)).Elem() } -// The resource type. -func (o PrivateEndpointIPConfigurationResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) string { return v.Type }).(pulumi.StringOutput) +func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesOutput() Office365PolicyPropertiesOutput { + return i.ToOffice365PolicyPropertiesOutputWithContext(context.Background()) } -type PrivateEndpointIPConfigurationResponseArrayOutput struct{ *pulumi.OutputState } +func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesOutputWithContext(ctx context.Context) Office365PolicyPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(Office365PolicyPropertiesOutput) +} -func (PrivateEndpointIPConfigurationResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateEndpointIPConfigurationResponse)(nil)).Elem() +func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { + return i.ToOffice365PolicyPropertiesPtrOutputWithContext(context.Background()) } -func (o PrivateEndpointIPConfigurationResponseArrayOutput) ToPrivateEndpointIPConfigurationResponseArrayOutput() PrivateEndpointIPConfigurationResponseArrayOutput { - return o +func (i Office365PolicyPropertiesArgs) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Office365PolicyPropertiesOutput).ToOffice365PolicyPropertiesPtrOutputWithContext(ctx) } -func (o PrivateEndpointIPConfigurationResponseArrayOutput) ToPrivateEndpointIPConfigurationResponseArrayOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationResponseArrayOutput { - return o +// Office365PolicyPropertiesPtrInput is an input type that accepts Office365PolicyPropertiesArgs, Office365PolicyPropertiesPtr and Office365PolicyPropertiesPtrOutput values. +// You can construct a concrete instance of `Office365PolicyPropertiesPtrInput` via: +// +// Office365PolicyPropertiesArgs{...} +// +// or: +// +// nil +type Office365PolicyPropertiesPtrInput interface { + pulumi.Input + + ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput + ToOffice365PolicyPropertiesPtrOutputWithContext(context.Context) Office365PolicyPropertiesPtrOutput } -func (o PrivateEndpointIPConfigurationResponseArrayOutput) Index(i pulumi.IntInput) PrivateEndpointIPConfigurationResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointIPConfigurationResponse { - return vs[0].([]PrivateEndpointIPConfigurationResponse)[vs[1].(int)] - }).(PrivateEndpointIPConfigurationResponseOutput) +type office365PolicyPropertiesPtrType Office365PolicyPropertiesArgs + +func Office365PolicyPropertiesPtr(v *Office365PolicyPropertiesArgs) Office365PolicyPropertiesPtrInput { + return (*office365PolicyPropertiesPtrType)(v) } -// Private endpoint resource. -type PrivateEndpointResponse struct { - // Application security groups in which the private endpoint IP configuration is included. - ApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"applicationSecurityGroups"` - // An array of custom dns configurations. - CustomDnsConfigs []CustomDnsConfigPropertiesFormatResponse `pulumi:"customDnsConfigs"` - // The custom name of the network interface attached to the private endpoint. - CustomNetworkInterfaceName *string `pulumi:"customNetworkInterfaceName"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // The extended location of the load balancer. - ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` - // Resource ID. - Id *string `pulumi:"id"` - // A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. - IpConfigurations []PrivateEndpointIPConfigurationResponse `pulumi:"ipConfigurations"` - // Specifies the IP version type for the private IPs of the private endpoint. If not defined, this defaults to IPv4. - IpVersionType *string `pulumi:"ipVersionType"` - // Resource location. - Location *string `pulumi:"location"` - // A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. - ManualPrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"manualPrivateLinkServiceConnections"` - // Resource name. - Name string `pulumi:"name"` - // An array of references to the network interfaces created for this private endpoint. - NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` - // A grouping of information about the connection to the remote resource. - PrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"privateLinkServiceConnections"` - // The provisioning state of the private endpoint resource. - ProvisioningState string `pulumi:"provisioningState"` - // The ID of the subnet from which the private IP will be allocated. - Subnet *SubnetResponse `pulumi:"subnet"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // Resource type. - Type string `pulumi:"type"` +func (*office365PolicyPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Office365PolicyProperties)(nil)).Elem() } -// Defaults sets the appropriate defaults for PrivateEndpointResponse -func (val *PrivateEndpointResponse) Defaults() *PrivateEndpointResponse { - if val == nil { - return nil - } - tmp := *val - if tmp.IpVersionType == nil { - ipVersionType_ := "IPv4" - tmp.IpVersionType = &ipVersionType_ - } - tmp.Subnet = tmp.Subnet.Defaults() +func (i *office365PolicyPropertiesPtrType) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { + return i.ToOffice365PolicyPropertiesPtrOutputWithContext(context.Background()) +} - return &tmp +func (i *office365PolicyPropertiesPtrType) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Office365PolicyPropertiesPtrOutput) } -// Private endpoint resource. -type PrivateEndpointResponseOutput struct{ *pulumi.OutputState } +// Network Virtual Appliance Sku Properties. +type Office365PolicyPropertiesOutput struct{ *pulumi.OutputState } -func (PrivateEndpointResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateEndpointResponse)(nil)).Elem() +func (Office365PolicyPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Office365PolicyProperties)(nil)).Elem() } -func (o PrivateEndpointResponseOutput) ToPrivateEndpointResponseOutput() PrivateEndpointResponseOutput { +func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesOutput() Office365PolicyPropertiesOutput { return o } -func (o PrivateEndpointResponseOutput) ToPrivateEndpointResponseOutputWithContext(ctx context.Context) PrivateEndpointResponseOutput { +func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesOutputWithContext(ctx context.Context) Office365PolicyPropertiesOutput { return o } -// Application security groups in which the private endpoint IP configuration is included. -func (o PrivateEndpointResponseOutput) ApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { - return o.ApplyT(func(v PrivateEndpointResponse) []ApplicationSecurityGroupResponse { return v.ApplicationSecurityGroups }).(ApplicationSecurityGroupResponseArrayOutput) +func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { + return o.ToOffice365PolicyPropertiesPtrOutputWithContext(context.Background()) } -// An array of custom dns configurations. -func (o PrivateEndpointResponseOutput) CustomDnsConfigs() CustomDnsConfigPropertiesFormatResponseArrayOutput { - return o.ApplyT(func(v PrivateEndpointResponse) []CustomDnsConfigPropertiesFormatResponse { return v.CustomDnsConfigs }).(CustomDnsConfigPropertiesFormatResponseArrayOutput) +func (o Office365PolicyPropertiesOutput) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Office365PolicyProperties) *Office365PolicyProperties { + return &v + }).(Office365PolicyPropertiesPtrOutput) } -// The custom name of the network interface attached to the private endpoint. -func (o PrivateEndpointResponseOutput) CustomNetworkInterfaceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.CustomNetworkInterfaceName }).(pulumi.StringPtrOutput) +// Office 365 breakout categories. +func (o Office365PolicyPropertiesOutput) BreakOutCategories() BreakOutCategoryPoliciesPtrOutput { + return o.ApplyT(func(v Office365PolicyProperties) *BreakOutCategoryPolicies { return v.BreakOutCategories }).(BreakOutCategoryPoliciesPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o PrivateEndpointResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointResponse) string { return v.Etag }).(pulumi.StringOutput) -} +type Office365PolicyPropertiesPtrOutput struct{ *pulumi.OutputState } -// The extended location of the load balancer. -func (o PrivateEndpointResponseOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { - return o.ApplyT(func(v PrivateEndpointResponse) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) +func (Office365PolicyPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Office365PolicyProperties)(nil)).Elem() } -// Resource ID. -func (o PrivateEndpointResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o Office365PolicyPropertiesPtrOutput) ToOffice365PolicyPropertiesPtrOutput() Office365PolicyPropertiesPtrOutput { + return o } -// A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. -func (o PrivateEndpointResponseOutput) IpConfigurations() PrivateEndpointIPConfigurationResponseArrayOutput { - return o.ApplyT(func(v PrivateEndpointResponse) []PrivateEndpointIPConfigurationResponse { return v.IpConfigurations }).(PrivateEndpointIPConfigurationResponseArrayOutput) +func (o Office365PolicyPropertiesPtrOutput) ToOffice365PolicyPropertiesPtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesPtrOutput { + return o } -// Specifies the IP version type for the private IPs of the private endpoint. If not defined, this defaults to IPv4. -func (o PrivateEndpointResponseOutput) IpVersionType() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.IpVersionType }).(pulumi.StringPtrOutput) +func (o Office365PolicyPropertiesPtrOutput) Elem() Office365PolicyPropertiesOutput { + return o.ApplyT(func(v *Office365PolicyProperties) Office365PolicyProperties { + if v != nil { + return *v + } + var ret Office365PolicyProperties + return ret + }).(Office365PolicyPropertiesOutput) } -// Resource location. -func (o PrivateEndpointResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +// Office 365 breakout categories. +func (o Office365PolicyPropertiesPtrOutput) BreakOutCategories() BreakOutCategoryPoliciesPtrOutput { + return o.ApplyT(func(v *Office365PolicyProperties) *BreakOutCategoryPolicies { + if v == nil { + return nil + } + return v.BreakOutCategories + }).(BreakOutCategoryPoliciesPtrOutput) } -// A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. -func (o PrivateEndpointResponseOutput) ManualPrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { - return o.ApplyT(func(v PrivateEndpointResponse) []PrivateLinkServiceConnectionResponse { - return v.ManualPrivateLinkServiceConnections - }).(PrivateLinkServiceConnectionResponseArrayOutput) +// Network Virtual Appliance Sku Properties. +type Office365PolicyPropertiesResponse struct { + // Office 365 breakout categories. + BreakOutCategories *BreakOutCategoryPoliciesResponse `pulumi:"breakOutCategories"` } -// Resource name. -func (o PrivateEndpointResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointResponse) string { return v.Name }).(pulumi.StringOutput) -} +// Network Virtual Appliance Sku Properties. +type Office365PolicyPropertiesResponseOutput struct{ *pulumi.OutputState } -// An array of references to the network interfaces created for this private endpoint. -func (o PrivateEndpointResponseOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v PrivateEndpointResponse) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) +func (Office365PolicyPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Office365PolicyPropertiesResponse)(nil)).Elem() } -// A grouping of information about the connection to the remote resource. -func (o PrivateEndpointResponseOutput) PrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { - return o.ApplyT(func(v PrivateEndpointResponse) []PrivateLinkServiceConnectionResponse { - return v.PrivateLinkServiceConnections - }).(PrivateLinkServiceConnectionResponseArrayOutput) +func (o Office365PolicyPropertiesResponseOutput) ToOffice365PolicyPropertiesResponseOutput() Office365PolicyPropertiesResponseOutput { + return o } -// The provisioning state of the private endpoint resource. -func (o PrivateEndpointResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +func (o Office365PolicyPropertiesResponseOutput) ToOffice365PolicyPropertiesResponseOutputWithContext(ctx context.Context) Office365PolicyPropertiesResponseOutput { + return o } -// The ID of the subnet from which the private IP will be allocated. -func (o PrivateEndpointResponseOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v PrivateEndpointResponse) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +// Office 365 breakout categories. +func (o Office365PolicyPropertiesResponseOutput) BreakOutCategories() BreakOutCategoryPoliciesResponsePtrOutput { + return o.ApplyT(func(v Office365PolicyPropertiesResponse) *BreakOutCategoryPoliciesResponse { + return v.BreakOutCategories + }).(BreakOutCategoryPoliciesResponsePtrOutput) } -// Resource tags. -func (o PrivateEndpointResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v PrivateEndpointResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) -} +type Office365PolicyPropertiesResponsePtrOutput struct{ *pulumi.OutputState } -// Resource type. -func (o PrivateEndpointResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PrivateEndpointResponse) string { return v.Type }).(pulumi.StringOutput) +func (Office365PolicyPropertiesResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Office365PolicyPropertiesResponse)(nil)).Elem() } -type PrivateEndpointResponseArrayOutput struct{ *pulumi.OutputState } - -func (PrivateEndpointResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateEndpointResponse)(nil)).Elem() +func (o Office365PolicyPropertiesResponsePtrOutput) ToOffice365PolicyPropertiesResponsePtrOutput() Office365PolicyPropertiesResponsePtrOutput { + return o } -func (o PrivateEndpointResponseArrayOutput) ToPrivateEndpointResponseArrayOutput() PrivateEndpointResponseArrayOutput { +func (o Office365PolicyPropertiesResponsePtrOutput) ToOffice365PolicyPropertiesResponsePtrOutputWithContext(ctx context.Context) Office365PolicyPropertiesResponsePtrOutput { return o } -func (o PrivateEndpointResponseArrayOutput) ToPrivateEndpointResponseArrayOutputWithContext(ctx context.Context) PrivateEndpointResponseArrayOutput { - return o +func (o Office365PolicyPropertiesResponsePtrOutput) Elem() Office365PolicyPropertiesResponseOutput { + return o.ApplyT(func(v *Office365PolicyPropertiesResponse) Office365PolicyPropertiesResponse { + if v != nil { + return *v + } + var ret Office365PolicyPropertiesResponse + return ret + }).(Office365PolicyPropertiesResponseOutput) } -func (o PrivateEndpointResponseArrayOutput) Index(i pulumi.IntInput) PrivateEndpointResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointResponse { - return vs[0].([]PrivateEndpointResponse)[vs[1].(int)] - }).(PrivateEndpointResponseOutput) +// Office 365 breakout categories. +func (o Office365PolicyPropertiesResponsePtrOutput) BreakOutCategories() BreakOutCategoryPoliciesResponsePtrOutput { + return o.ApplyT(func(v *Office365PolicyPropertiesResponse) *BreakOutCategoryPoliciesResponse { + if v == nil { + return nil + } + return v.BreakOutCategories + }).(BreakOutCategoryPoliciesResponsePtrOutput) } -// Private link service resource. -type PrivateLinkServiceType struct { - // The auto-approval list of the private link service. - AutoApproval *PrivateLinkServicePropertiesAutoApproval `pulumi:"autoApproval"` - // The destination IP address of the private link service. - DestinationIPAddress *string `pulumi:"destinationIPAddress"` - // Whether the private link service is enabled for proxy protocol or not. - EnableProxyProtocol *bool `pulumi:"enableProxyProtocol"` - // The extended location of the load balancer. - ExtendedLocation *ExtendedLocation `pulumi:"extendedLocation"` - // The list of Fqdn. - Fqdns []string `pulumi:"fqdns"` - // Resource ID. - Id *string `pulumi:"id"` - // An array of private link service IP configurations. - IpConfigurations []PrivateLinkServiceIpConfiguration `pulumi:"ipConfigurations"` - // An array of references to the load balancer IP configurations. - LoadBalancerFrontendIpConfigurations []FrontendIPConfiguration `pulumi:"loadBalancerFrontendIpConfigurations"` - // Resource location. - Location *string `pulumi:"location"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // The visibility list of the private link service. - Visibility *PrivateLinkServicePropertiesVisibility `pulumi:"visibility"` +// Describes a column to sort +type OrderBy struct { + // Describes the actual column name to sort by + Field *string `pulumi:"field"` + // Describes if results should be in ascending/descending order + Order *string `pulumi:"order"` } -// PrivateLinkServiceTypeInput is an input type that accepts PrivateLinkServiceTypeArgs and PrivateLinkServiceTypeOutput values. -// You can construct a concrete instance of `PrivateLinkServiceTypeInput` via: +// OrderByInput is an input type that accepts OrderByArgs and OrderByOutput values. +// You can construct a concrete instance of `OrderByInput` via: // -// PrivateLinkServiceTypeArgs{...} -type PrivateLinkServiceTypeInput interface { +// OrderByArgs{...} +type OrderByInput interface { pulumi.Input - ToPrivateLinkServiceTypeOutput() PrivateLinkServiceTypeOutput - ToPrivateLinkServiceTypeOutputWithContext(context.Context) PrivateLinkServiceTypeOutput + ToOrderByOutput() OrderByOutput + ToOrderByOutputWithContext(context.Context) OrderByOutput } -// Private link service resource. -type PrivateLinkServiceTypeArgs struct { - // The auto-approval list of the private link service. - AutoApproval PrivateLinkServicePropertiesAutoApprovalPtrInput `pulumi:"autoApproval"` - // The destination IP address of the private link service. - DestinationIPAddress pulumi.StringPtrInput `pulumi:"destinationIPAddress"` - // Whether the private link service is enabled for proxy protocol or not. - EnableProxyProtocol pulumi.BoolPtrInput `pulumi:"enableProxyProtocol"` - // The extended location of the load balancer. - ExtendedLocation ExtendedLocationPtrInput `pulumi:"extendedLocation"` - // The list of Fqdn. - Fqdns pulumi.StringArrayInput `pulumi:"fqdns"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // An array of private link service IP configurations. - IpConfigurations PrivateLinkServiceIpConfigurationArrayInput `pulumi:"ipConfigurations"` - // An array of references to the load balancer IP configurations. - LoadBalancerFrontendIpConfigurations FrontendIPConfigurationArrayInput `pulumi:"loadBalancerFrontendIpConfigurations"` - // Resource location. - Location pulumi.StringPtrInput `pulumi:"location"` - // Resource tags. - Tags pulumi.StringMapInput `pulumi:"tags"` - // The visibility list of the private link service. - Visibility PrivateLinkServicePropertiesVisibilityPtrInput `pulumi:"visibility"` +// Describes a column to sort +type OrderByArgs struct { + // Describes the actual column name to sort by + Field pulumi.StringPtrInput `pulumi:"field"` + // Describes if results should be in ascending/descending order + Order pulumi.StringPtrInput `pulumi:"order"` } -func (PrivateLinkServiceTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceType)(nil)).Elem() +func (OrderByArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OrderBy)(nil)).Elem() } -func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypeOutput() PrivateLinkServiceTypeOutput { - return i.ToPrivateLinkServiceTypeOutputWithContext(context.Background()) +func (i OrderByArgs) ToOrderByOutput() OrderByOutput { + return i.ToOrderByOutputWithContext(context.Background()) } -func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypeOutputWithContext(ctx context.Context) PrivateLinkServiceTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceTypeOutput) +func (i OrderByArgs) ToOrderByOutputWithContext(ctx context.Context) OrderByOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrderByOutput) } -func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { - return i.ToPrivateLinkServiceTypePtrOutputWithContext(context.Background()) +func (i OrderByArgs) ToOrderByPtrOutput() OrderByPtrOutput { + return i.ToOrderByPtrOutputWithContext(context.Background()) } -func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceTypeOutput).ToPrivateLinkServiceTypePtrOutputWithContext(ctx) +func (i OrderByArgs) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrderByOutput).ToOrderByPtrOutputWithContext(ctx) } -// PrivateLinkServiceTypePtrInput is an input type that accepts PrivateLinkServiceTypeArgs, PrivateLinkServiceTypePtr and PrivateLinkServiceTypePtrOutput values. -// You can construct a concrete instance of `PrivateLinkServiceTypePtrInput` via: +// OrderByPtrInput is an input type that accepts OrderByArgs, OrderByPtr and OrderByPtrOutput values. +// You can construct a concrete instance of `OrderByPtrInput` via: // -// PrivateLinkServiceTypeArgs{...} +// OrderByArgs{...} // // or: // // nil -type PrivateLinkServiceTypePtrInput interface { +type OrderByPtrInput interface { pulumi.Input - ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput - ToPrivateLinkServiceTypePtrOutputWithContext(context.Context) PrivateLinkServiceTypePtrOutput + ToOrderByPtrOutput() OrderByPtrOutput + ToOrderByPtrOutputWithContext(context.Context) OrderByPtrOutput } -type privateLinkServiceTypePtrType PrivateLinkServiceTypeArgs +type orderByPtrType OrderByArgs -func PrivateLinkServiceTypePtr(v *PrivateLinkServiceTypeArgs) PrivateLinkServiceTypePtrInput { - return (*privateLinkServiceTypePtrType)(v) +func OrderByPtr(v *OrderByArgs) OrderByPtrInput { + return (*orderByPtrType)(v) } -func (*privateLinkServiceTypePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServiceType)(nil)).Elem() +func (*orderByPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OrderBy)(nil)).Elem() } -func (i *privateLinkServiceTypePtrType) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { - return i.ToPrivateLinkServiceTypePtrOutputWithContext(context.Background()) +func (i *orderByPtrType) ToOrderByPtrOutput() OrderByPtrOutput { + return i.ToOrderByPtrOutputWithContext(context.Background()) } -func (i *privateLinkServiceTypePtrType) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceTypePtrOutput) +func (i *orderByPtrType) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrderByPtrOutput) } -// Private link service resource. -type PrivateLinkServiceTypeOutput struct{ *pulumi.OutputState } +// Describes a column to sort +type OrderByOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceType)(nil)).Elem() +func (OrderByOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OrderBy)(nil)).Elem() } -func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypeOutput() PrivateLinkServiceTypeOutput { +func (o OrderByOutput) ToOrderByOutput() OrderByOutput { return o } -func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypeOutputWithContext(ctx context.Context) PrivateLinkServiceTypeOutput { +func (o OrderByOutput) ToOrderByOutputWithContext(ctx context.Context) OrderByOutput { return o } -func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { - return o.ToPrivateLinkServiceTypePtrOutputWithContext(context.Background()) +func (o OrderByOutput) ToOrderByPtrOutput() OrderByPtrOutput { + return o.ToOrderByPtrOutputWithContext(context.Background()) } -func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServiceType) *PrivateLinkServiceType { +func (o OrderByOutput) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OrderBy) *OrderBy { return &v - }).(PrivateLinkServiceTypePtrOutput) -} - -// The auto-approval list of the private link service. -func (o PrivateLinkServiceTypeOutput) AutoApproval() PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *PrivateLinkServicePropertiesAutoApproval { return v.AutoApproval }).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) -} - -// The destination IP address of the private link service. -func (o PrivateLinkServiceTypeOutput) DestinationIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *string { return v.DestinationIPAddress }).(pulumi.StringPtrOutput) -} - -// Whether the private link service is enabled for proxy protocol or not. -func (o PrivateLinkServiceTypeOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *bool { return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) -} - -// The extended location of the load balancer. -func (o PrivateLinkServiceTypeOutput) ExtendedLocation() ExtendedLocationPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *ExtendedLocation { return v.ExtendedLocation }).(ExtendedLocationPtrOutput) -} - -// The list of Fqdn. -func (o PrivateLinkServiceTypeOutput) Fqdns() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceType) []string { return v.Fqdns }).(pulumi.StringArrayOutput) -} - -// Resource ID. -func (o PrivateLinkServiceTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// An array of private link service IP configurations. -func (o PrivateLinkServiceTypeOutput) IpConfigurations() PrivateLinkServiceIpConfigurationArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceType) []PrivateLinkServiceIpConfiguration { return v.IpConfigurations }).(PrivateLinkServiceIpConfigurationArrayOutput) -} - -// An array of references to the load balancer IP configurations. -func (o PrivateLinkServiceTypeOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceType) []FrontendIPConfiguration { - return v.LoadBalancerFrontendIpConfigurations - }).(FrontendIPConfigurationArrayOutput) -} - -// Resource location. -func (o PrivateLinkServiceTypeOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *string { return v.Location }).(pulumi.StringPtrOutput) + }).(OrderByPtrOutput) } -// Resource tags. -func (o PrivateLinkServiceTypeOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v PrivateLinkServiceType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +// Describes the actual column name to sort by +func (o OrderByOutput) Field() pulumi.StringPtrOutput { + return o.ApplyT(func(v OrderBy) *string { return v.Field }).(pulumi.StringPtrOutput) } -// The visibility list of the private link service. -func (o PrivateLinkServiceTypeOutput) Visibility() PrivateLinkServicePropertiesVisibilityPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceType) *PrivateLinkServicePropertiesVisibility { return v.Visibility }).(PrivateLinkServicePropertiesVisibilityPtrOutput) +// Describes if results should be in ascending/descending order +func (o OrderByOutput) Order() pulumi.StringPtrOutput { + return o.ApplyT(func(v OrderBy) *string { return v.Order }).(pulumi.StringPtrOutput) } -type PrivateLinkServiceTypePtrOutput struct{ *pulumi.OutputState } +type OrderByPtrOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServiceType)(nil)).Elem() +func (OrderByPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OrderBy)(nil)).Elem() } -func (o PrivateLinkServiceTypePtrOutput) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { +func (o OrderByPtrOutput) ToOrderByPtrOutput() OrderByPtrOutput { return o } -func (o PrivateLinkServiceTypePtrOutput) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { +func (o OrderByPtrOutput) ToOrderByPtrOutputWithContext(ctx context.Context) OrderByPtrOutput { return o } -func (o PrivateLinkServiceTypePtrOutput) Elem() PrivateLinkServiceTypeOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) PrivateLinkServiceType { +func (o OrderByPtrOutput) Elem() OrderByOutput { + return o.ApplyT(func(v *OrderBy) OrderBy { if v != nil { return *v } - var ret PrivateLinkServiceType + var ret OrderBy return ret - }).(PrivateLinkServiceTypeOutput) -} - -// The auto-approval list of the private link service. -func (o PrivateLinkServiceTypePtrOutput) AutoApproval() PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *PrivateLinkServicePropertiesAutoApproval { - if v == nil { - return nil - } - return v.AutoApproval - }).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) -} - -// The destination IP address of the private link service. -func (o PrivateLinkServiceTypePtrOutput) DestinationIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *string { - if v == nil { - return nil - } - return v.DestinationIPAddress - }).(pulumi.StringPtrOutput) -} - -// Whether the private link service is enabled for proxy protocol or not. -func (o PrivateLinkServiceTypePtrOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *bool { - if v == nil { - return nil - } - return v.EnableProxyProtocol - }).(pulumi.BoolPtrOutput) -} - -// The extended location of the load balancer. -func (o PrivateLinkServiceTypePtrOutput) ExtendedLocation() ExtendedLocationPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *ExtendedLocation { - if v == nil { - return nil - } - return v.ExtendedLocation - }).(ExtendedLocationPtrOutput) -} - -// The list of Fqdn. -func (o PrivateLinkServiceTypePtrOutput) Fqdns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) []string { - if v == nil { - return nil - } - return v.Fqdns - }).(pulumi.StringArrayOutput) + }).(OrderByOutput) } -// Resource ID. -func (o PrivateLinkServiceTypePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *string { +// Describes the actual column name to sort by +func (o OrderByPtrOutput) Field() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrderBy) *string { if v == nil { return nil } - return v.Id + return v.Field }).(pulumi.StringPtrOutput) } -// An array of private link service IP configurations. -func (o PrivateLinkServiceTypePtrOutput) IpConfigurations() PrivateLinkServiceIpConfigurationArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) []PrivateLinkServiceIpConfiguration { - if v == nil { - return nil - } - return v.IpConfigurations - }).(PrivateLinkServiceIpConfigurationArrayOutput) -} - -// An array of references to the load balancer IP configurations. -func (o PrivateLinkServiceTypePtrOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) []FrontendIPConfiguration { - if v == nil { - return nil - } - return v.LoadBalancerFrontendIpConfigurations - }).(FrontendIPConfigurationArrayOutput) -} - -// Resource location. -func (o PrivateLinkServiceTypePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *string { +// Describes if results should be in ascending/descending order +func (o OrderByPtrOutput) Order() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrderBy) *string { if v == nil { return nil } - return v.Location + return v.Order }).(pulumi.StringPtrOutput) } -// Resource tags. -func (o PrivateLinkServiceTypePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) -} - -// The visibility list of the private link service. -func (o PrivateLinkServiceTypePtrOutput) Visibility() PrivateLinkServicePropertiesVisibilityPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceType) *PrivateLinkServicePropertiesVisibility { - if v == nil { - return nil - } - return v.Visibility - }).(PrivateLinkServicePropertiesVisibilityPtrOutput) -} - -// PrivateLinkServiceConnection resource. -type PrivateLinkServiceConnection struct { - // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. - GroupIds []string `pulumi:"groupIds"` +// Outbound rule of the load balancer. +type OutboundRule struct { + // The number of outbound ports to be used for NAT. + AllocatedOutboundPorts *int `pulumi:"allocatedOutboundPorts"` + // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool SubResource `pulumi:"backendAddressPool"` + // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTcpReset *bool `pulumi:"enableTcpReset"` + // The Frontend IP addresses of the load balancer. + FrontendIPConfigurations []SubResource `pulumi:"frontendIPConfigurations"` // Resource ID. Id *string `pulumi:"id"` - // The name of the resource that is unique within a resource group. This name can be used to access the resource. + // The timeout for the TCP idle connection. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. Name *string `pulumi:"name"` - // A collection of read-only information about the state of the connection to the remote resource. - PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `pulumi:"privateLinkServiceConnectionState"` - // The resource id of private link service. - PrivateLinkServiceId *string `pulumi:"privateLinkServiceId"` - // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. - RequestMessage *string `pulumi:"requestMessage"` + // The protocol for the outbound rule in load balancer. + Protocol string `pulumi:"protocol"` } -// PrivateLinkServiceConnectionInput is an input type that accepts PrivateLinkServiceConnectionArgs and PrivateLinkServiceConnectionOutput values. -// You can construct a concrete instance of `PrivateLinkServiceConnectionInput` via: +// OutboundRuleInput is an input type that accepts OutboundRuleArgs and OutboundRuleOutput values. +// You can construct a concrete instance of `OutboundRuleInput` via: // -// PrivateLinkServiceConnectionArgs{...} -type PrivateLinkServiceConnectionInput interface { +// OutboundRuleArgs{...} +type OutboundRuleInput interface { pulumi.Input - ToPrivateLinkServiceConnectionOutput() PrivateLinkServiceConnectionOutput - ToPrivateLinkServiceConnectionOutputWithContext(context.Context) PrivateLinkServiceConnectionOutput + ToOutboundRuleOutput() OutboundRuleOutput + ToOutboundRuleOutputWithContext(context.Context) OutboundRuleOutput } -// PrivateLinkServiceConnection resource. -type PrivateLinkServiceConnectionArgs struct { - // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. - GroupIds pulumi.StringArrayInput `pulumi:"groupIds"` +// Outbound rule of the load balancer. +type OutboundRuleArgs struct { + // The number of outbound ports to be used for NAT. + AllocatedOutboundPorts pulumi.IntPtrInput `pulumi:"allocatedOutboundPorts"` + // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool SubResourceInput `pulumi:"backendAddressPool"` + // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTcpReset pulumi.BoolPtrInput `pulumi:"enableTcpReset"` + // The Frontend IP addresses of the load balancer. + FrontendIPConfigurations SubResourceArrayInput `pulumi:"frontendIPConfigurations"` // Resource ID. Id pulumi.StringPtrInput `pulumi:"id"` - // The name of the resource that is unique within a resource group. This name can be used to access the resource. + // The timeout for the TCP idle connection. + IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` + // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. Name pulumi.StringPtrInput `pulumi:"name"` - // A collection of read-only information about the state of the connection to the remote resource. - PrivateLinkServiceConnectionState PrivateLinkServiceConnectionStatePtrInput `pulumi:"privateLinkServiceConnectionState"` - // The resource id of private link service. - PrivateLinkServiceId pulumi.StringPtrInput `pulumi:"privateLinkServiceId"` - // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. - RequestMessage pulumi.StringPtrInput `pulumi:"requestMessage"` + // The protocol for the outbound rule in load balancer. + Protocol pulumi.StringInput `pulumi:"protocol"` } -func (PrivateLinkServiceConnectionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceConnection)(nil)).Elem() +func (OutboundRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OutboundRule)(nil)).Elem() } -func (i PrivateLinkServiceConnectionArgs) ToPrivateLinkServiceConnectionOutput() PrivateLinkServiceConnectionOutput { - return i.ToPrivateLinkServiceConnectionOutputWithContext(context.Background()) +func (i OutboundRuleArgs) ToOutboundRuleOutput() OutboundRuleOutput { + return i.ToOutboundRuleOutputWithContext(context.Background()) } -func (i PrivateLinkServiceConnectionArgs) ToPrivateLinkServiceConnectionOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionOutput) +func (i OutboundRuleArgs) ToOutboundRuleOutputWithContext(ctx context.Context) OutboundRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(OutboundRuleOutput) } -// PrivateLinkServiceConnectionArrayInput is an input type that accepts PrivateLinkServiceConnectionArray and PrivateLinkServiceConnectionArrayOutput values. -// You can construct a concrete instance of `PrivateLinkServiceConnectionArrayInput` via: +// OutboundRuleArrayInput is an input type that accepts OutboundRuleArray and OutboundRuleArrayOutput values. +// You can construct a concrete instance of `OutboundRuleArrayInput` via: // -// PrivateLinkServiceConnectionArray{ PrivateLinkServiceConnectionArgs{...} } -type PrivateLinkServiceConnectionArrayInput interface { +// OutboundRuleArray{ OutboundRuleArgs{...} } +type OutboundRuleArrayInput interface { pulumi.Input - ToPrivateLinkServiceConnectionArrayOutput() PrivateLinkServiceConnectionArrayOutput - ToPrivateLinkServiceConnectionArrayOutputWithContext(context.Context) PrivateLinkServiceConnectionArrayOutput + ToOutboundRuleArrayOutput() OutboundRuleArrayOutput + ToOutboundRuleArrayOutputWithContext(context.Context) OutboundRuleArrayOutput } -type PrivateLinkServiceConnectionArray []PrivateLinkServiceConnectionInput +type OutboundRuleArray []OutboundRuleInput -func (PrivateLinkServiceConnectionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateLinkServiceConnection)(nil)).Elem() +func (OutboundRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OutboundRule)(nil)).Elem() } -func (i PrivateLinkServiceConnectionArray) ToPrivateLinkServiceConnectionArrayOutput() PrivateLinkServiceConnectionArrayOutput { - return i.ToPrivateLinkServiceConnectionArrayOutputWithContext(context.Background()) +func (i OutboundRuleArray) ToOutboundRuleArrayOutput() OutboundRuleArrayOutput { + return i.ToOutboundRuleArrayOutputWithContext(context.Background()) } -func (i PrivateLinkServiceConnectionArray) ToPrivateLinkServiceConnectionArrayOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionArrayOutput) +func (i OutboundRuleArray) ToOutboundRuleArrayOutputWithContext(ctx context.Context) OutboundRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OutboundRuleArrayOutput) } -// PrivateLinkServiceConnection resource. -type PrivateLinkServiceConnectionOutput struct{ *pulumi.OutputState } +// Outbound rule of the load balancer. +type OutboundRuleOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceConnectionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceConnection)(nil)).Elem() +func (OutboundRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OutboundRule)(nil)).Elem() } -func (o PrivateLinkServiceConnectionOutput) ToPrivateLinkServiceConnectionOutput() PrivateLinkServiceConnectionOutput { +func (o OutboundRuleOutput) ToOutboundRuleOutput() OutboundRuleOutput { return o } -func (o PrivateLinkServiceConnectionOutput) ToPrivateLinkServiceConnectionOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionOutput { +func (o OutboundRuleOutput) ToOutboundRuleOutputWithContext(ctx context.Context) OutboundRuleOutput { return o } -// The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. -func (o PrivateLinkServiceConnectionOutput) GroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceConnection) []string { return v.GroupIds }).(pulumi.StringArrayOutput) +// The number of outbound ports to be used for NAT. +func (o OutboundRuleOutput) AllocatedOutboundPorts() pulumi.IntPtrOutput { + return o.ApplyT(func(v OutboundRule) *int { return v.AllocatedOutboundPorts }).(pulumi.IntPtrOutput) } -// Resource ID. -func (o PrivateLinkServiceConnectionOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.Id }).(pulumi.StringPtrOutput) +// A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. +func (o OutboundRuleOutput) BackendAddressPool() SubResourceOutput { + return o.ApplyT(func(v OutboundRule) SubResource { return v.BackendAddressPool }).(SubResourceOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o PrivateLinkServiceConnectionOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. +func (o OutboundRuleOutput) EnableTcpReset() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OutboundRule) *bool { return v.EnableTcpReset }).(pulumi.BoolPtrOutput) } -// A collection of read-only information about the state of the connection to the remote resource. -func (o PrivateLinkServiceConnectionOutput) PrivateLinkServiceConnectionState() PrivateLinkServiceConnectionStatePtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnection) *PrivateLinkServiceConnectionState { - return v.PrivateLinkServiceConnectionState - }).(PrivateLinkServiceConnectionStatePtrOutput) +// The Frontend IP addresses of the load balancer. +func (o OutboundRuleOutput) FrontendIPConfigurations() SubResourceArrayOutput { + return o.ApplyT(func(v OutboundRule) []SubResource { return v.FrontendIPConfigurations }).(SubResourceArrayOutput) } -// The resource id of private link service. -func (o PrivateLinkServiceConnectionOutput) PrivateLinkServiceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.PrivateLinkServiceId }).(pulumi.StringPtrOutput) +// Resource ID. +func (o OutboundRuleOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v OutboundRule) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The timeout for the TCP idle connection. +func (o OutboundRuleOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v OutboundRule) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -// A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. -func (o PrivateLinkServiceConnectionOutput) RequestMessage() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.RequestMessage }).(pulumi.StringPtrOutput) +// The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. +func (o OutboundRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v OutboundRule) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The protocol for the outbound rule in load balancer. +func (o OutboundRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v OutboundRule) string { return v.Protocol }).(pulumi.StringOutput) } -type PrivateLinkServiceConnectionArrayOutput struct{ *pulumi.OutputState } +type OutboundRuleArrayOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceConnectionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateLinkServiceConnection)(nil)).Elem() +func (OutboundRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OutboundRule)(nil)).Elem() } -func (o PrivateLinkServiceConnectionArrayOutput) ToPrivateLinkServiceConnectionArrayOutput() PrivateLinkServiceConnectionArrayOutput { +func (o OutboundRuleArrayOutput) ToOutboundRuleArrayOutput() OutboundRuleArrayOutput { return o } -func (o PrivateLinkServiceConnectionArrayOutput) ToPrivateLinkServiceConnectionArrayOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionArrayOutput { +func (o OutboundRuleArrayOutput) ToOutboundRuleArrayOutputWithContext(ctx context.Context) OutboundRuleArrayOutput { return o } -func (o PrivateLinkServiceConnectionArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceConnectionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceConnection { - return vs[0].([]PrivateLinkServiceConnection)[vs[1].(int)] - }).(PrivateLinkServiceConnectionOutput) +func (o OutboundRuleArrayOutput) Index(i pulumi.IntInput) OutboundRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OutboundRule { + return vs[0].([]OutboundRule)[vs[1].(int)] + }).(OutboundRuleOutput) } -// PrivateLinkServiceConnection resource. -type PrivateLinkServiceConnectionResponse struct { +// Outbound rule of the load balancer. +type OutboundRuleResponse struct { + // The number of outbound ports to be used for NAT. + AllocatedOutboundPorts *int `pulumi:"allocatedOutboundPorts"` + // A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool SubResourceResponse `pulumi:"backendAddressPool"` + // Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTcpReset *bool `pulumi:"enableTcpReset"` // A unique read-only string that changes whenever the resource is updated. Etag string `pulumi:"etag"` - // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. - GroupIds []string `pulumi:"groupIds"` + // The Frontend IP addresses of the load balancer. + FrontendIPConfigurations []SubResourceResponse `pulumi:"frontendIPConfigurations"` // Resource ID. Id *string `pulumi:"id"` - // The name of the resource that is unique within a resource group. This name can be used to access the resource. + // The timeout for the TCP idle connection. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. Name *string `pulumi:"name"` - // A collection of read-only information about the state of the connection to the remote resource. - PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionStateResponse `pulumi:"privateLinkServiceConnectionState"` - // The resource id of private link service. - PrivateLinkServiceId *string `pulumi:"privateLinkServiceId"` - // The provisioning state of the private link service connection resource. + // The protocol for the outbound rule in load balancer. + Protocol string `pulumi:"protocol"` + // The provisioning state of the outbound rule resource. ProvisioningState string `pulumi:"provisioningState"` - // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. - RequestMessage *string `pulumi:"requestMessage"` - // The resource type. + // Type of the resource. Type string `pulumi:"type"` } -// PrivateLinkServiceConnection resource. -type PrivateLinkServiceConnectionResponseOutput struct{ *pulumi.OutputState } +// Outbound rule of the load balancer. +type OutboundRuleResponseOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceConnectionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceConnectionResponse)(nil)).Elem() +func (OutboundRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OutboundRuleResponse)(nil)).Elem() } -func (o PrivateLinkServiceConnectionResponseOutput) ToPrivateLinkServiceConnectionResponseOutput() PrivateLinkServiceConnectionResponseOutput { +func (o OutboundRuleResponseOutput) ToOutboundRuleResponseOutput() OutboundRuleResponseOutput { return o } -func (o PrivateLinkServiceConnectionResponseOutput) ToPrivateLinkServiceConnectionResponseOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionResponseOutput { +func (o OutboundRuleResponseOutput) ToOutboundRuleResponseOutputWithContext(ctx context.Context) OutboundRuleResponseOutput { return o } -// A unique read-only string that changes whenever the resource is updated. -func (o PrivateLinkServiceConnectionResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) string { return v.Etag }).(pulumi.StringOutput) +// The number of outbound ports to be used for NAT. +func (o OutboundRuleResponseOutput) AllocatedOutboundPorts() pulumi.IntPtrOutput { + return o.ApplyT(func(v OutboundRuleResponse) *int { return v.AllocatedOutboundPorts }).(pulumi.IntPtrOutput) } -// The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. -func (o PrivateLinkServiceConnectionResponseOutput) GroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) []string { return v.GroupIds }).(pulumi.StringArrayOutput) +// A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. +func (o OutboundRuleResponseOutput) BackendAddressPool() SubResourceResponseOutput { + return o.ApplyT(func(v OutboundRuleResponse) SubResourceResponse { return v.BackendAddressPool }).(SubResourceResponseOutput) } -// Resource ID. -func (o PrivateLinkServiceConnectionResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. +func (o OutboundRuleResponseOutput) EnableTcpReset() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OutboundRuleResponse) *bool { return v.EnableTcpReset }).(pulumi.BoolPtrOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o PrivateLinkServiceConnectionResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o OutboundRuleResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v OutboundRuleResponse) string { return v.Etag }).(pulumi.StringOutput) } -// A collection of read-only information about the state of the connection to the remote resource. -func (o PrivateLinkServiceConnectionResponseOutput) PrivateLinkServiceConnectionState() PrivateLinkServiceConnectionStateResponsePtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *PrivateLinkServiceConnectionStateResponse { - return v.PrivateLinkServiceConnectionState - }).(PrivateLinkServiceConnectionStateResponsePtrOutput) +// The Frontend IP addresses of the load balancer. +func (o OutboundRuleResponseOutput) FrontendIPConfigurations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v OutboundRuleResponse) []SubResourceResponse { return v.FrontendIPConfigurations }).(SubResourceResponseArrayOutput) +} + +// Resource ID. +func (o OutboundRuleResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v OutboundRuleResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The timeout for the TCP idle connection. +func (o OutboundRuleResponseOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v OutboundRuleResponse) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -// The resource id of private link service. -func (o PrivateLinkServiceConnectionResponseOutput) PrivateLinkServiceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.PrivateLinkServiceId }).(pulumi.StringPtrOutput) +// The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. +func (o OutboundRuleResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v OutboundRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The provisioning state of the private link service connection resource. -func (o PrivateLinkServiceConnectionResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The protocol for the outbound rule in load balancer. +func (o OutboundRuleResponseOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v OutboundRuleResponse) string { return v.Protocol }).(pulumi.StringOutput) } -// A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. -func (o PrivateLinkServiceConnectionResponseOutput) RequestMessage() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.RequestMessage }).(pulumi.StringPtrOutput) +// The provisioning state of the outbound rule resource. +func (o OutboundRuleResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v OutboundRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The resource type. -func (o PrivateLinkServiceConnectionResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) string { return v.Type }).(pulumi.StringOutput) +// Type of the resource. +func (o OutboundRuleResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v OutboundRuleResponse) string { return v.Type }).(pulumi.StringOutput) } -type PrivateLinkServiceConnectionResponseArrayOutput struct{ *pulumi.OutputState } +type OutboundRuleResponseArrayOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceConnectionResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateLinkServiceConnectionResponse)(nil)).Elem() +func (OutboundRuleResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OutboundRuleResponse)(nil)).Elem() } -func (o PrivateLinkServiceConnectionResponseArrayOutput) ToPrivateLinkServiceConnectionResponseArrayOutput() PrivateLinkServiceConnectionResponseArrayOutput { +func (o OutboundRuleResponseArrayOutput) ToOutboundRuleResponseArrayOutput() OutboundRuleResponseArrayOutput { return o } -func (o PrivateLinkServiceConnectionResponseArrayOutput) ToPrivateLinkServiceConnectionResponseArrayOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionResponseArrayOutput { +func (o OutboundRuleResponseArrayOutput) ToOutboundRuleResponseArrayOutputWithContext(ctx context.Context) OutboundRuleResponseArrayOutput { return o } -func (o PrivateLinkServiceConnectionResponseArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceConnectionResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceConnectionResponse { - return vs[0].([]PrivateLinkServiceConnectionResponse)[vs[1].(int)] - }).(PrivateLinkServiceConnectionResponseOutput) +func (o OutboundRuleResponseArrayOutput) Index(i pulumi.IntInput) OutboundRuleResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OutboundRuleResponse { + return vs[0].([]OutboundRuleResponse)[vs[1].(int)] + }).(OutboundRuleResponseOutput) } -// A collection of information about the state of the connection between service consumer and provider. -type PrivateLinkServiceConnectionState struct { - // A message indicating if changes on the service provider require any updates on the consumer. - ActionsRequired *string `pulumi:"actionsRequired"` - // The reason for approval/rejection of the connection. - Description *string `pulumi:"description"` - // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. - Status *string `pulumi:"status"` +// Allow to exclude some variable satisfy the condition for the WAF check. +type OwaspCrsExclusionEntry struct { + // The managed rule sets that are associated with the exclusion. + ExclusionManagedRuleSets []ExclusionManagedRuleSet `pulumi:"exclusionManagedRuleSets"` + // The variable to be excluded. + MatchVariable string `pulumi:"matchVariable"` + // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. + Selector string `pulumi:"selector"` + // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. + SelectorMatchOperator string `pulumi:"selectorMatchOperator"` } -// PrivateLinkServiceConnectionStateInput is an input type that accepts PrivateLinkServiceConnectionStateArgs and PrivateLinkServiceConnectionStateOutput values. -// You can construct a concrete instance of `PrivateLinkServiceConnectionStateInput` via: +// OwaspCrsExclusionEntryInput is an input type that accepts OwaspCrsExclusionEntryArgs and OwaspCrsExclusionEntryOutput values. +// You can construct a concrete instance of `OwaspCrsExclusionEntryInput` via: // -// PrivateLinkServiceConnectionStateArgs{...} -type PrivateLinkServiceConnectionStateInput interface { +// OwaspCrsExclusionEntryArgs{...} +type OwaspCrsExclusionEntryInput interface { pulumi.Input - ToPrivateLinkServiceConnectionStateOutput() PrivateLinkServiceConnectionStateOutput - ToPrivateLinkServiceConnectionStateOutputWithContext(context.Context) PrivateLinkServiceConnectionStateOutput + ToOwaspCrsExclusionEntryOutput() OwaspCrsExclusionEntryOutput + ToOwaspCrsExclusionEntryOutputWithContext(context.Context) OwaspCrsExclusionEntryOutput } -// A collection of information about the state of the connection between service consumer and provider. -type PrivateLinkServiceConnectionStateArgs struct { - // A message indicating if changes on the service provider require any updates on the consumer. - ActionsRequired pulumi.StringPtrInput `pulumi:"actionsRequired"` - // The reason for approval/rejection of the connection. - Description pulumi.StringPtrInput `pulumi:"description"` - // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. - Status pulumi.StringPtrInput `pulumi:"status"` +// Allow to exclude some variable satisfy the condition for the WAF check. +type OwaspCrsExclusionEntryArgs struct { + // The managed rule sets that are associated with the exclusion. + ExclusionManagedRuleSets ExclusionManagedRuleSetArrayInput `pulumi:"exclusionManagedRuleSets"` + // The variable to be excluded. + MatchVariable pulumi.StringInput `pulumi:"matchVariable"` + // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. + Selector pulumi.StringInput `pulumi:"selector"` + // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. + SelectorMatchOperator pulumi.StringInput `pulumi:"selectorMatchOperator"` } -func (PrivateLinkServiceConnectionStateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceConnectionState)(nil)).Elem() +func (OwaspCrsExclusionEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OwaspCrsExclusionEntry)(nil)).Elem() } -func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStateOutput() PrivateLinkServiceConnectionStateOutput { - return i.ToPrivateLinkServiceConnectionStateOutputWithContext(context.Background()) +func (i OwaspCrsExclusionEntryArgs) ToOwaspCrsExclusionEntryOutput() OwaspCrsExclusionEntryOutput { + return i.ToOwaspCrsExclusionEntryOutputWithContext(context.Background()) } -func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStateOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionStateOutput) +func (i OwaspCrsExclusionEntryArgs) ToOwaspCrsExclusionEntryOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(OwaspCrsExclusionEntryOutput) } -func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { - return i.ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Background()) +// OwaspCrsExclusionEntryArrayInput is an input type that accepts OwaspCrsExclusionEntryArray and OwaspCrsExclusionEntryArrayOutput values. +// You can construct a concrete instance of `OwaspCrsExclusionEntryArrayInput` via: +// +// OwaspCrsExclusionEntryArray{ OwaspCrsExclusionEntryArgs{...} } +type OwaspCrsExclusionEntryArrayInput interface { + pulumi.Input + + ToOwaspCrsExclusionEntryArrayOutput() OwaspCrsExclusionEntryArrayOutput + ToOwaspCrsExclusionEntryArrayOutputWithContext(context.Context) OwaspCrsExclusionEntryArrayOutput } -func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionStateOutput).ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx) +type OwaspCrsExclusionEntryArray []OwaspCrsExclusionEntryInput + +func (OwaspCrsExclusionEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OwaspCrsExclusionEntry)(nil)).Elem() } -// PrivateLinkServiceConnectionStatePtrInput is an input type that accepts PrivateLinkServiceConnectionStateArgs, PrivateLinkServiceConnectionStatePtr and PrivateLinkServiceConnectionStatePtrOutput values. -// You can construct a concrete instance of `PrivateLinkServiceConnectionStatePtrInput` via: -// -// PrivateLinkServiceConnectionStateArgs{...} -// -// or: -// -// nil -type PrivateLinkServiceConnectionStatePtrInput interface { - pulumi.Input +func (i OwaspCrsExclusionEntryArray) ToOwaspCrsExclusionEntryArrayOutput() OwaspCrsExclusionEntryArrayOutput { + return i.ToOwaspCrsExclusionEntryArrayOutputWithContext(context.Background()) +} - ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput - ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Context) PrivateLinkServiceConnectionStatePtrOutput +func (i OwaspCrsExclusionEntryArray) ToOwaspCrsExclusionEntryArrayOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OwaspCrsExclusionEntryArrayOutput) } -type privateLinkServiceConnectionStatePtrType PrivateLinkServiceConnectionStateArgs +// Allow to exclude some variable satisfy the condition for the WAF check. +type OwaspCrsExclusionEntryOutput struct{ *pulumi.OutputState } -func PrivateLinkServiceConnectionStatePtr(v *PrivateLinkServiceConnectionStateArgs) PrivateLinkServiceConnectionStatePtrInput { - return (*privateLinkServiceConnectionStatePtrType)(v) +func (OwaspCrsExclusionEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OwaspCrsExclusionEntry)(nil)).Elem() } -func (*privateLinkServiceConnectionStatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServiceConnectionState)(nil)).Elem() +func (o OwaspCrsExclusionEntryOutput) ToOwaspCrsExclusionEntryOutput() OwaspCrsExclusionEntryOutput { + return o } -func (i *privateLinkServiceConnectionStatePtrType) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { - return i.ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Background()) +func (o OwaspCrsExclusionEntryOutput) ToOwaspCrsExclusionEntryOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryOutput { + return o } -func (i *privateLinkServiceConnectionStatePtrType) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionStatePtrOutput) +// The managed rule sets that are associated with the exclusion. +func (o OwaspCrsExclusionEntryOutput) ExclusionManagedRuleSets() ExclusionManagedRuleSetArrayOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntry) []ExclusionManagedRuleSet { return v.ExclusionManagedRuleSets }).(ExclusionManagedRuleSetArrayOutput) } -// A collection of information about the state of the connection between service consumer and provider. -type PrivateLinkServiceConnectionStateOutput struct{ *pulumi.OutputState } +// The variable to be excluded. +func (o OwaspCrsExclusionEntryOutput) MatchVariable() pulumi.StringOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntry) string { return v.MatchVariable }).(pulumi.StringOutput) +} + +// When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. +func (o OwaspCrsExclusionEntryOutput) Selector() pulumi.StringOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntry) string { return v.Selector }).(pulumi.StringOutput) +} + +// When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. +func (o OwaspCrsExclusionEntryOutput) SelectorMatchOperator() pulumi.StringOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntry) string { return v.SelectorMatchOperator }).(pulumi.StringOutput) +} + +type OwaspCrsExclusionEntryArrayOutput struct{ *pulumi.OutputState } + +func (OwaspCrsExclusionEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OwaspCrsExclusionEntry)(nil)).Elem() +} -func (PrivateLinkServiceConnectionStateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceConnectionState)(nil)).Elem() +func (o OwaspCrsExclusionEntryArrayOutput) ToOwaspCrsExclusionEntryArrayOutput() OwaspCrsExclusionEntryArrayOutput { + return o } -func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStateOutput() PrivateLinkServiceConnectionStateOutput { +func (o OwaspCrsExclusionEntryArrayOutput) ToOwaspCrsExclusionEntryArrayOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryArrayOutput { return o } -func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStateOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateOutput { +func (o OwaspCrsExclusionEntryArrayOutput) Index(i pulumi.IntInput) OwaspCrsExclusionEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OwaspCrsExclusionEntry { + return vs[0].([]OwaspCrsExclusionEntry)[vs[1].(int)] + }).(OwaspCrsExclusionEntryOutput) +} + +// Allow to exclude some variable satisfy the condition for the WAF check. +type OwaspCrsExclusionEntryResponse struct { + // The managed rule sets that are associated with the exclusion. + ExclusionManagedRuleSets []ExclusionManagedRuleSetResponse `pulumi:"exclusionManagedRuleSets"` + // The variable to be excluded. + MatchVariable string `pulumi:"matchVariable"` + // When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. + Selector string `pulumi:"selector"` + // When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. + SelectorMatchOperator string `pulumi:"selectorMatchOperator"` +} + +// Allow to exclude some variable satisfy the condition for the WAF check. +type OwaspCrsExclusionEntryResponseOutput struct{ *pulumi.OutputState } + +func (OwaspCrsExclusionEntryResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OwaspCrsExclusionEntryResponse)(nil)).Elem() +} + +func (o OwaspCrsExclusionEntryResponseOutput) ToOwaspCrsExclusionEntryResponseOutput() OwaspCrsExclusionEntryResponseOutput { return o } -func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { - return o.ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Background()) +func (o OwaspCrsExclusionEntryResponseOutput) ToOwaspCrsExclusionEntryResponseOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryResponseOutput { + return o } -func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServiceConnectionState) *PrivateLinkServiceConnectionState { - return &v - }).(PrivateLinkServiceConnectionStatePtrOutput) +// The managed rule sets that are associated with the exclusion. +func (o OwaspCrsExclusionEntryResponseOutput) ExclusionManagedRuleSets() ExclusionManagedRuleSetResponseArrayOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) []ExclusionManagedRuleSetResponse { + return v.ExclusionManagedRuleSets + }).(ExclusionManagedRuleSetResponseArrayOutput) } -// A message indicating if changes on the service provider require any updates on the consumer. -func (o PrivateLinkServiceConnectionStateOutput) ActionsRequired() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionState) *string { return v.ActionsRequired }).(pulumi.StringPtrOutput) +// The variable to be excluded. +func (o OwaspCrsExclusionEntryResponseOutput) MatchVariable() pulumi.StringOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) string { return v.MatchVariable }).(pulumi.StringOutput) } -// The reason for approval/rejection of the connection. -func (o PrivateLinkServiceConnectionStateOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionState) *string { return v.Description }).(pulumi.StringPtrOutput) +// When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. +func (o OwaspCrsExclusionEntryResponseOutput) Selector() pulumi.StringOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) string { return v.Selector }).(pulumi.StringOutput) } -// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. -func (o PrivateLinkServiceConnectionStateOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionState) *string { return v.Status }).(pulumi.StringPtrOutput) +// When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. +func (o OwaspCrsExclusionEntryResponseOutput) SelectorMatchOperator() pulumi.StringOutput { + return o.ApplyT(func(v OwaspCrsExclusionEntryResponse) string { return v.SelectorMatchOperator }).(pulumi.StringOutput) } -type PrivateLinkServiceConnectionStatePtrOutput struct{ *pulumi.OutputState } +type OwaspCrsExclusionEntryResponseArrayOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceConnectionStatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServiceConnectionState)(nil)).Elem() +func (OwaspCrsExclusionEntryResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OwaspCrsExclusionEntryResponse)(nil)).Elem() } -func (o PrivateLinkServiceConnectionStatePtrOutput) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { +func (o OwaspCrsExclusionEntryResponseArrayOutput) ToOwaspCrsExclusionEntryResponseArrayOutput() OwaspCrsExclusionEntryResponseArrayOutput { return o } -func (o PrivateLinkServiceConnectionStatePtrOutput) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { +func (o OwaspCrsExclusionEntryResponseArrayOutput) ToOwaspCrsExclusionEntryResponseArrayOutputWithContext(ctx context.Context) OwaspCrsExclusionEntryResponseArrayOutput { return o } -func (o PrivateLinkServiceConnectionStatePtrOutput) Elem() PrivateLinkServiceConnectionStateOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionState) PrivateLinkServiceConnectionState { - if v != nil { - return *v - } - var ret PrivateLinkServiceConnectionState - return ret - }).(PrivateLinkServiceConnectionStateOutput) +func (o OwaspCrsExclusionEntryResponseArrayOutput) Index(i pulumi.IntInput) OwaspCrsExclusionEntryResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OwaspCrsExclusionEntryResponse { + return vs[0].([]OwaspCrsExclusionEntryResponse)[vs[1].(int)] + }).(OwaspCrsExclusionEntryResponseOutput) } -// A message indicating if changes on the service provider require any updates on the consumer. -func (o PrivateLinkServiceConnectionStatePtrOutput) ActionsRequired() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionState) *string { - if v == nil { - return nil - } - return v.ActionsRequired - }).(pulumi.StringPtrOutput) +// P2SConnectionConfiguration Resource. +type P2SConnectionConfiguration struct { + // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. + EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 *RoutingConfigurationType `pulumi:"routingConfiguration"` + // The reference to the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool *AddressSpace `pulumi:"vpnClientAddressPool"` } -// The reason for approval/rejection of the connection. -func (o PrivateLinkServiceConnectionStatePtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionState) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) -} +// P2SConnectionConfigurationInput is an input type that accepts P2SConnectionConfigurationArgs and P2SConnectionConfigurationOutput values. +// You can construct a concrete instance of `P2SConnectionConfigurationInput` via: +// +// P2SConnectionConfigurationArgs{...} +type P2SConnectionConfigurationInput interface { + pulumi.Input -// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. -func (o PrivateLinkServiceConnectionStatePtrOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionState) *string { - if v == nil { - return nil - } - return v.Status - }).(pulumi.StringPtrOutput) + ToP2SConnectionConfigurationOutput() P2SConnectionConfigurationOutput + ToP2SConnectionConfigurationOutputWithContext(context.Context) P2SConnectionConfigurationOutput } -// A collection of information about the state of the connection between service consumer and provider. -type PrivateLinkServiceConnectionStateResponse struct { - // A message indicating if changes on the service provider require any updates on the consumer. - ActionsRequired *string `pulumi:"actionsRequired"` - // The reason for approval/rejection of the connection. - Description *string `pulumi:"description"` - // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. - Status *string `pulumi:"status"` +// P2SConnectionConfiguration Resource. +type P2SConnectionConfigurationArgs struct { + // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. + EnableInternetSecurity pulumi.BoolPtrInput `pulumi:"enableInternetSecurity"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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 RoutingConfigurationTypePtrInput `pulumi:"routingConfiguration"` + // The reference to the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool AddressSpacePtrInput `pulumi:"vpnClientAddressPool"` } -// A collection of information about the state of the connection between service consumer and provider. -type PrivateLinkServiceConnectionStateResponseOutput struct{ *pulumi.OutputState } +func (P2SConnectionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*P2SConnectionConfiguration)(nil)).Elem() +} -func (PrivateLinkServiceConnectionStateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceConnectionStateResponse)(nil)).Elem() +func (i P2SConnectionConfigurationArgs) ToP2SConnectionConfigurationOutput() P2SConnectionConfigurationOutput { + return i.ToP2SConnectionConfigurationOutputWithContext(context.Background()) } -func (o PrivateLinkServiceConnectionStateResponseOutput) ToPrivateLinkServiceConnectionStateResponseOutput() PrivateLinkServiceConnectionStateResponseOutput { - return o +func (i P2SConnectionConfigurationArgs) ToP2SConnectionConfigurationOutputWithContext(ctx context.Context) P2SConnectionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SConnectionConfigurationOutput) } -func (o PrivateLinkServiceConnectionStateResponseOutput) ToPrivateLinkServiceConnectionStateResponseOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateResponseOutput { - return o +// P2SConnectionConfigurationArrayInput is an input type that accepts P2SConnectionConfigurationArray and P2SConnectionConfigurationArrayOutput values. +// You can construct a concrete instance of `P2SConnectionConfigurationArrayInput` via: +// +// P2SConnectionConfigurationArray{ P2SConnectionConfigurationArgs{...} } +type P2SConnectionConfigurationArrayInput interface { + pulumi.Input + + ToP2SConnectionConfigurationArrayOutput() P2SConnectionConfigurationArrayOutput + ToP2SConnectionConfigurationArrayOutputWithContext(context.Context) P2SConnectionConfigurationArrayOutput } -// A message indicating if changes on the service provider require any updates on the consumer. -func (o PrivateLinkServiceConnectionStateResponseOutput) ActionsRequired() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionStateResponse) *string { return v.ActionsRequired }).(pulumi.StringPtrOutput) +type P2SConnectionConfigurationArray []P2SConnectionConfigurationInput + +func (P2SConnectionConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SConnectionConfiguration)(nil)).Elem() } -// The reason for approval/rejection of the connection. -func (o PrivateLinkServiceConnectionStateResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionStateResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +func (i P2SConnectionConfigurationArray) ToP2SConnectionConfigurationArrayOutput() P2SConnectionConfigurationArrayOutput { + return i.ToP2SConnectionConfigurationArrayOutputWithContext(context.Background()) } -// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. -func (o PrivateLinkServiceConnectionStateResponseOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceConnectionStateResponse) *string { return v.Status }).(pulumi.StringPtrOutput) +func (i P2SConnectionConfigurationArray) ToP2SConnectionConfigurationArrayOutputWithContext(ctx context.Context) P2SConnectionConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SConnectionConfigurationArrayOutput) } -type PrivateLinkServiceConnectionStateResponsePtrOutput struct{ *pulumi.OutputState } +// P2SConnectionConfiguration Resource. +type P2SConnectionConfigurationOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceConnectionStateResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServiceConnectionStateResponse)(nil)).Elem() +func (P2SConnectionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SConnectionConfiguration)(nil)).Elem() } -func (o PrivateLinkServiceConnectionStateResponsePtrOutput) ToPrivateLinkServiceConnectionStateResponsePtrOutput() PrivateLinkServiceConnectionStateResponsePtrOutput { +func (o P2SConnectionConfigurationOutput) ToP2SConnectionConfigurationOutput() P2SConnectionConfigurationOutput { return o } -func (o PrivateLinkServiceConnectionStateResponsePtrOutput) ToPrivateLinkServiceConnectionStateResponsePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateResponsePtrOutput { +func (o P2SConnectionConfigurationOutput) ToP2SConnectionConfigurationOutputWithContext(ctx context.Context) P2SConnectionConfigurationOutput { return o } -func (o PrivateLinkServiceConnectionStateResponsePtrOutput) Elem() PrivateLinkServiceConnectionStateResponseOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) PrivateLinkServiceConnectionStateResponse { - if v != nil { - return *v - } - var ret PrivateLinkServiceConnectionStateResponse - return ret - }).(PrivateLinkServiceConnectionStateResponseOutput) -} - -// A message indicating if changes on the service provider require any updates on the consumer. -func (o PrivateLinkServiceConnectionStateResponsePtrOutput) ActionsRequired() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) *string { - if v == nil { - return nil - } - return v.ActionsRequired - }).(pulumi.StringPtrOutput) +// Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. +func (o P2SConnectionConfigurationOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v P2SConnectionConfiguration) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) } -// The reason for approval/rejection of the connection. -func (o PrivateLinkServiceConnectionStateResponsePtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) +// Resource ID. +func (o P2SConnectionConfigurationOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SConnectionConfiguration) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. -func (o PrivateLinkServiceConnectionStateResponsePtrOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) *string { - if v == nil { - return nil - } - return v.Status - }).(pulumi.StringPtrOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SConnectionConfigurationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SConnectionConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The private link service ip configuration. -type PrivateLinkServiceIpConfiguration struct { - // Resource ID. - Id *string `pulumi:"id"` - // The name of private link service ip configuration. - Name *string `pulumi:"name"` - // Whether the ip configuration is primary or not. - Primary *bool `pulumi:"primary"` - // The private IP address of the IP configuration. - PrivateIPAddress *string `pulumi:"privateIPAddress"` - // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. - PrivateIPAddressVersion *string `pulumi:"privateIPAddressVersion"` - // The private IP address allocation method. - PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` - // The reference to the subnet resource. - Subnet *SubnetType `pulumi:"subnet"` +// The Routing Configuration indicating the associated and propagated route tables on this connection. +func (o P2SConnectionConfigurationOutput) RoutingConfiguration() RoutingConfigurationTypePtrOutput { + return o.ApplyT(func(v P2SConnectionConfiguration) *RoutingConfigurationType { return v.RoutingConfiguration }).(RoutingConfigurationTypePtrOutput) } -// Defaults sets the appropriate defaults for PrivateLinkServiceIpConfiguration -func (val *PrivateLinkServiceIpConfiguration) Defaults() *PrivateLinkServiceIpConfiguration { - if val == nil { - return nil - } - tmp := *val - tmp.Subnet = tmp.Subnet.Defaults() - - return &tmp +// The reference to the address space resource which represents Address space for P2S VpnClient. +func (o P2SConnectionConfigurationOutput) VpnClientAddressPool() AddressSpacePtrOutput { + return o.ApplyT(func(v P2SConnectionConfiguration) *AddressSpace { return v.VpnClientAddressPool }).(AddressSpacePtrOutput) } -// PrivateLinkServiceIpConfigurationInput is an input type that accepts PrivateLinkServiceIpConfigurationArgs and PrivateLinkServiceIpConfigurationOutput values. -// You can construct a concrete instance of `PrivateLinkServiceIpConfigurationInput` via: -// -// PrivateLinkServiceIpConfigurationArgs{...} -type PrivateLinkServiceIpConfigurationInput interface { - pulumi.Input - - ToPrivateLinkServiceIpConfigurationOutput() PrivateLinkServiceIpConfigurationOutput - ToPrivateLinkServiceIpConfigurationOutputWithContext(context.Context) PrivateLinkServiceIpConfigurationOutput -} +type P2SConnectionConfigurationArrayOutput struct{ *pulumi.OutputState } -// The private link service ip configuration. -type PrivateLinkServiceIpConfigurationArgs struct { - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // The name of private link service ip configuration. - Name pulumi.StringPtrInput `pulumi:"name"` - // Whether the ip configuration is primary or not. - Primary pulumi.BoolPtrInput `pulumi:"primary"` - // The private IP address of the IP configuration. - PrivateIPAddress pulumi.StringPtrInput `pulumi:"privateIPAddress"` - // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. - PrivateIPAddressVersion pulumi.StringPtrInput `pulumi:"privateIPAddressVersion"` - // The private IP address allocation method. - PrivateIPAllocationMethod pulumi.StringPtrInput `pulumi:"privateIPAllocationMethod"` - // The reference to the subnet resource. - Subnet SubnetTypePtrInput `pulumi:"subnet"` +func (P2SConnectionConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SConnectionConfiguration)(nil)).Elem() } -// Defaults sets the appropriate defaults for PrivateLinkServiceIpConfigurationArgs -func (val *PrivateLinkServiceIpConfigurationArgs) Defaults() *PrivateLinkServiceIpConfigurationArgs { - if val == nil { - return nil - } - tmp := *val - - return &tmp -} -func (PrivateLinkServiceIpConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceIpConfiguration)(nil)).Elem() +func (o P2SConnectionConfigurationArrayOutput) ToP2SConnectionConfigurationArrayOutput() P2SConnectionConfigurationArrayOutput { + return o } -func (i PrivateLinkServiceIpConfigurationArgs) ToPrivateLinkServiceIpConfigurationOutput() PrivateLinkServiceIpConfigurationOutput { - return i.ToPrivateLinkServiceIpConfigurationOutputWithContext(context.Background()) +func (o P2SConnectionConfigurationArrayOutput) ToP2SConnectionConfigurationArrayOutputWithContext(ctx context.Context) P2SConnectionConfigurationArrayOutput { + return o } -func (i PrivateLinkServiceIpConfigurationArgs) ToPrivateLinkServiceIpConfigurationOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceIpConfigurationOutput) +func (o P2SConnectionConfigurationArrayOutput) Index(i pulumi.IntInput) P2SConnectionConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SConnectionConfiguration { + return vs[0].([]P2SConnectionConfiguration)[vs[1].(int)] + }).(P2SConnectionConfigurationOutput) } -// PrivateLinkServiceIpConfigurationArrayInput is an input type that accepts PrivateLinkServiceIpConfigurationArray and PrivateLinkServiceIpConfigurationArrayOutput values. -// You can construct a concrete instance of `PrivateLinkServiceIpConfigurationArrayInput` via: -// -// PrivateLinkServiceIpConfigurationArray{ PrivateLinkServiceIpConfigurationArgs{...} } -type PrivateLinkServiceIpConfigurationArrayInput interface { - pulumi.Input - - ToPrivateLinkServiceIpConfigurationArrayOutput() PrivateLinkServiceIpConfigurationArrayOutput - ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(context.Context) PrivateLinkServiceIpConfigurationArrayOutput +// P2SConnectionConfiguration Resource. +type P2SConnectionConfigurationResponse struct { + // List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to. + ConfigurationPolicyGroupAssociations []SubResourceResponse `pulumi:"configurationPolicyGroupAssociations"` + // Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. + EnableInternetSecurity *bool `pulumi:"enableInternetSecurity"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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"` + // List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to. + PreviousConfigurationPolicyGroupAssociations []VpnServerConfigurationPolicyGroupResponse `pulumi:"previousConfigurationPolicyGroupAssociations"` + // The provisioning state of the P2SConnectionConfiguration resource. + ProvisioningState string `pulumi:"provisioningState"` + // The Routing Configuration indicating the associated and propagated route tables on this connection. + RoutingConfiguration *RoutingConfigurationResponse `pulumi:"routingConfiguration"` + // The reference to the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool *AddressSpaceResponse `pulumi:"vpnClientAddressPool"` } -type PrivateLinkServiceIpConfigurationArray []PrivateLinkServiceIpConfigurationInput +// P2SConnectionConfiguration Resource. +type P2SConnectionConfigurationResponseOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceIpConfigurationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateLinkServiceIpConfiguration)(nil)).Elem() +func (P2SConnectionConfigurationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SConnectionConfigurationResponse)(nil)).Elem() } -func (i PrivateLinkServiceIpConfigurationArray) ToPrivateLinkServiceIpConfigurationArrayOutput() PrivateLinkServiceIpConfigurationArrayOutput { - return i.ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(context.Background()) +func (o P2SConnectionConfigurationResponseOutput) ToP2SConnectionConfigurationResponseOutput() P2SConnectionConfigurationResponseOutput { + return o } -func (i PrivateLinkServiceIpConfigurationArray) ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceIpConfigurationArrayOutput) +func (o P2SConnectionConfigurationResponseOutput) ToP2SConnectionConfigurationResponseOutputWithContext(ctx context.Context) P2SConnectionConfigurationResponseOutput { + return o } -// The private link service ip configuration. -type PrivateLinkServiceIpConfigurationOutput struct{ *pulumi.OutputState } - -func (PrivateLinkServiceIpConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceIpConfiguration)(nil)).Elem() +// List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to. +func (o P2SConnectionConfigurationResponseOutput) ConfigurationPolicyGroupAssociations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) []SubResourceResponse { + return v.ConfigurationPolicyGroupAssociations + }).(SubResourceResponseArrayOutput) } -func (o PrivateLinkServiceIpConfigurationOutput) ToPrivateLinkServiceIpConfigurationOutput() PrivateLinkServiceIpConfigurationOutput { - return o +// Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not. +func (o P2SConnectionConfigurationResponseOutput) EnableInternetSecurity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) *bool { return v.EnableInternetSecurity }).(pulumi.BoolPtrOutput) } -func (o PrivateLinkServiceIpConfigurationOutput) ToPrivateLinkServiceIpConfigurationOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationOutput { - return o +// A unique read-only string that changes whenever the resource is updated. +func (o P2SConnectionConfigurationResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) } // Resource ID. -func (o PrivateLinkServiceIpConfigurationOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The name of private link service ip configuration. -func (o PrivateLinkServiceIpConfigurationOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o P2SConnectionConfigurationResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Whether the ip configuration is primary or not. -func (o PrivateLinkServiceIpConfigurationOutput) Primary() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *bool { return v.Primary }).(pulumi.BoolPtrOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SConnectionConfigurationResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The private IP address of the IP configuration. -func (o PrivateLinkServiceIpConfigurationOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +// List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to. +func (o P2SConnectionConfigurationResponseOutput) PreviousConfigurationPolicyGroupAssociations() VpnServerConfigurationPolicyGroupResponseArrayOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) []VpnServerConfigurationPolicyGroupResponse { + return v.PreviousConfigurationPolicyGroupAssociations + }).(VpnServerConfigurationPolicyGroupResponseArrayOutput) } -// Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. -func (o PrivateLinkServiceIpConfigurationOutput) PrivateIPAddressVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.PrivateIPAddressVersion }).(pulumi.StringPtrOutput) +// The provisioning state of the P2SConnectionConfiguration resource. +func (o P2SConnectionConfigurationResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The private IP address allocation method. -func (o PrivateLinkServiceIpConfigurationOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +// The Routing Configuration indicating the associated and propagated route tables on this connection. +func (o P2SConnectionConfigurationResponseOutput) RoutingConfiguration() RoutingConfigurationResponsePtrOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) *RoutingConfigurationResponse { + return v.RoutingConfiguration + }).(RoutingConfigurationResponsePtrOutput) } -// The reference to the subnet resource. -func (o PrivateLinkServiceIpConfigurationOutput) Subnet() SubnetTypePtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *SubnetType { return v.Subnet }).(SubnetTypePtrOutput) +// The reference to the address space resource which represents Address space for P2S VpnClient. +func (o P2SConnectionConfigurationResponseOutput) VpnClientAddressPool() AddressSpaceResponsePtrOutput { + return o.ApplyT(func(v P2SConnectionConfigurationResponse) *AddressSpaceResponse { return v.VpnClientAddressPool }).(AddressSpaceResponsePtrOutput) } -type PrivateLinkServiceIpConfigurationArrayOutput struct{ *pulumi.OutputState } +type P2SConnectionConfigurationResponseArrayOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceIpConfigurationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateLinkServiceIpConfiguration)(nil)).Elem() +func (P2SConnectionConfigurationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SConnectionConfigurationResponse)(nil)).Elem() } -func (o PrivateLinkServiceIpConfigurationArrayOutput) ToPrivateLinkServiceIpConfigurationArrayOutput() PrivateLinkServiceIpConfigurationArrayOutput { +func (o P2SConnectionConfigurationResponseArrayOutput) ToP2SConnectionConfigurationResponseArrayOutput() P2SConnectionConfigurationResponseArrayOutput { return o } -func (o PrivateLinkServiceIpConfigurationArrayOutput) ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationArrayOutput { +func (o P2SConnectionConfigurationResponseArrayOutput) ToP2SConnectionConfigurationResponseArrayOutputWithContext(ctx context.Context) P2SConnectionConfigurationResponseArrayOutput { return o } -func (o PrivateLinkServiceIpConfigurationArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceIpConfigurationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceIpConfiguration { - return vs[0].([]PrivateLinkServiceIpConfiguration)[vs[1].(int)] - }).(PrivateLinkServiceIpConfigurationOutput) +func (o P2SConnectionConfigurationResponseArrayOutput) Index(i pulumi.IntInput) P2SConnectionConfigurationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SConnectionConfigurationResponse { + return vs[0].([]P2SConnectionConfigurationResponse)[vs[1].(int)] + }).(P2SConnectionConfigurationResponseOutput) } -// The private link service ip configuration. -type PrivateLinkServiceIpConfigurationResponse struct { +// P2SVpnGateway Resource. +type P2SVpnGatewayResponse struct { + // List of all customer specified DNS servers IP addresses. + CustomDnsServers []string `pulumi:"customDnsServers"` // A unique read-only string that changes whenever the resource is updated. Etag string `pulumi:"etag"` // Resource ID. Id *string `pulumi:"id"` - // The name of private link service ip configuration. - Name *string `pulumi:"name"` - // Whether the ip configuration is primary or not. - Primary *bool `pulumi:"primary"` - // The private IP address of the IP configuration. - PrivateIPAddress *string `pulumi:"privateIPAddress"` - // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. - PrivateIPAddressVersion *string `pulumi:"privateIPAddressVersion"` - // The private IP address allocation method. - PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` - // The provisioning state of the private link service IP configuration resource. + // Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. + IsRoutingPreferenceInternet *bool `pulumi:"isRoutingPreferenceInternet"` + // Resource location. + Location string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // List of all p2s connection configurations of the gateway. + P2SConnectionConfigurations []P2SConnectionConfigurationResponse `pulumi:"p2SConnectionConfigurations"` + // The provisioning state of the P2S VPN gateway resource. ProvisioningState string `pulumi:"provisioningState"` - // The reference to the subnet resource. - Subnet *SubnetResponse `pulumi:"subnet"` - // The resource type. + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. Type string `pulumi:"type"` + // The VirtualHub to which the gateway belongs. + VirtualHub *SubResourceResponse `pulumi:"virtualHub"` + // All P2S VPN clients' connection health status. + VpnClientConnectionHealth VpnClientConnectionHealthResponse `pulumi:"vpnClientConnectionHealth"` + // The scale unit for this p2s vpn gateway. + VpnGatewayScaleUnit *int `pulumi:"vpnGatewayScaleUnit"` + // The VpnServerConfiguration to which the p2sVpnGateway is attached to. + VpnServerConfiguration *SubResourceResponse `pulumi:"vpnServerConfiguration"` } -// Defaults sets the appropriate defaults for PrivateLinkServiceIpConfigurationResponse -func (val *PrivateLinkServiceIpConfigurationResponse) Defaults() *PrivateLinkServiceIpConfigurationResponse { - if val == nil { - return nil - } - tmp := *val - tmp.Subnet = tmp.Subnet.Defaults() +// P2SVpnGateway Resource. +type P2SVpnGatewayResponseOutput struct{ *pulumi.OutputState } - return &tmp +func (P2SVpnGatewayResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnGatewayResponse)(nil)).Elem() } -// The private link service ip configuration. -type PrivateLinkServiceIpConfigurationResponseOutput struct{ *pulumi.OutputState } - -func (PrivateLinkServiceIpConfigurationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceIpConfigurationResponse)(nil)).Elem() +func (o P2SVpnGatewayResponseOutput) ToP2SVpnGatewayResponseOutput() P2SVpnGatewayResponseOutput { + return o } -func (o PrivateLinkServiceIpConfigurationResponseOutput) ToPrivateLinkServiceIpConfigurationResponseOutput() PrivateLinkServiceIpConfigurationResponseOutput { +func (o P2SVpnGatewayResponseOutput) ToP2SVpnGatewayResponseOutputWithContext(ctx context.Context) P2SVpnGatewayResponseOutput { return o } -func (o PrivateLinkServiceIpConfigurationResponseOutput) ToPrivateLinkServiceIpConfigurationResponseOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationResponseOutput { - return o +// List of all customer specified DNS servers IP addresses. +func (o P2SVpnGatewayResponseOutput) CustomDnsServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) []string { return v.CustomDnsServers }).(pulumi.StringArrayOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o PrivateLinkServiceIpConfigurationResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o P2SVpnGatewayResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Etag }).(pulumi.StringOutput) } // Resource ID. -func (o PrivateLinkServiceIpConfigurationResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o P2SVpnGatewayResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The name of private link service ip configuration. -func (o PrivateLinkServiceIpConfigurationResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway. +func (o P2SVpnGatewayResponseOutput) IsRoutingPreferenceInternet() pulumi.BoolPtrOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) *bool { return v.IsRoutingPreferenceInternet }).(pulumi.BoolPtrOutput) } -// Whether the ip configuration is primary or not. -func (o PrivateLinkServiceIpConfigurationResponseOutput) Primary() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *bool { return v.Primary }).(pulumi.BoolPtrOutput) +// Resource location. +func (o P2SVpnGatewayResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Location }).(pulumi.StringOutput) } -// The private IP address of the IP configuration. -func (o PrivateLinkServiceIpConfigurationResponseOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +// Resource name. +func (o P2SVpnGatewayResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Name }).(pulumi.StringOutput) } -// Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. -func (o PrivateLinkServiceIpConfigurationResponseOutput) PrivateIPAddressVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.PrivateIPAddressVersion }).(pulumi.StringPtrOutput) +// List of all p2s connection configurations of the gateway. +func (o P2SVpnGatewayResponseOutput) P2SConnectionConfigurations() P2SConnectionConfigurationResponseArrayOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) []P2SConnectionConfigurationResponse { + return v.P2SConnectionConfigurations + }).(P2SConnectionConfigurationResponseArrayOutput) } -// The private IP address allocation method. -func (o PrivateLinkServiceIpConfigurationResponseOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +// The provisioning state of the P2S VPN gateway resource. +func (o P2SVpnGatewayResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The provisioning state of the private link service IP configuration resource. -func (o PrivateLinkServiceIpConfigurationResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// Resource tags. +func (o P2SVpnGatewayResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// The reference to the subnet resource. -func (o PrivateLinkServiceIpConfigurationResponseOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +// Resource type. +func (o P2SVpnGatewayResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) string { return v.Type }).(pulumi.StringOutput) } -// The resource type. -func (o PrivateLinkServiceIpConfigurationResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) string { return v.Type }).(pulumi.StringOutput) +// The VirtualHub to which the gateway belongs. +func (o P2SVpnGatewayResponseOutput) VirtualHub() SubResourceResponsePtrOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) *SubResourceResponse { return v.VirtualHub }).(SubResourceResponsePtrOutput) +} + +// All P2S VPN clients' connection health status. +func (o P2SVpnGatewayResponseOutput) VpnClientConnectionHealth() VpnClientConnectionHealthResponseOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) VpnClientConnectionHealthResponse { return v.VpnClientConnectionHealth }).(VpnClientConnectionHealthResponseOutput) +} + +// The scale unit for this p2s vpn gateway. +func (o P2SVpnGatewayResponseOutput) VpnGatewayScaleUnit() pulumi.IntPtrOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) *int { return v.VpnGatewayScaleUnit }).(pulumi.IntPtrOutput) +} + +// The VpnServerConfiguration to which the p2sVpnGateway is attached to. +func (o P2SVpnGatewayResponseOutput) VpnServerConfiguration() SubResourceResponsePtrOutput { + return o.ApplyT(func(v P2SVpnGatewayResponse) *SubResourceResponse { return v.VpnServerConfiguration }).(SubResourceResponsePtrOutput) } -type PrivateLinkServiceIpConfigurationResponseArrayOutput struct{ *pulumi.OutputState } +type P2SVpnGatewayResponseArrayOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceIpConfigurationResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PrivateLinkServiceIpConfigurationResponse)(nil)).Elem() +func (P2SVpnGatewayResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnGatewayResponse)(nil)).Elem() } -func (o PrivateLinkServiceIpConfigurationResponseArrayOutput) ToPrivateLinkServiceIpConfigurationResponseArrayOutput() PrivateLinkServiceIpConfigurationResponseArrayOutput { +func (o P2SVpnGatewayResponseArrayOutput) ToP2SVpnGatewayResponseArrayOutput() P2SVpnGatewayResponseArrayOutput { return o } -func (o PrivateLinkServiceIpConfigurationResponseArrayOutput) ToPrivateLinkServiceIpConfigurationResponseArrayOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationResponseArrayOutput { +func (o P2SVpnGatewayResponseArrayOutput) ToP2SVpnGatewayResponseArrayOutputWithContext(ctx context.Context) P2SVpnGatewayResponseArrayOutput { return o } -func (o PrivateLinkServiceIpConfigurationResponseArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceIpConfigurationResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceIpConfigurationResponse { - return vs[0].([]PrivateLinkServiceIpConfigurationResponse)[vs[1].(int)] - }).(PrivateLinkServiceIpConfigurationResponseOutput) +func (o P2SVpnGatewayResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnGatewayResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnGatewayResponse { + return vs[0].([]P2SVpnGatewayResponse)[vs[1].(int)] + }).(P2SVpnGatewayResponseOutput) } -// The auto-approval list of the private link service. -type PrivateLinkServicePropertiesAutoApproval struct { - // The list of subscriptions. - Subscriptions []string `pulumi:"subscriptions"` +// Radius client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificate struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 Radius client root certificate thumbprint. + Thumbprint *string `pulumi:"thumbprint"` } -// PrivateLinkServicePropertiesAutoApprovalInput is an input type that accepts PrivateLinkServicePropertiesAutoApprovalArgs and PrivateLinkServicePropertiesAutoApprovalOutput values. -// You can construct a concrete instance of `PrivateLinkServicePropertiesAutoApprovalInput` via: +// P2SVpnServerConfigRadiusClientRootCertificateInput is an input type that accepts P2SVpnServerConfigRadiusClientRootCertificateArgs and P2SVpnServerConfigRadiusClientRootCertificateOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigRadiusClientRootCertificateInput` via: // -// PrivateLinkServicePropertiesAutoApprovalArgs{...} -type PrivateLinkServicePropertiesAutoApprovalInput interface { +// P2SVpnServerConfigRadiusClientRootCertificateArgs{...} +type P2SVpnServerConfigRadiusClientRootCertificateInput interface { pulumi.Input - ToPrivateLinkServicePropertiesAutoApprovalOutput() PrivateLinkServicePropertiesAutoApprovalOutput - ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(context.Context) PrivateLinkServicePropertiesAutoApprovalOutput -} - -// The auto-approval list of the private link service. -type PrivateLinkServicePropertiesAutoApprovalArgs struct { - // The list of subscriptions. - Subscriptions pulumi.StringArrayInput `pulumi:"subscriptions"` -} - -func (PrivateLinkServicePropertiesAutoApprovalArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() + ToP2SVpnServerConfigRadiusClientRootCertificateOutput() P2SVpnServerConfigRadiusClientRootCertificateOutput + ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(context.Context) P2SVpnServerConfigRadiusClientRootCertificateOutput } -func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalOutput() PrivateLinkServicePropertiesAutoApprovalOutput { - return i.ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(context.Background()) +// Radius client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificateArgs struct { + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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 Radius client root certificate thumbprint. + Thumbprint pulumi.StringPtrInput `pulumi:"thumbprint"` } -func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesAutoApprovalOutput) +func (P2SVpnServerConfigRadiusClientRootCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() } -func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return i.ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Background()) +func (i P2SVpnServerConfigRadiusClientRootCertificateArgs) ToP2SVpnServerConfigRadiusClientRootCertificateOutput() P2SVpnServerConfigRadiusClientRootCertificateOutput { + return i.ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(context.Background()) } -func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesAutoApprovalOutput).ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx) +func (i P2SVpnServerConfigRadiusClientRootCertificateArgs) ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusClientRootCertificateOutput) } -// PrivateLinkServicePropertiesAutoApprovalPtrInput is an input type that accepts PrivateLinkServicePropertiesAutoApprovalArgs, PrivateLinkServicePropertiesAutoApprovalPtr and PrivateLinkServicePropertiesAutoApprovalPtrOutput values. -// You can construct a concrete instance of `PrivateLinkServicePropertiesAutoApprovalPtrInput` via: -// -// PrivateLinkServicePropertiesAutoApprovalArgs{...} -// -// or: +// P2SVpnServerConfigRadiusClientRootCertificateArrayInput is an input type that accepts P2SVpnServerConfigRadiusClientRootCertificateArray and P2SVpnServerConfigRadiusClientRootCertificateArrayOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigRadiusClientRootCertificateArrayInput` via: // -// nil -type PrivateLinkServicePropertiesAutoApprovalPtrInput interface { +// P2SVpnServerConfigRadiusClientRootCertificateArray{ P2SVpnServerConfigRadiusClientRootCertificateArgs{...} } +type P2SVpnServerConfigRadiusClientRootCertificateArrayInput interface { pulumi.Input - ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput - ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput + ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput + ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigRadiusClientRootCertificateArrayOutput } -type privateLinkServicePropertiesAutoApprovalPtrType PrivateLinkServicePropertiesAutoApprovalArgs - -func PrivateLinkServicePropertiesAutoApprovalPtr(v *PrivateLinkServicePropertiesAutoApprovalArgs) PrivateLinkServicePropertiesAutoApprovalPtrInput { - return (*privateLinkServicePropertiesAutoApprovalPtrType)(v) -} +type P2SVpnServerConfigRadiusClientRootCertificateArray []P2SVpnServerConfigRadiusClientRootCertificateInput -func (*privateLinkServicePropertiesAutoApprovalPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() +func (P2SVpnServerConfigRadiusClientRootCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() } -func (i *privateLinkServicePropertiesAutoApprovalPtrType) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return i.ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Background()) +func (i P2SVpnServerConfigRadiusClientRootCertificateArray) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { + return i.ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(context.Background()) } -func (i *privateLinkServicePropertiesAutoApprovalPtrType) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) +func (i P2SVpnServerConfigRadiusClientRootCertificateArray) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) } -// The auto-approval list of the private link service. -type PrivateLinkServicePropertiesAutoApprovalOutput struct{ *pulumi.OutputState } +// Radius client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificateOutput struct{ *pulumi.OutputState } -func (PrivateLinkServicePropertiesAutoApprovalOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() +func (P2SVpnServerConfigRadiusClientRootCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() } -func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalOutput() PrivateLinkServicePropertiesAutoApprovalOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) ToP2SVpnServerConfigRadiusClientRootCertificateOutput() P2SVpnServerConfigRadiusClientRootCertificateOutput { return o } -func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) ToP2SVpnServerConfigRadiusClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateOutput { return o } -func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return o.ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Background()) -} - -func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServicePropertiesAutoApproval) *PrivateLinkServicePropertiesAutoApproval { - return &v - }).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) -} - -// The list of subscriptions. -func (o PrivateLinkServicePropertiesAutoApprovalOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServicePropertiesAutoApproval) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) -} - -type PrivateLinkServicePropertiesAutoApprovalPtrOutput struct{ *pulumi.OutputState } - -func (PrivateLinkServicePropertiesAutoApprovalPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) } -func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return o +// Resource ID. +func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { - return o +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) Elem() PrivateLinkServicePropertiesAutoApprovalOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesAutoApproval) PrivateLinkServicePropertiesAutoApproval { - if v != nil { - return *v - } - var ret PrivateLinkServicePropertiesAutoApproval - return ret - }).(PrivateLinkServicePropertiesAutoApprovalOutput) +// The Radius client root certificate thumbprint. +func (o P2SVpnServerConfigRadiusClientRootCertificateOutput) Thumbprint() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificate) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) } -// The list of subscriptions. -func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesAutoApproval) []string { - if v == nil { - return nil - } - return v.Subscriptions - }).(pulumi.StringArrayOutput) -} +type P2SVpnServerConfigRadiusClientRootCertificateArrayOutput struct{ *pulumi.OutputState } -// The auto-approval list of the private link service. -type PrivateLinkServicePropertiesResponseAutoApproval struct { - // The list of subscriptions. - Subscriptions []string `pulumi:"subscriptions"` +func (P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigRadiusClientRootCertificate)(nil)).Elem() } -// The auto-approval list of the private link service. -type PrivateLinkServicePropertiesResponseAutoApprovalOutput struct{ *pulumi.OutputState } - -func (PrivateLinkServicePropertiesResponseAutoApprovalOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServicePropertiesResponseAutoApproval)(nil)).Elem() +func (o P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { + return o } -func (o PrivateLinkServicePropertiesResponseAutoApprovalOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalOutput() PrivateLinkServicePropertiesResponseAutoApprovalOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { return o } -func (o PrivateLinkServicePropertiesResponseAutoApprovalOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseAutoApprovalOutput { - return o +func (o P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusClientRootCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusClientRootCertificate { + return vs[0].([]P2SVpnServerConfigRadiusClientRootCertificate)[vs[1].(int)] + }).(P2SVpnServerConfigRadiusClientRootCertificateOutput) } -// The list of subscriptions. -func (o PrivateLinkServicePropertiesResponseAutoApprovalOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServicePropertiesResponseAutoApproval) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) +// Radius client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificateResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 provisioning state of the radius client root certificate resource. + ProvisioningState string `pulumi:"provisioningState"` + // The Radius client root certificate thumbprint. + Thumbprint *string `pulumi:"thumbprint"` } -type PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput struct{ *pulumi.OutputState } +// Radius client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificateResponseOutput struct{ *pulumi.OutputState } -func (PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServicePropertiesResponseAutoApproval)(nil)).Elem() +func (P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigRadiusClientRootCertificateResponse)(nil)).Elem() } -func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalPtrOutput() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseOutput() P2SVpnServerConfigRadiusClientRootCertificateResponseOutput { return o } -func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateResponseOutput { return o } -func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) Elem() PrivateLinkServicePropertiesResponseAutoApprovalOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseAutoApproval) PrivateLinkServicePropertiesResponseAutoApproval { - if v != nil { - return *v - } - var ret PrivateLinkServicePropertiesResponseAutoApproval - return ret - }).(PrivateLinkServicePropertiesResponseAutoApprovalOutput) -} - -// The list of subscriptions. -func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseAutoApproval) []string { - if v == nil { - return nil - } - return v.Subscriptions - }).(pulumi.StringArrayOutput) -} - -// The visibility list of the private link service. -type PrivateLinkServicePropertiesResponseVisibility struct { - // The list of subscriptions. - Subscriptions []string `pulumi:"subscriptions"` +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// The visibility list of the private link service. -type PrivateLinkServicePropertiesResponseVisibilityOutput struct{ *pulumi.OutputState } - -func (PrivateLinkServicePropertiesResponseVisibilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServicePropertiesResponseVisibility)(nil)).Elem() +// Resource ID. +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o PrivateLinkServicePropertiesResponseVisibilityOutput) ToPrivateLinkServicePropertiesResponseVisibilityOutput() PrivateLinkServicePropertiesResponseVisibilityOutput { - return o +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o PrivateLinkServicePropertiesResponseVisibilityOutput) ToPrivateLinkServicePropertiesResponseVisibilityOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseVisibilityOutput { - return o +// The provisioning state of the radius client root certificate resource. +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The list of subscriptions. -func (o PrivateLinkServicePropertiesResponseVisibilityOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServicePropertiesResponseVisibility) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) +// The Radius client root certificate thumbprint. +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) Thumbprint() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusClientRootCertificateResponse) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) } -type PrivateLinkServicePropertiesResponseVisibilityPtrOutput struct{ *pulumi.OutputState } +type P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput struct{ *pulumi.OutputState } -func (PrivateLinkServicePropertiesResponseVisibilityPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServicePropertiesResponseVisibility)(nil)).Elem() +func (P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigRadiusClientRootCertificateResponse)(nil)).Elem() } -func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) ToPrivateLinkServicePropertiesResponseVisibilityPtrOutput() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput() P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput { return o } -func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) ToPrivateLinkServicePropertiesResponseVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseVisibilityPtrOutput { +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput { return o } -func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) Elem() PrivateLinkServicePropertiesResponseVisibilityOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseVisibility) PrivateLinkServicePropertiesResponseVisibility { - if v != nil { - return *v - } - var ret PrivateLinkServicePropertiesResponseVisibility - return ret - }).(PrivateLinkServicePropertiesResponseVisibilityOutput) -} - -// The list of subscriptions. -func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseVisibility) []string { - if v == nil { - return nil - } - return v.Subscriptions - }).(pulumi.StringArrayOutput) +func (o P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusClientRootCertificateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusClientRootCertificateResponse { + return vs[0].([]P2SVpnServerConfigRadiusClientRootCertificateResponse)[vs[1].(int)] + }).(P2SVpnServerConfigRadiusClientRootCertificateResponseOutput) } -// The visibility list of the private link service. -type PrivateLinkServicePropertiesVisibility struct { - // The list of subscriptions. - Subscriptions []string `pulumi:"subscriptions"` +// Radius Server root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificate struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 certificate public data. + PublicCertData string `pulumi:"publicCertData"` } -// PrivateLinkServicePropertiesVisibilityInput is an input type that accepts PrivateLinkServicePropertiesVisibilityArgs and PrivateLinkServicePropertiesVisibilityOutput values. -// You can construct a concrete instance of `PrivateLinkServicePropertiesVisibilityInput` via: +// P2SVpnServerConfigRadiusServerRootCertificateInput is an input type that accepts P2SVpnServerConfigRadiusServerRootCertificateArgs and P2SVpnServerConfigRadiusServerRootCertificateOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigRadiusServerRootCertificateInput` via: // -// PrivateLinkServicePropertiesVisibilityArgs{...} -type PrivateLinkServicePropertiesVisibilityInput interface { +// P2SVpnServerConfigRadiusServerRootCertificateArgs{...} +type P2SVpnServerConfigRadiusServerRootCertificateInput interface { pulumi.Input - ToPrivateLinkServicePropertiesVisibilityOutput() PrivateLinkServicePropertiesVisibilityOutput - ToPrivateLinkServicePropertiesVisibilityOutputWithContext(context.Context) PrivateLinkServicePropertiesVisibilityOutput -} - -// The visibility list of the private link service. -type PrivateLinkServicePropertiesVisibilityArgs struct { - // The list of subscriptions. - Subscriptions pulumi.StringArrayInput `pulumi:"subscriptions"` -} - -func (PrivateLinkServicePropertiesVisibilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServicePropertiesVisibility)(nil)).Elem() + ToP2SVpnServerConfigRadiusServerRootCertificateOutput() P2SVpnServerConfigRadiusServerRootCertificateOutput + ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(context.Context) P2SVpnServerConfigRadiusServerRootCertificateOutput } -func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityOutput() PrivateLinkServicePropertiesVisibilityOutput { - return i.ToPrivateLinkServicePropertiesVisibilityOutputWithContext(context.Background()) +// Radius Server root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificateArgs struct { + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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 certificate public data. + PublicCertData pulumi.StringInput `pulumi:"publicCertData"` } -func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesVisibilityOutput) +func (P2SVpnServerConfigRadiusServerRootCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() } -func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { - return i.ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Background()) +func (i P2SVpnServerConfigRadiusServerRootCertificateArgs) ToP2SVpnServerConfigRadiusServerRootCertificateOutput() P2SVpnServerConfigRadiusServerRootCertificateOutput { + return i.ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(context.Background()) } -func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesVisibilityOutput).ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx) +func (i P2SVpnServerConfigRadiusServerRootCertificateArgs) ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusServerRootCertificateOutput) } -// PrivateLinkServicePropertiesVisibilityPtrInput is an input type that accepts PrivateLinkServicePropertiesVisibilityArgs, PrivateLinkServicePropertiesVisibilityPtr and PrivateLinkServicePropertiesVisibilityPtrOutput values. -// You can construct a concrete instance of `PrivateLinkServicePropertiesVisibilityPtrInput` via: -// -// PrivateLinkServicePropertiesVisibilityArgs{...} -// -// or: +// P2SVpnServerConfigRadiusServerRootCertificateArrayInput is an input type that accepts P2SVpnServerConfigRadiusServerRootCertificateArray and P2SVpnServerConfigRadiusServerRootCertificateArrayOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigRadiusServerRootCertificateArrayInput` via: // -// nil -type PrivateLinkServicePropertiesVisibilityPtrInput interface { +// P2SVpnServerConfigRadiusServerRootCertificateArray{ P2SVpnServerConfigRadiusServerRootCertificateArgs{...} } +type P2SVpnServerConfigRadiusServerRootCertificateArrayInput interface { pulumi.Input - ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput - ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput + ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput + ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigRadiusServerRootCertificateArrayOutput } -type privateLinkServicePropertiesVisibilityPtrType PrivateLinkServicePropertiesVisibilityArgs - -func PrivateLinkServicePropertiesVisibilityPtr(v *PrivateLinkServicePropertiesVisibilityArgs) PrivateLinkServicePropertiesVisibilityPtrInput { - return (*privateLinkServicePropertiesVisibilityPtrType)(v) -} +type P2SVpnServerConfigRadiusServerRootCertificateArray []P2SVpnServerConfigRadiusServerRootCertificateInput -func (*privateLinkServicePropertiesVisibilityPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServicePropertiesVisibility)(nil)).Elem() +func (P2SVpnServerConfigRadiusServerRootCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() } -func (i *privateLinkServicePropertiesVisibilityPtrType) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { - return i.ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Background()) +func (i P2SVpnServerConfigRadiusServerRootCertificateArray) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { + return i.ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(context.Background()) } -func (i *privateLinkServicePropertiesVisibilityPtrType) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesVisibilityPtrOutput) +func (i P2SVpnServerConfigRadiusServerRootCertificateArray) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) } -// The visibility list of the private link service. -type PrivateLinkServicePropertiesVisibilityOutput struct{ *pulumi.OutputState } +// Radius Server root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificateOutput struct{ *pulumi.OutputState } -func (PrivateLinkServicePropertiesVisibilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServicePropertiesVisibility)(nil)).Elem() +func (P2SVpnServerConfigRadiusServerRootCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() } -func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityOutput() PrivateLinkServicePropertiesVisibilityOutput { +func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) ToP2SVpnServerConfigRadiusServerRootCertificateOutput() P2SVpnServerConfigRadiusServerRootCertificateOutput { return o } -func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityOutput { +func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) ToP2SVpnServerConfigRadiusServerRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateOutput { return o } -func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { - return o.ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Background()) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) } -func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServicePropertiesVisibility) *PrivateLinkServicePropertiesVisibility { - return &v - }).(PrivateLinkServicePropertiesVisibilityPtrOutput) +// Resource ID. +func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The list of subscriptions. -func (o PrivateLinkServicePropertiesVisibilityOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServicePropertiesVisibility) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) } -type PrivateLinkServicePropertiesVisibilityPtrOutput struct{ *pulumi.OutputState } - -func (PrivateLinkServicePropertiesVisibilityPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServicePropertiesVisibility)(nil)).Elem() +// The certificate public data. +func (o P2SVpnServerConfigRadiusServerRootCertificateOutput) PublicCertData() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificate) string { return v.PublicCertData }).(pulumi.StringOutput) } -func (o PrivateLinkServicePropertiesVisibilityPtrOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { - return o +type P2SVpnServerConfigRadiusServerRootCertificateArrayOutput struct{ *pulumi.OutputState } + +func (P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigRadiusServerRootCertificate)(nil)).Elem() } -func (o PrivateLinkServicePropertiesVisibilityPtrOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { +func (o P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { return o } -func (o PrivateLinkServicePropertiesVisibilityPtrOutput) Elem() PrivateLinkServicePropertiesVisibilityOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesVisibility) PrivateLinkServicePropertiesVisibility { - if v != nil { - return *v - } - var ret PrivateLinkServicePropertiesVisibility - return ret - }).(PrivateLinkServicePropertiesVisibilityOutput) +func (o P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { + return o } -// The list of subscriptions. -func (o PrivateLinkServicePropertiesVisibilityPtrOutput) Subscriptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PrivateLinkServicePropertiesVisibility) []string { - if v == nil { - return nil - } - return v.Subscriptions - }).(pulumi.StringArrayOutput) +func (o P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusServerRootCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusServerRootCertificate { + return vs[0].([]P2SVpnServerConfigRadiusServerRootCertificate)[vs[1].(int)] + }).(P2SVpnServerConfigRadiusServerRootCertificateOutput) } -// Private link service resource. -type PrivateLinkServiceResponse struct { - // The access mode of the private link service. - AccessMode *string `pulumi:"accessMode"` - // The alias of the private link service. - Alias string `pulumi:"alias"` - // The auto-approval list of the private link service. - AutoApproval *PrivateLinkServicePropertiesResponseAutoApproval `pulumi:"autoApproval"` - // The destination IP address of the private link service. - DestinationIPAddress *string `pulumi:"destinationIPAddress"` - // Whether the private link service is enabled for proxy protocol or not. - EnableProxyProtocol *bool `pulumi:"enableProxyProtocol"` +// Radius Server root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificateResponse struct { // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // The extended location of the load balancer. - ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` - // The list of Fqdn. - Fqdns []string `pulumi:"fqdns"` + Etag *string `pulumi:"etag"` // Resource ID. Id *string `pulumi:"id"` - // An array of private link service IP configurations. - IpConfigurations []PrivateLinkServiceIpConfigurationResponse `pulumi:"ipConfigurations"` - // An array of references to the load balancer IP configurations. - LoadBalancerFrontendIpConfigurations []FrontendIPConfigurationResponse `pulumi:"loadBalancerFrontendIpConfigurations"` - // Resource location. - Location *string `pulumi:"location"` - // Resource name. - Name string `pulumi:"name"` - // An array of references to the network interfaces created for this private link service. - NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` - // An array of list about connections to the private endpoint. - PrivateEndpointConnections []PrivateEndpointConnectionResponse `pulumi:"privateEndpointConnections"` - // The provisioning state of the private link service resource. + // 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 provisioning state of the radius server root certificate resource. ProvisioningState string `pulumi:"provisioningState"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // Resource type. - Type string `pulumi:"type"` - // The visibility list of the private link service. - Visibility *PrivateLinkServicePropertiesResponseVisibility `pulumi:"visibility"` + // The certificate public data. + PublicCertData string `pulumi:"publicCertData"` } -// Private link service resource. -type PrivateLinkServiceResponseOutput struct{ *pulumi.OutputState } +// Radius Server root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificateResponseOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkServiceResponse)(nil)).Elem() +func (P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigRadiusServerRootCertificateResponse)(nil)).Elem() } -func (o PrivateLinkServiceResponseOutput) ToPrivateLinkServiceResponseOutput() PrivateLinkServiceResponseOutput { +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseOutput() P2SVpnServerConfigRadiusServerRootCertificateResponseOutput { return o } -func (o PrivateLinkServiceResponseOutput) ToPrivateLinkServiceResponseOutputWithContext(ctx context.Context) PrivateLinkServiceResponseOutput { +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateResponseOutput { return o } -// The access mode of the private link service. -func (o PrivateLinkServiceResponseOutput) AccessMode() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.AccessMode }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// The alias of the private link service. -func (o PrivateLinkServiceResponseOutput) Alias() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Alias }).(pulumi.StringOutput) +// Resource ID. +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The auto-approval list of the private link service. -func (o PrivateLinkServiceResponseOutput) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseAutoApproval { - return v.AutoApproval - }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The destination IP address of the private link service. -func (o PrivateLinkServiceResponseOutput) DestinationIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.DestinationIPAddress }).(pulumi.StringPtrOutput) +// The provisioning state of the radius server root certificate resource. +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Whether the private link service is enabled for proxy protocol or not. -func (o PrivateLinkServiceResponseOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *bool { return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) +// The certificate public data. +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) PublicCertData() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigRadiusServerRootCertificateResponse) string { return v.PublicCertData }).(pulumi.StringOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o PrivateLinkServiceResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Etag }).(pulumi.StringOutput) +type P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput struct{ *pulumi.OutputState } + +func (P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigRadiusServerRootCertificateResponse)(nil)).Elem() } -// The extended location of the load balancer. -func (o PrivateLinkServiceResponseOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput() P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput { + return o } -// The list of Fqdn. -func (o PrivateLinkServiceResponseOutput) Fqdns() pulumi.StringArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) []string { return v.Fqdns }).(pulumi.StringArrayOutput) +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) ToP2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput { + return o } -// Resource ID. -func (o PrivateLinkServiceResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigRadiusServerRootCertificateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigRadiusServerRootCertificateResponse { + return vs[0].([]P2SVpnServerConfigRadiusServerRootCertificateResponse)[vs[1].(int)] + }).(P2SVpnServerConfigRadiusServerRootCertificateResponseOutput) } -// An array of private link service IP configurations. -func (o PrivateLinkServiceResponseOutput) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) []PrivateLinkServiceIpConfigurationResponse { - return v.IpConfigurations - }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) +// VPN client revoked certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificate struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 revoked VPN client certificate thumbprint. + Thumbprint *string `pulumi:"thumbprint"` } -// An array of references to the load balancer IP configurations. -func (o PrivateLinkServiceResponseOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) []FrontendIPConfigurationResponse { - return v.LoadBalancerFrontendIpConfigurations - }).(FrontendIPConfigurationResponseArrayOutput) +// P2SVpnServerConfigVpnClientRevokedCertificateInput is an input type that accepts P2SVpnServerConfigVpnClientRevokedCertificateArgs and P2SVpnServerConfigVpnClientRevokedCertificateOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRevokedCertificateInput` via: +// +// P2SVpnServerConfigVpnClientRevokedCertificateArgs{...} +type P2SVpnServerConfigVpnClientRevokedCertificateInput interface { + pulumi.Input + + ToP2SVpnServerConfigVpnClientRevokedCertificateOutput() P2SVpnServerConfigVpnClientRevokedCertificateOutput + ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRevokedCertificateOutput } -// Resource location. -func (o PrivateLinkServiceResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +// VPN client revoked certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificateArgs struct { + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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 revoked VPN client certificate thumbprint. + Thumbprint pulumi.StringPtrInput `pulumi:"thumbprint"` } -// Resource name. -func (o PrivateLinkServiceResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Name }).(pulumi.StringOutput) +func (P2SVpnServerConfigVpnClientRevokedCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() } -// An array of references to the network interfaces created for this private link service. -func (o PrivateLinkServiceResponseOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) +func (i P2SVpnServerConfigVpnClientRevokedCertificateArgs) ToP2SVpnServerConfigVpnClientRevokedCertificateOutput() P2SVpnServerConfigVpnClientRevokedCertificateOutput { + return i.ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(context.Background()) } -// An array of list about connections to the private endpoint. -func (o PrivateLinkServiceResponseOutput) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) []PrivateEndpointConnectionResponse { - return v.PrivateEndpointConnections - }).(PrivateEndpointConnectionResponseArrayOutput) +func (i P2SVpnServerConfigVpnClientRevokedCertificateArgs) ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRevokedCertificateOutput) } -// The provisioning state of the private link service resource. -func (o PrivateLinkServiceResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// P2SVpnServerConfigVpnClientRevokedCertificateArrayInput is an input type that accepts P2SVpnServerConfigVpnClientRevokedCertificateArray and P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRevokedCertificateArrayInput` via: +// +// P2SVpnServerConfigVpnClientRevokedCertificateArray{ P2SVpnServerConfigVpnClientRevokedCertificateArgs{...} } +type P2SVpnServerConfigVpnClientRevokedCertificateArrayInput interface { + pulumi.Input + + ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput + ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput } -// Resource tags. -func (o PrivateLinkServiceResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +type P2SVpnServerConfigVpnClientRevokedCertificateArray []P2SVpnServerConfigVpnClientRevokedCertificateInput + +func (P2SVpnServerConfigVpnClientRevokedCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() } -// Resource type. -func (o PrivateLinkServiceResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Type }).(pulumi.StringOutput) +func (i P2SVpnServerConfigVpnClientRevokedCertificateArray) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { + return i.ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(context.Background()) } -// The visibility list of the private link service. -func (o PrivateLinkServiceResponseOutput) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { - return o.ApplyT(func(v PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseVisibility { - return v.Visibility - }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) +func (i P2SVpnServerConfigVpnClientRevokedCertificateArray) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) } -type PrivateLinkServiceResponsePtrOutput struct{ *pulumi.OutputState } +// VPN client revoked certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificateOutput struct{ *pulumi.OutputState } -func (PrivateLinkServiceResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkServiceResponse)(nil)).Elem() +func (P2SVpnServerConfigVpnClientRevokedCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() } -func (o PrivateLinkServiceResponsePtrOutput) ToPrivateLinkServiceResponsePtrOutput() PrivateLinkServiceResponsePtrOutput { +func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateOutput() P2SVpnServerConfigVpnClientRevokedCertificateOutput { return o } -func (o PrivateLinkServiceResponsePtrOutput) ToPrivateLinkServiceResponsePtrOutputWithContext(ctx context.Context) PrivateLinkServiceResponsePtrOutput { +func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateOutput { return o } -func (o PrivateLinkServiceResponsePtrOutput) Elem() PrivateLinkServiceResponseOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) PrivateLinkServiceResponse { - if v != nil { - return *v - } - var ret PrivateLinkServiceResponse - return ret - }).(PrivateLinkServiceResponseOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// The access mode of the private link service. -func (o PrivateLinkServiceResponsePtrOutput) AccessMode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return v.AccessMode - }).(pulumi.StringPtrOutput) +// Resource ID. +func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The alias of the private link service. -func (o PrivateLinkServiceResponsePtrOutput) Alias() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return &v.Alias - }).(pulumi.StringPtrOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The auto-approval list of the private link service. -func (o PrivateLinkServiceResponsePtrOutput) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseAutoApproval { - if v == nil { - return nil - } - return v.AutoApproval - }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) +// The revoked VPN client certificate thumbprint. +func (o P2SVpnServerConfigVpnClientRevokedCertificateOutput) Thumbprint() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificate) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) } -// The destination IP address of the private link service. -func (o PrivateLinkServiceResponsePtrOutput) DestinationIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return v.DestinationIPAddress - }).(pulumi.StringPtrOutput) +type P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput struct{ *pulumi.OutputState } + +func (P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRevokedCertificate)(nil)).Elem() } -// Whether the private link service is enabled for proxy protocol or not. -func (o PrivateLinkServiceResponsePtrOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *bool { - if v == nil { - return nil - } - return v.EnableProxyProtocol - }).(pulumi.BoolPtrOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { + return o } -// A unique read-only string that changes whenever the resource is updated. -func (o PrivateLinkServiceResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return &v.Etag - }).(pulumi.StringPtrOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { + return o } -// The extended location of the load balancer. -func (o PrivateLinkServiceResponsePtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *ExtendedLocationResponse { - if v == nil { - return nil - } - return v.ExtendedLocation - }).(ExtendedLocationResponsePtrOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRevokedCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRevokedCertificate { + return vs[0].([]P2SVpnServerConfigVpnClientRevokedCertificate)[vs[1].(int)] + }).(P2SVpnServerConfigVpnClientRevokedCertificateOutput) } -// The list of Fqdn. -func (o PrivateLinkServiceResponsePtrOutput) Fqdns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) []string { - if v == nil { - return nil - } - return v.Fqdns - }).(pulumi.StringArrayOutput) +// VPN client revoked certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificateResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 provisioning state of the VPN client revoked certificate resource. + ProvisioningState string `pulumi:"provisioningState"` + // The revoked VPN client certificate thumbprint. + Thumbprint *string `pulumi:"thumbprint"` } -// Resource ID. -func (o PrivateLinkServiceResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +// VPN client revoked certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput struct{ *pulumi.OutputState } + +func (P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigVpnClientRevokedCertificateResponse)(nil)).Elem() } -// An array of private link service IP configurations. -func (o PrivateLinkServiceResponsePtrOutput) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) []PrivateLinkServiceIpConfigurationResponse { - if v == nil { - return nil - } - return v.IpConfigurations - }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseOutput() P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput { + return o } -// An array of references to the load balancer IP configurations. -func (o PrivateLinkServiceResponsePtrOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) []FrontendIPConfigurationResponse { - if v == nil { - return nil - } - return v.LoadBalancerFrontendIpConfigurations - }).(FrontendIPConfigurationResponseArrayOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput { + return o } -// Resource location. -func (o PrivateLinkServiceResponsePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// Resource name. -func (o PrivateLinkServiceResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return &v.Name - }).(pulumi.StringPtrOutput) +// Resource ID. +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// An array of references to the network interfaces created for this private link service. -func (o PrivateLinkServiceResponsePtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) []NetworkInterfaceResponse { - if v == nil { - return nil - } - return v.NetworkInterfaces - }).(NetworkInterfaceResponseArrayOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// An array of list about connections to the private endpoint. -func (o PrivateLinkServiceResponsePtrOutput) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) []PrivateEndpointConnectionResponse { - if v == nil { - return nil - } - return v.PrivateEndpointConnections - }).(PrivateEndpointConnectionResponseArrayOutput) +// The provisioning state of the VPN client revoked certificate resource. +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The provisioning state of the private link service resource. -func (o PrivateLinkServiceResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return &v.ProvisioningState - }).(pulumi.StringPtrOutput) +// The revoked VPN client certificate thumbprint. +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) Thumbprint() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRevokedCertificateResponse) *string { return v.Thumbprint }).(pulumi.StringPtrOutput) } -// Resource tags. -func (o PrivateLinkServiceResponsePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) +type P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput struct{ *pulumi.OutputState } + +func (P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRevokedCertificateResponse)(nil)).Elem() } -// Resource type. -func (o PrivateLinkServiceResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { - if v == nil { - return nil - } - return &v.Type - }).(pulumi.StringPtrOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput() P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput { + return o } -// The visibility list of the private link service. -func (o PrivateLinkServiceResponsePtrOutput) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { - return o.ApplyT(func(v *PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseVisibility { - if v == nil { - return nil - } - return v.Visibility - }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput { + return o +} + +func (o P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRevokedCertificateResponse { + return vs[0].([]P2SVpnServerConfigVpnClientRevokedCertificateResponse)[vs[1].(int)] + }).(P2SVpnServerConfigVpnClientRevokedCertificateResponseOutput) } -// A load balancer probe. -type Probe struct { +// VPN client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificate struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` // Resource ID. Id *string `pulumi:"id"` - // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. - IntervalInSeconds *int `pulumi:"intervalInSeconds"` - // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + // 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"` - // Determines how new connections are handled by the load balancer when all backend instances are probed down. - NoHealthyBackendsBehavior *string `pulumi:"noHealthyBackendsBehavior"` - // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. - NumberOfProbes *int `pulumi:"numberOfProbes"` - // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. - Port int `pulumi:"port"` - // The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. - ProbeThreshold *int `pulumi:"probeThreshold"` - // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. - Protocol string `pulumi:"protocol"` - // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. - RequestPath *string `pulumi:"requestPath"` + // The certificate public data. + PublicCertData string `pulumi:"publicCertData"` } -// ProbeInput is an input type that accepts ProbeArgs and ProbeOutput values. -// You can construct a concrete instance of `ProbeInput` via: +// P2SVpnServerConfigVpnClientRootCertificateInput is an input type that accepts P2SVpnServerConfigVpnClientRootCertificateArgs and P2SVpnServerConfigVpnClientRootCertificateOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRootCertificateInput` via: // -// ProbeArgs{...} -type ProbeInput interface { +// P2SVpnServerConfigVpnClientRootCertificateArgs{...} +type P2SVpnServerConfigVpnClientRootCertificateInput interface { pulumi.Input - ToProbeOutput() ProbeOutput - ToProbeOutputWithContext(context.Context) ProbeOutput + ToP2SVpnServerConfigVpnClientRootCertificateOutput() P2SVpnServerConfigVpnClientRootCertificateOutput + ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRootCertificateOutput } -// A load balancer probe. -type ProbeArgs struct { +// VPN client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificateArgs struct { + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` // Resource ID. Id pulumi.StringPtrInput `pulumi:"id"` - // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. - IntervalInSeconds pulumi.IntPtrInput `pulumi:"intervalInSeconds"` - // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + // 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"` - // Determines how new connections are handled by the load balancer when all backend instances are probed down. - NoHealthyBackendsBehavior pulumi.StringPtrInput `pulumi:"noHealthyBackendsBehavior"` - // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. - NumberOfProbes pulumi.IntPtrInput `pulumi:"numberOfProbes"` - // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. - Port pulumi.IntInput `pulumi:"port"` - // The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. - ProbeThreshold pulumi.IntPtrInput `pulumi:"probeThreshold"` - // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. - Protocol pulumi.StringInput `pulumi:"protocol"` - // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. - RequestPath pulumi.StringPtrInput `pulumi:"requestPath"` + // The certificate public data. + PublicCertData pulumi.StringInput `pulumi:"publicCertData"` } -func (ProbeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*Probe)(nil)).Elem() +func (P2SVpnServerConfigVpnClientRootCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() } -func (i ProbeArgs) ToProbeOutput() ProbeOutput { - return i.ToProbeOutputWithContext(context.Background()) +func (i P2SVpnServerConfigVpnClientRootCertificateArgs) ToP2SVpnServerConfigVpnClientRootCertificateOutput() P2SVpnServerConfigVpnClientRootCertificateOutput { + return i.ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(context.Background()) } -func (i ProbeArgs) ToProbeOutputWithContext(ctx context.Context) ProbeOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProbeOutput) +func (i P2SVpnServerConfigVpnClientRootCertificateArgs) ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRootCertificateOutput) } -// ProbeArrayInput is an input type that accepts ProbeArray and ProbeArrayOutput values. -// You can construct a concrete instance of `ProbeArrayInput` via: +// P2SVpnServerConfigVpnClientRootCertificateArrayInput is an input type that accepts P2SVpnServerConfigVpnClientRootCertificateArray and P2SVpnServerConfigVpnClientRootCertificateArrayOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigVpnClientRootCertificateArrayInput` via: // -// ProbeArray{ ProbeArgs{...} } -type ProbeArrayInput interface { +// P2SVpnServerConfigVpnClientRootCertificateArray{ P2SVpnServerConfigVpnClientRootCertificateArgs{...} } +type P2SVpnServerConfigVpnClientRootCertificateArrayInput interface { pulumi.Input - ToProbeArrayOutput() ProbeArrayOutput - ToProbeArrayOutputWithContext(context.Context) ProbeArrayOutput + ToP2SVpnServerConfigVpnClientRootCertificateArrayOutput() P2SVpnServerConfigVpnClientRootCertificateArrayOutput + ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(context.Context) P2SVpnServerConfigVpnClientRootCertificateArrayOutput } -type ProbeArray []ProbeInput +type P2SVpnServerConfigVpnClientRootCertificateArray []P2SVpnServerConfigVpnClientRootCertificateInput -func (ProbeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]Probe)(nil)).Elem() +func (P2SVpnServerConfigVpnClientRootCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() } -func (i ProbeArray) ToProbeArrayOutput() ProbeArrayOutput { - return i.ToProbeArrayOutputWithContext(context.Background()) +func (i P2SVpnServerConfigVpnClientRootCertificateArray) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutput() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { + return i.ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(context.Background()) } -func (i ProbeArray) ToProbeArrayOutputWithContext(ctx context.Context) ProbeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProbeArrayOutput) +func (i P2SVpnServerConfigVpnClientRootCertificateArray) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigVpnClientRootCertificateArrayOutput) } -// A load balancer probe. -type ProbeOutput struct{ *pulumi.OutputState } +// VPN client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificateOutput struct{ *pulumi.OutputState } -func (ProbeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Probe)(nil)).Elem() +func (P2SVpnServerConfigVpnClientRootCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() } -func (o ProbeOutput) ToProbeOutput() ProbeOutput { +func (o P2SVpnServerConfigVpnClientRootCertificateOutput) ToP2SVpnServerConfigVpnClientRootCertificateOutput() P2SVpnServerConfigVpnClientRootCertificateOutput { return o } -func (o ProbeOutput) ToProbeOutputWithContext(ctx context.Context) ProbeOutput { +func (o P2SVpnServerConfigVpnClientRootCertificateOutput) ToP2SVpnServerConfigVpnClientRootCertificateOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateOutput { return o } -// Resource ID. -func (o ProbeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v Probe) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. -func (o ProbeOutput) IntervalInSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v Probe) *int { return v.IntervalInSeconds }).(pulumi.IntPtrOutput) -} - -// The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. -func (o ProbeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v Probe) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// Determines how new connections are handled by the load balancer when all backend instances are probed down. -func (o ProbeOutput) NoHealthyBackendsBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v Probe) *string { return v.NoHealthyBackendsBehavior }).(pulumi.StringPtrOutput) -} - -// The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. -func (o ProbeOutput) NumberOfProbes() pulumi.IntPtrOutput { - return o.ApplyT(func(v Probe) *int { return v.NumberOfProbes }).(pulumi.IntPtrOutput) -} - -// The port for communicating the probe. Possible values range from 1 to 65535, inclusive. -func (o ProbeOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v Probe) int { return v.Port }).(pulumi.IntOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigVpnClientRootCertificateOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) *string { return v.Etag }).(pulumi.StringPtrOutput) } -// The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. -func (o ProbeOutput) ProbeThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v Probe) *int { return v.ProbeThreshold }).(pulumi.IntPtrOutput) +// Resource ID. +func (o P2SVpnServerConfigVpnClientRootCertificateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. -func (o ProbeOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v Probe) string { return v.Protocol }).(pulumi.StringOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigVpnClientRootCertificateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. -func (o ProbeOutput) RequestPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v Probe) *string { return v.RequestPath }).(pulumi.StringPtrOutput) +// The certificate public data. +func (o P2SVpnServerConfigVpnClientRootCertificateOutput) PublicCertData() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificate) string { return v.PublicCertData }).(pulumi.StringOutput) } -type ProbeArrayOutput struct{ *pulumi.OutputState } +type P2SVpnServerConfigVpnClientRootCertificateArrayOutput struct{ *pulumi.OutputState } -func (ProbeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]Probe)(nil)).Elem() +func (P2SVpnServerConfigVpnClientRootCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRootCertificate)(nil)).Elem() } -func (o ProbeArrayOutput) ToProbeArrayOutput() ProbeArrayOutput { +func (o P2SVpnServerConfigVpnClientRootCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutput() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { return o } -func (o ProbeArrayOutput) ToProbeArrayOutputWithContext(ctx context.Context) ProbeArrayOutput { +func (o P2SVpnServerConfigVpnClientRootCertificateArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateArrayOutput { return o } -func (o ProbeArrayOutput) Index(i pulumi.IntInput) ProbeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) Probe { - return vs[0].([]Probe)[vs[1].(int)] - }).(ProbeOutput) +func (o P2SVpnServerConfigVpnClientRootCertificateArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRootCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRootCertificate { + return vs[0].([]P2SVpnServerConfigVpnClientRootCertificate)[vs[1].(int)] + }).(P2SVpnServerConfigVpnClientRootCertificateOutput) } -// A load balancer probe. -type ProbeResponse struct { +// VPN client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificateResponse struct { // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` + Etag *string `pulumi:"etag"` // Resource ID. Id *string `pulumi:"id"` - // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. - IntervalInSeconds *int `pulumi:"intervalInSeconds"` - // The load balancer rules that use this probe. - LoadBalancingRules []SubResourceResponse `pulumi:"loadBalancingRules"` - // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + // 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"` - // Determines how new connections are handled by the load balancer when all backend instances are probed down. - NoHealthyBackendsBehavior *string `pulumi:"noHealthyBackendsBehavior"` - // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. - NumberOfProbes *int `pulumi:"numberOfProbes"` - // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. - Port int `pulumi:"port"` - // The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. - ProbeThreshold *int `pulumi:"probeThreshold"` - // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. - Protocol string `pulumi:"protocol"` - // The provisioning state of the probe resource. + // The provisioning state of the VPN client root certificate resource. ProvisioningState string `pulumi:"provisioningState"` - // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. - RequestPath *string `pulumi:"requestPath"` - // Type of the resource. - Type string `pulumi:"type"` + // The certificate public data. + PublicCertData string `pulumi:"publicCertData"` } -// A load balancer probe. -type ProbeResponseOutput struct{ *pulumi.OutputState } +// VPN client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificateResponseOutput struct{ *pulumi.OutputState } -func (ProbeResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ProbeResponse)(nil)).Elem() +func (P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigVpnClientRootCertificateResponse)(nil)).Elem() } -func (o ProbeResponseOutput) ToProbeResponseOutput() ProbeResponseOutput { +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseOutput() P2SVpnServerConfigVpnClientRootCertificateResponseOutput { return o } -func (o ProbeResponseOutput) ToProbeResponseOutputWithContext(ctx context.Context) ProbeResponseOutput { +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateResponseOutput { return o } // A unique read-only string that changes whenever the resource is updated. -func (o ProbeResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v ProbeResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) } // Resource ID. -func (o ProbeResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProbeResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. -func (o ProbeResponseOutput) IntervalInSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v ProbeResponse) *int { return v.IntervalInSeconds }).(pulumi.IntPtrOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The load balancer rules that use this probe. -func (o ProbeResponseOutput) LoadBalancingRules() SubResourceResponseArrayOutput { - return o.ApplyT(func(v ProbeResponse) []SubResourceResponse { return v.LoadBalancingRules }).(SubResourceResponseArrayOutput) +// The provisioning state of the VPN client root certificate resource. +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. -func (o ProbeResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProbeResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The certificate public data. +func (o P2SVpnServerConfigVpnClientRootCertificateResponseOutput) PublicCertData() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigVpnClientRootCertificateResponse) string { return v.PublicCertData }).(pulumi.StringOutput) } -// Determines how new connections are handled by the load balancer when all backend instances are probed down. -func (o ProbeResponseOutput) NoHealthyBackendsBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProbeResponse) *string { return v.NoHealthyBackendsBehavior }).(pulumi.StringPtrOutput) -} +type P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput struct{ *pulumi.OutputState } -// The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. -func (o ProbeResponseOutput) NumberOfProbes() pulumi.IntPtrOutput { - return o.ApplyT(func(v ProbeResponse) *int { return v.NumberOfProbes }).(pulumi.IntPtrOutput) +func (P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]P2SVpnServerConfigVpnClientRootCertificateResponse)(nil)).Elem() } -// The port for communicating the probe. Possible values range from 1 to 65535, inclusive. -func (o ProbeResponseOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v ProbeResponse) int { return v.Port }).(pulumi.IntOutput) +func (o P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput() P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput { + return o } -// The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. -func (o ProbeResponseOutput) ProbeThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v ProbeResponse) *int { return v.ProbeThreshold }).(pulumi.IntPtrOutput) +func (o P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) ToP2SVpnServerConfigVpnClientRootCertificateResponseArrayOutputWithContext(ctx context.Context) P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput { + return o } -// The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. -func (o ProbeResponseOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v ProbeResponse) string { return v.Protocol }).(pulumi.StringOutput) +func (o P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) Index(i pulumi.IntInput) P2SVpnServerConfigVpnClientRootCertificateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) P2SVpnServerConfigVpnClientRootCertificateResponse { + return vs[0].([]P2SVpnServerConfigVpnClientRootCertificateResponse)[vs[1].(int)] + }).(P2SVpnServerConfigVpnClientRootCertificateResponseOutput) } -// The provisioning state of the probe resource. -func (o ProbeResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ProbeResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// Parameters for P2SVpnServerConfiguration. +type P2SVpnServerConfigurationProperties struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + Name *string `pulumi:"name"` + // Radius client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusClientRootCertificates []P2SVpnServerConfigRadiusClientRootCertificate `pulumi:"p2SVpnServerConfigRadiusClientRootCertificates"` + // Radius Server root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusServerRootCertificates []P2SVpnServerConfigRadiusServerRootCertificate `pulumi:"p2SVpnServerConfigRadiusServerRootCertificates"` + // VPN client revoked certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRevokedCertificates []P2SVpnServerConfigVpnClientRevokedCertificate `pulumi:"p2SVpnServerConfigVpnClientRevokedCertificates"` + // VPN client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRootCertificates []P2SVpnServerConfigVpnClientRootCertificate `pulumi:"p2SVpnServerConfigVpnClientRootCertificates"` + // The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerAddress *string `pulumi:"radiusServerAddress"` + // The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerSecret *string `pulumi:"radiusServerSecret"` + // VpnClientIpsecPolicies for P2SVpnServerConfiguration. + VpnClientIpsecPolicies []IpsecPolicy `pulumi:"vpnClientIpsecPolicies"` + // VPN protocols for the P2SVpnServerConfiguration. + VpnProtocols []string `pulumi:"vpnProtocols"` } -// The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. -func (o ProbeResponseOutput) RequestPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProbeResponse) *string { return v.RequestPath }).(pulumi.StringPtrOutput) -} +// P2SVpnServerConfigurationPropertiesInput is an input type that accepts P2SVpnServerConfigurationPropertiesArgs and P2SVpnServerConfigurationPropertiesOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigurationPropertiesInput` via: +// +// P2SVpnServerConfigurationPropertiesArgs{...} +type P2SVpnServerConfigurationPropertiesInput interface { + pulumi.Input -// Type of the resource. -func (o ProbeResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v ProbeResponse) string { return v.Type }).(pulumi.StringOutput) + ToP2SVpnServerConfigurationPropertiesOutput() P2SVpnServerConfigurationPropertiesOutput + ToP2SVpnServerConfigurationPropertiesOutputWithContext(context.Context) P2SVpnServerConfigurationPropertiesOutput } -type ProbeResponseArrayOutput struct{ *pulumi.OutputState } +// Parameters for P2SVpnServerConfiguration. +type P2SVpnServerConfigurationPropertiesArgs struct { + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + Name pulumi.StringPtrInput `pulumi:"name"` + // Radius client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusClientRootCertificates P2SVpnServerConfigRadiusClientRootCertificateArrayInput `pulumi:"p2SVpnServerConfigRadiusClientRootCertificates"` + // Radius Server root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusServerRootCertificates P2SVpnServerConfigRadiusServerRootCertificateArrayInput `pulumi:"p2SVpnServerConfigRadiusServerRootCertificates"` + // VPN client revoked certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRevokedCertificates P2SVpnServerConfigVpnClientRevokedCertificateArrayInput `pulumi:"p2SVpnServerConfigVpnClientRevokedCertificates"` + // VPN client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRootCertificates P2SVpnServerConfigVpnClientRootCertificateArrayInput `pulumi:"p2SVpnServerConfigVpnClientRootCertificates"` + // The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerAddress pulumi.StringPtrInput `pulumi:"radiusServerAddress"` + // The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerSecret pulumi.StringPtrInput `pulumi:"radiusServerSecret"` + // VpnClientIpsecPolicies for P2SVpnServerConfiguration. + VpnClientIpsecPolicies IpsecPolicyArrayInput `pulumi:"vpnClientIpsecPolicies"` + // VPN protocols for the P2SVpnServerConfiguration. + VpnProtocols pulumi.StringArrayInput `pulumi:"vpnProtocols"` +} -func (ProbeResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ProbeResponse)(nil)).Elem() +func (P2SVpnServerConfigurationPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigurationProperties)(nil)).Elem() } -func (o ProbeResponseArrayOutput) ToProbeResponseArrayOutput() ProbeResponseArrayOutput { - return o +func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesOutput() P2SVpnServerConfigurationPropertiesOutput { + return i.ToP2SVpnServerConfigurationPropertiesOutputWithContext(context.Background()) } -func (o ProbeResponseArrayOutput) ToProbeResponseArrayOutputWithContext(ctx context.Context) ProbeResponseArrayOutput { - return o +func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigurationPropertiesOutput) } -func (o ProbeResponseArrayOutput) Index(i pulumi.IntInput) ProbeResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProbeResponse { - return vs[0].([]ProbeResponse)[vs[1].(int)] - }).(ProbeResponseOutput) +func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { + return i.ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Background()) } -// The list of RouteTables to advertise the routes to. -type PropagatedRouteTable struct { - // The list of resource ids of all the RouteTables. - Ids []SubResource `pulumi:"ids"` - // The list of labels. - Labels []string `pulumi:"labels"` +func (i P2SVpnServerConfigurationPropertiesArgs) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigurationPropertiesOutput).ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx) } -// PropagatedRouteTableInput is an input type that accepts PropagatedRouteTableArgs and PropagatedRouteTableOutput values. -// You can construct a concrete instance of `PropagatedRouteTableInput` via: +// P2SVpnServerConfigurationPropertiesPtrInput is an input type that accepts P2SVpnServerConfigurationPropertiesArgs, P2SVpnServerConfigurationPropertiesPtr and P2SVpnServerConfigurationPropertiesPtrOutput values. +// You can construct a concrete instance of `P2SVpnServerConfigurationPropertiesPtrInput` via: +// +// P2SVpnServerConfigurationPropertiesArgs{...} +// +// or: // -// PropagatedRouteTableArgs{...} -type PropagatedRouteTableInput interface { +// nil +type P2SVpnServerConfigurationPropertiesPtrInput interface { pulumi.Input - ToPropagatedRouteTableOutput() PropagatedRouteTableOutput - ToPropagatedRouteTableOutputWithContext(context.Context) PropagatedRouteTableOutput + ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput + ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Context) P2SVpnServerConfigurationPropertiesPtrOutput } -// The list of RouteTables to advertise the routes to. -type PropagatedRouteTableArgs struct { - // The list of resource ids of all the RouteTables. - Ids SubResourceArrayInput `pulumi:"ids"` - // The list of labels. - Labels pulumi.StringArrayInput `pulumi:"labels"` -} +type p2svpnServerConfigurationPropertiesPtrType P2SVpnServerConfigurationPropertiesArgs -func (PropagatedRouteTableArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PropagatedRouteTable)(nil)).Elem() +func P2SVpnServerConfigurationPropertiesPtr(v *P2SVpnServerConfigurationPropertiesArgs) P2SVpnServerConfigurationPropertiesPtrInput { + return (*p2svpnServerConfigurationPropertiesPtrType)(v) } -func (i PropagatedRouteTableArgs) ToPropagatedRouteTableOutput() PropagatedRouteTableOutput { - return i.ToPropagatedRouteTableOutputWithContext(context.Background()) +func (*p2svpnServerConfigurationPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**P2SVpnServerConfigurationProperties)(nil)).Elem() } -func (i PropagatedRouteTableArgs) ToPropagatedRouteTableOutputWithContext(ctx context.Context) PropagatedRouteTableOutput { - return pulumi.ToOutputWithContext(ctx, i).(PropagatedRouteTableOutput) +func (i *p2svpnServerConfigurationPropertiesPtrType) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { + return i.ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Background()) } -func (i PropagatedRouteTableArgs) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { - return i.ToPropagatedRouteTablePtrOutputWithContext(context.Background()) +func (i *p2svpnServerConfigurationPropertiesPtrType) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(P2SVpnServerConfigurationPropertiesPtrOutput) } -func (i PropagatedRouteTableArgs) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PropagatedRouteTableOutput).ToPropagatedRouteTablePtrOutputWithContext(ctx) -} +// Parameters for P2SVpnServerConfiguration. +type P2SVpnServerConfigurationPropertiesOutput struct{ *pulumi.OutputState } -// PropagatedRouteTablePtrInput is an input type that accepts PropagatedRouteTableArgs, PropagatedRouteTablePtr and PropagatedRouteTablePtrOutput values. -// You can construct a concrete instance of `PropagatedRouteTablePtrInput` via: -// -// PropagatedRouteTableArgs{...} -// -// or: -// -// nil -type PropagatedRouteTablePtrInput interface { - pulumi.Input +func (P2SVpnServerConfigurationPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigurationProperties)(nil)).Elem() +} - ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput - ToPropagatedRouteTablePtrOutputWithContext(context.Context) PropagatedRouteTablePtrOutput +func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesOutput() P2SVpnServerConfigurationPropertiesOutput { + return o } -type propagatedRouteTablePtrType PropagatedRouteTableArgs +func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesOutput { + return o +} -func PropagatedRouteTablePtr(v *PropagatedRouteTableArgs) PropagatedRouteTablePtrInput { - return (*propagatedRouteTablePtrType)(v) +func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { + return o.ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(context.Background()) } -func (*propagatedRouteTablePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PropagatedRouteTable)(nil)).Elem() +func (o P2SVpnServerConfigurationPropertiesOutput) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v P2SVpnServerConfigurationProperties) *P2SVpnServerConfigurationProperties { + return &v + }).(P2SVpnServerConfigurationPropertiesPtrOutput) } -func (i *propagatedRouteTablePtrType) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { - return i.ToPropagatedRouteTablePtrOutputWithContext(context.Background()) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigurationPropertiesOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.Etag }).(pulumi.StringPtrOutput) } -func (i *propagatedRouteTablePtrType) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PropagatedRouteTablePtrOutput) +// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. +func (o P2SVpnServerConfigurationPropertiesOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The list of RouteTables to advertise the routes to. -type PropagatedRouteTableOutput struct{ *pulumi.OutputState } +// Radius client root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigRadiusClientRootCertificates() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusClientRootCertificate { + return v.P2SVpnServerConfigRadiusClientRootCertificates + }).(P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) +} -func (PropagatedRouteTableOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PropagatedRouteTable)(nil)).Elem() +// Radius Server root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigRadiusServerRootCertificates() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusServerRootCertificate { + return v.P2SVpnServerConfigRadiusServerRootCertificates + }).(P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) } -func (o PropagatedRouteTableOutput) ToPropagatedRouteTableOutput() PropagatedRouteTableOutput { - return o +// VPN client revoked certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigVpnClientRevokedCertificates() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRevokedCertificate { + return v.P2SVpnServerConfigVpnClientRevokedCertificates + }).(P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) } -func (o PropagatedRouteTableOutput) ToPropagatedRouteTableOutputWithContext(ctx context.Context) PropagatedRouteTableOutput { - return o +// VPN client root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesOutput) P2SVpnServerConfigVpnClientRootCertificates() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRootCertificate { + return v.P2SVpnServerConfigVpnClientRootCertificates + }).(P2SVpnServerConfigVpnClientRootCertificateArrayOutput) } -func (o PropagatedRouteTableOutput) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { - return o.ToPropagatedRouteTablePtrOutputWithContext(context.Background()) +// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. +func (o P2SVpnServerConfigurationPropertiesOutput) RadiusServerAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.RadiusServerAddress }).(pulumi.StringPtrOutput) } -func (o PropagatedRouteTableOutput) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PropagatedRouteTable) *PropagatedRouteTable { - return &v - }).(PropagatedRouteTablePtrOutput) +// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. +func (o P2SVpnServerConfigurationPropertiesOutput) RadiusServerSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) } -// The list of resource ids of all the RouteTables. -func (o PropagatedRouteTableOutput) Ids() SubResourceArrayOutput { - return o.ApplyT(func(v PropagatedRouteTable) []SubResource { return v.Ids }).(SubResourceArrayOutput) +// VpnClientIpsecPolicies for P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesOutput) VpnClientIpsecPolicies() IpsecPolicyArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []IpsecPolicy { return v.VpnClientIpsecPolicies }).(IpsecPolicyArrayOutput) } -// The list of labels. -func (o PropagatedRouteTableOutput) Labels() pulumi.StringArrayOutput { - return o.ApplyT(func(v PropagatedRouteTable) []string { return v.Labels }).(pulumi.StringArrayOutput) +// VPN protocols for the P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesOutput) VpnProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationProperties) []string { return v.VpnProtocols }).(pulumi.StringArrayOutput) } -type PropagatedRouteTablePtrOutput struct{ *pulumi.OutputState } +type P2SVpnServerConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } -func (PropagatedRouteTablePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PropagatedRouteTable)(nil)).Elem() +func (P2SVpnServerConfigurationPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**P2SVpnServerConfigurationProperties)(nil)).Elem() } -func (o PropagatedRouteTablePtrOutput) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { +func (o P2SVpnServerConfigurationPropertiesPtrOutput) ToP2SVpnServerConfigurationPropertiesPtrOutput() P2SVpnServerConfigurationPropertiesPtrOutput { return o } -func (o PropagatedRouteTablePtrOutput) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { +func (o P2SVpnServerConfigurationPropertiesPtrOutput) ToP2SVpnServerConfigurationPropertiesPtrOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesPtrOutput { return o } -func (o PropagatedRouteTablePtrOutput) Elem() PropagatedRouteTableOutput { - return o.ApplyT(func(v *PropagatedRouteTable) PropagatedRouteTable { +func (o P2SVpnServerConfigurationPropertiesPtrOutput) Elem() P2SVpnServerConfigurationPropertiesOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) P2SVpnServerConfigurationProperties { if v != nil { return *v } - var ret PropagatedRouteTable + var ret P2SVpnServerConfigurationProperties return ret - }).(PropagatedRouteTableOutput) + }).(P2SVpnServerConfigurationPropertiesOutput) } -// The list of resource ids of all the RouteTables. -func (o PropagatedRouteTablePtrOutput) Ids() SubResourceArrayOutput { - return o.ApplyT(func(v *PropagatedRouteTable) []SubResource { +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { if v == nil { return nil } - return v.Ids - }).(SubResourceArrayOutput) + return v.Etag + }).(pulumi.StringPtrOutput) } -// The list of labels. -func (o PropagatedRouteTablePtrOutput) Labels() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PropagatedRouteTable) []string { +// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { if v == nil { return nil } - return v.Labels - }).(pulumi.StringArrayOutput) -} - -// The list of RouteTables to advertise the routes to. -type PropagatedRouteTableResponse struct { - // The list of resource ids of all the RouteTables. - Ids []SubResourceResponse `pulumi:"ids"` - // The list of labels. - Labels []string `pulumi:"labels"` -} - -// The list of RouteTables to advertise the routes to. -type PropagatedRouteTableResponseOutput struct{ *pulumi.OutputState } - -func (PropagatedRouteTableResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PropagatedRouteTableResponse)(nil)).Elem() -} - -func (o PropagatedRouteTableResponseOutput) ToPropagatedRouteTableResponseOutput() PropagatedRouteTableResponseOutput { - return o -} - -func (o PropagatedRouteTableResponseOutput) ToPropagatedRouteTableResponseOutputWithContext(ctx context.Context) PropagatedRouteTableResponseOutput { - return o + return v.Name + }).(pulumi.StringPtrOutput) } -// The list of resource ids of all the RouteTables. -func (o PropagatedRouteTableResponseOutput) Ids() SubResourceResponseArrayOutput { - return o.ApplyT(func(v PropagatedRouteTableResponse) []SubResourceResponse { return v.Ids }).(SubResourceResponseArrayOutput) +// Radius client root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigRadiusClientRootCertificates() P2SVpnServerConfigRadiusClientRootCertificateArrayOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusClientRootCertificate { + if v == nil { + return nil + } + return v.P2SVpnServerConfigRadiusClientRootCertificates + }).(P2SVpnServerConfigRadiusClientRootCertificateArrayOutput) } -// The list of labels. -func (o PropagatedRouteTableResponseOutput) Labels() pulumi.StringArrayOutput { - return o.ApplyT(func(v PropagatedRouteTableResponse) []string { return v.Labels }).(pulumi.StringArrayOutput) +// Radius Server root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigRadiusServerRootCertificates() P2SVpnServerConfigRadiusServerRootCertificateArrayOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigRadiusServerRootCertificate { + if v == nil { + return nil + } + return v.P2SVpnServerConfigRadiusServerRootCertificates + }).(P2SVpnServerConfigRadiusServerRootCertificateArrayOutput) } -type PropagatedRouteTableResponsePtrOutput struct{ *pulumi.OutputState } - -func (PropagatedRouteTableResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PropagatedRouteTableResponse)(nil)).Elem() +// VPN client revoked certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigVpnClientRevokedCertificates() P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRevokedCertificate { + if v == nil { + return nil + } + return v.P2SVpnServerConfigVpnClientRevokedCertificates + }).(P2SVpnServerConfigVpnClientRevokedCertificateArrayOutput) } -func (o PropagatedRouteTableResponsePtrOutput) ToPropagatedRouteTableResponsePtrOutput() PropagatedRouteTableResponsePtrOutput { - return o +// VPN client root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) P2SVpnServerConfigVpnClientRootCertificates() P2SVpnServerConfigVpnClientRootCertificateArrayOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []P2SVpnServerConfigVpnClientRootCertificate { + if v == nil { + return nil + } + return v.P2SVpnServerConfigVpnClientRootCertificates + }).(P2SVpnServerConfigVpnClientRootCertificateArrayOutput) } -func (o PropagatedRouteTableResponsePtrOutput) ToPropagatedRouteTableResponsePtrOutputWithContext(ctx context.Context) PropagatedRouteTableResponsePtrOutput { - return o +// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) RadiusServerAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { + if v == nil { + return nil + } + return v.RadiusServerAddress + }).(pulumi.StringPtrOutput) } -func (o PropagatedRouteTableResponsePtrOutput) Elem() PropagatedRouteTableResponseOutput { - return o.ApplyT(func(v *PropagatedRouteTableResponse) PropagatedRouteTableResponse { - if v != nil { - return *v +// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) RadiusServerSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) *string { + if v == nil { + return nil } - var ret PropagatedRouteTableResponse - return ret - }).(PropagatedRouteTableResponseOutput) + return v.RadiusServerSecret + }).(pulumi.StringPtrOutput) } -// The list of resource ids of all the RouteTables. -func (o PropagatedRouteTableResponsePtrOutput) Ids() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *PropagatedRouteTableResponse) []SubResourceResponse { +// VpnClientIpsecPolicies for P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) VpnClientIpsecPolicies() IpsecPolicyArrayOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []IpsecPolicy { if v == nil { return nil } - return v.Ids - }).(SubResourceResponseArrayOutput) + return v.VpnClientIpsecPolicies + }).(IpsecPolicyArrayOutput) } -// The list of labels. -func (o PropagatedRouteTableResponsePtrOutput) Labels() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PropagatedRouteTableResponse) []string { +// VPN protocols for the P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesPtrOutput) VpnProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *P2SVpnServerConfigurationProperties) []string { if v == nil { return nil } - return v.Labels + return v.VpnProtocols }).(pulumi.StringArrayOutput) } -// Public IP address resource. -type PublicIPAddressType struct { - // The DDoS protection custom policy associated with the public IP address. - DdosSettings *DdosSettings `pulumi:"ddosSettings"` - // Specify what happens to the public IP address when the VM using it is deleted - DeleteOption *string `pulumi:"deleteOption"` - // The FQDN of the DNS record associated with the public IP address. - DnsSettings *PublicIPAddressDnsSettings `pulumi:"dnsSettings"` - // The extended location of the public ip address. - ExtendedLocation *ExtendedLocation `pulumi:"extendedLocation"` - // Resource ID. - Id *string `pulumi:"id"` - // The idle timeout of the public IP address. - IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` - // The IP address associated with the public IP address resource. - IpAddress *string `pulumi:"ipAddress"` - // The list of tags associated with the public IP address. - IpTags []IpTag `pulumi:"ipTags"` - // The linked public IP address of the public IP address resource. - LinkedPublicIPAddress *PublicIPAddressType `pulumi:"linkedPublicIPAddress"` - // Resource location. - Location *string `pulumi:"location"` - // Migration phase of Public IP Address. - MigrationPhase *string `pulumi:"migrationPhase"` - // The NatGateway for the Public IP address. - NatGateway *NatGatewayType `pulumi:"natGateway"` - // The public IP address version. - PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` - // The public IP address allocation method. - PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` - // The Public IP Prefix this Public IP Address should be allocated from. - PublicIPPrefix *SubResource `pulumi:"publicIPPrefix"` - // The service public IP address of the public IP address resource. - ServicePublicIPAddress *PublicIPAddressType `pulumi:"servicePublicIPAddress"` - // The public IP address SKU. - Sku *PublicIPAddressSku `pulumi:"sku"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // A list of availability zones denoting the IP allocated for the resource needs to come from. - Zones []string `pulumi:"zones"` +// Parameters for P2SVpnServerConfiguration. +type P2SVpnServerConfigurationPropertiesResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + Name *string `pulumi:"name"` + // List of references to P2SVpnGateways. + P2SVpnGateways []SubResourceResponse `pulumi:"p2SVpnGateways"` + // Radius client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusClientRootCertificates []P2SVpnServerConfigRadiusClientRootCertificateResponse `pulumi:"p2SVpnServerConfigRadiusClientRootCertificates"` + // Radius Server root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusServerRootCertificates []P2SVpnServerConfigRadiusServerRootCertificateResponse `pulumi:"p2SVpnServerConfigRadiusServerRootCertificates"` + // VPN client revoked certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRevokedCertificates []P2SVpnServerConfigVpnClientRevokedCertificateResponse `pulumi:"p2SVpnServerConfigVpnClientRevokedCertificates"` + // VPN client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRootCertificates []P2SVpnServerConfigVpnClientRootCertificateResponse `pulumi:"p2SVpnServerConfigVpnClientRootCertificates"` + // The provisioning state of the P2S VPN server configuration resource. + ProvisioningState string `pulumi:"provisioningState"` + // The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerAddress *string `pulumi:"radiusServerAddress"` + // The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerSecret *string `pulumi:"radiusServerSecret"` + // VpnClientIpsecPolicies for P2SVpnServerConfiguration. + VpnClientIpsecPolicies []IpsecPolicyResponse `pulumi:"vpnClientIpsecPolicies"` + // VPN protocols for the P2SVpnServerConfiguration. + VpnProtocols []string `pulumi:"vpnProtocols"` } -// PublicIPAddressTypeInput is an input type that accepts PublicIPAddressTypeArgs and PublicIPAddressTypeOutput values. -// You can construct a concrete instance of `PublicIPAddressTypeInput` via: -// -// PublicIPAddressTypeArgs{...} -type PublicIPAddressTypeInput interface { - pulumi.Input +// Parameters for P2SVpnServerConfiguration. +type P2SVpnServerConfigurationPropertiesResponseOutput struct{ *pulumi.OutputState } - ToPublicIPAddressTypeOutput() PublicIPAddressTypeOutput - ToPublicIPAddressTypeOutputWithContext(context.Context) PublicIPAddressTypeOutput +func (P2SVpnServerConfigurationPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*P2SVpnServerConfigurationPropertiesResponse)(nil)).Elem() } -// Public IP address resource. -type PublicIPAddressTypeArgs struct { - // The DDoS protection custom policy associated with the public IP address. - DdosSettings DdosSettingsPtrInput `pulumi:"ddosSettings"` - // Specify what happens to the public IP address when the VM using it is deleted - DeleteOption pulumi.StringPtrInput `pulumi:"deleteOption"` - // The FQDN of the DNS record associated with the public IP address. - DnsSettings PublicIPAddressDnsSettingsPtrInput `pulumi:"dnsSettings"` - // The extended location of the public ip address. - ExtendedLocation ExtendedLocationPtrInput `pulumi:"extendedLocation"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // The idle timeout of the public IP address. - IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` - // The IP address associated with the public IP address resource. - IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"` - // The list of tags associated with the public IP address. - IpTags IpTagArrayInput `pulumi:"ipTags"` - // The linked public IP address of the public IP address resource. - LinkedPublicIPAddress PublicIPAddressTypePtrInput `pulumi:"linkedPublicIPAddress"` - // Resource location. - Location pulumi.StringPtrInput `pulumi:"location"` - // Migration phase of Public IP Address. - MigrationPhase pulumi.StringPtrInput `pulumi:"migrationPhase"` - // The NatGateway for the Public IP address. - NatGateway NatGatewayTypePtrInput `pulumi:"natGateway"` - // The public IP address version. - PublicIPAddressVersion pulumi.StringPtrInput `pulumi:"publicIPAddressVersion"` - // The public IP address allocation method. - PublicIPAllocationMethod pulumi.StringPtrInput `pulumi:"publicIPAllocationMethod"` - // The Public IP Prefix this Public IP Address should be allocated from. - PublicIPPrefix SubResourcePtrInput `pulumi:"publicIPPrefix"` - // The service public IP address of the public IP address resource. - ServicePublicIPAddress PublicIPAddressTypePtrInput `pulumi:"servicePublicIPAddress"` - // The public IP address SKU. - Sku PublicIPAddressSkuPtrInput `pulumi:"sku"` - // Resource tags. - Tags pulumi.StringMapInput `pulumi:"tags"` - // A list of availability zones denoting the IP allocated for the resource needs to come from. - Zones pulumi.StringArrayInput `pulumi:"zones"` +func (o P2SVpnServerConfigurationPropertiesResponseOutput) ToP2SVpnServerConfigurationPropertiesResponseOutput() P2SVpnServerConfigurationPropertiesResponseOutput { + return o } -func (PublicIPAddressTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressType)(nil)).Elem() +func (o P2SVpnServerConfigurationPropertiesResponseOutput) ToP2SVpnServerConfigurationPropertiesResponseOutputWithContext(ctx context.Context) P2SVpnServerConfigurationPropertiesResponseOutput { + return o } -func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypeOutput() PublicIPAddressTypeOutput { - return i.ToPublicIPAddressTypeOutputWithContext(context.Background()) +// A unique read-only string that changes whenever the resource is updated. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.Etag }).(pulumi.StringPtrOutput) } -func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypeOutputWithContext(ctx context.Context) PublicIPAddressTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressTypeOutput) +// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { - return i.ToPublicIPAddressTypePtrOutputWithContext(context.Background()) +// List of references to P2SVpnGateways. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnGateways() SubResourceResponseArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []SubResourceResponse { return v.P2SVpnGateways }).(SubResourceResponseArrayOutput) } -func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressTypeOutput).ToPublicIPAddressTypePtrOutputWithContext(ctx) +// Radius client root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigRadiusClientRootCertificates() P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigRadiusClientRootCertificateResponse { + return v.P2SVpnServerConfigRadiusClientRootCertificates + }).(P2SVpnServerConfigRadiusClientRootCertificateResponseArrayOutput) } -// PublicIPAddressTypePtrInput is an input type that accepts PublicIPAddressTypeArgs, PublicIPAddressTypePtr and PublicIPAddressTypePtrOutput values. -// You can construct a concrete instance of `PublicIPAddressTypePtrInput` via: -// -// PublicIPAddressTypeArgs{...} -// -// or: -// -// nil -type PublicIPAddressTypePtrInput interface { - pulumi.Input - - ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput - ToPublicIPAddressTypePtrOutputWithContext(context.Context) PublicIPAddressTypePtrOutput +// Radius Server root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigRadiusServerRootCertificates() P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigRadiusServerRootCertificateResponse { + return v.P2SVpnServerConfigRadiusServerRootCertificates + }).(P2SVpnServerConfigRadiusServerRootCertificateResponseArrayOutput) } -type publicIPAddressTypePtrType PublicIPAddressTypeArgs - -func PublicIPAddressTypePtr(v *PublicIPAddressTypeArgs) PublicIPAddressTypePtrInput { - return (*publicIPAddressTypePtrType)(v) +// VPN client revoked certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigVpnClientRevokedCertificates() P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigVpnClientRevokedCertificateResponse { + return v.P2SVpnServerConfigVpnClientRevokedCertificates + }).(P2SVpnServerConfigVpnClientRevokedCertificateResponseArrayOutput) } -func (*publicIPAddressTypePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressType)(nil)).Elem() +// VPN client root certificate of P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) P2SVpnServerConfigVpnClientRootCertificates() P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []P2SVpnServerConfigVpnClientRootCertificateResponse { + return v.P2SVpnServerConfigVpnClientRootCertificates + }).(P2SVpnServerConfigVpnClientRootCertificateResponseArrayOutput) } -func (i *publicIPAddressTypePtrType) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { - return i.ToPublicIPAddressTypePtrOutputWithContext(context.Background()) +// The provisioning state of the P2S VPN server configuration resource. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (i *publicIPAddressTypePtrType) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressTypePtrOutput) +// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) RadiusServerAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.RadiusServerAddress }).(pulumi.StringPtrOutput) } -// Public IP address resource. -type PublicIPAddressTypeOutput struct{ *pulumi.OutputState } - -func (PublicIPAddressTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressType)(nil)).Elem() +// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) RadiusServerSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) } -func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypeOutput() PublicIPAddressTypeOutput { - return o +// VpnClientIpsecPolicies for P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) VpnClientIpsecPolicies() IpsecPolicyResponseArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []IpsecPolicyResponse { + return v.VpnClientIpsecPolicies + }).(IpsecPolicyResponseArrayOutput) } -func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypeOutputWithContext(ctx context.Context) PublicIPAddressTypeOutput { - return o +// VPN protocols for the P2SVpnServerConfiguration. +func (o P2SVpnServerConfigurationPropertiesResponseOutput) VpnProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v P2SVpnServerConfigurationPropertiesResponse) []string { return v.VpnProtocols }).(pulumi.StringArrayOutput) } -func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { - return o.ToPublicIPAddressTypePtrOutputWithContext(context.Background()) +// Filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilter struct { + // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalIPAddress *string `pulumi:"localIPAddress"` + // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalPort *string `pulumi:"localPort"` + // Protocol to be filtered on. + Protocol *string `pulumi:"protocol"` + // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemoteIPAddress *string `pulumi:"remoteIPAddress"` + // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemotePort *string `pulumi:"remotePort"` } -func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPAddressType) *PublicIPAddressType { - return &v - }).(PublicIPAddressTypePtrOutput) +// Defaults sets the appropriate defaults for PacketCaptureFilter +func (val *PacketCaptureFilter) Defaults() *PacketCaptureFilter { + if val == nil { + return nil + } + tmp := *val + if tmp.Protocol == nil { + protocol_ := "Any" + tmp.Protocol = &protocol_ + } + return &tmp } -// The DDoS protection custom policy associated with the public IP address. -func (o PublicIPAddressTypeOutput) DdosSettings() DdosSettingsPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *DdosSettings { return v.DdosSettings }).(DdosSettingsPtrOutput) -} +// PacketCaptureFilterInput is an input type that accepts PacketCaptureFilterArgs and PacketCaptureFilterOutput values. +// You can construct a concrete instance of `PacketCaptureFilterInput` via: +// +// PacketCaptureFilterArgs{...} +type PacketCaptureFilterInput interface { + pulumi.Input -// Specify what happens to the public IP address when the VM using it is deleted -func (o PublicIPAddressTypeOutput) DeleteOption() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.DeleteOption }).(pulumi.StringPtrOutput) + ToPacketCaptureFilterOutput() PacketCaptureFilterOutput + ToPacketCaptureFilterOutputWithContext(context.Context) PacketCaptureFilterOutput } -// The FQDN of the DNS record associated with the public IP address. -func (o PublicIPAddressTypeOutput) DnsSettings() PublicIPAddressDnsSettingsPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressDnsSettings { return v.DnsSettings }).(PublicIPAddressDnsSettingsPtrOutput) +// Filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilterArgs struct { + // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalIPAddress pulumi.StringPtrInput `pulumi:"localIPAddress"` + // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalPort pulumi.StringPtrInput `pulumi:"localPort"` + // Protocol to be filtered on. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemoteIPAddress pulumi.StringPtrInput `pulumi:"remoteIPAddress"` + // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemotePort pulumi.StringPtrInput `pulumi:"remotePort"` } -// The extended location of the public ip address. -func (o PublicIPAddressTypeOutput) ExtendedLocation() ExtendedLocationPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *ExtendedLocation { return v.ExtendedLocation }).(ExtendedLocationPtrOutput) +// Defaults sets the appropriate defaults for PacketCaptureFilterArgs +func (val *PacketCaptureFilterArgs) Defaults() *PacketCaptureFilterArgs { + if val == nil { + return nil + } + tmp := *val + if tmp.Protocol == nil { + tmp.Protocol = pulumi.StringPtr("Any") + } + return &tmp } - -// Resource ID. -func (o PublicIPAddressTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.Id }).(pulumi.StringPtrOutput) +func (PacketCaptureFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureFilter)(nil)).Elem() } -// The idle timeout of the public IP address. -func (o PublicIPAddressTypeOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +func (i PacketCaptureFilterArgs) ToPacketCaptureFilterOutput() PacketCaptureFilterOutput { + return i.ToPacketCaptureFilterOutputWithContext(context.Background()) } -// The IP address associated with the public IP address resource. -func (o PublicIPAddressTypeOutput) IpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.IpAddress }).(pulumi.StringPtrOutput) +func (i PacketCaptureFilterArgs) ToPacketCaptureFilterOutputWithContext(ctx context.Context) PacketCaptureFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureFilterOutput) } -// The list of tags associated with the public IP address. -func (o PublicIPAddressTypeOutput) IpTags() IpTagArrayOutput { - return o.ApplyT(func(v PublicIPAddressType) []IpTag { return v.IpTags }).(IpTagArrayOutput) +// PacketCaptureFilterArrayInput is an input type that accepts PacketCaptureFilterArray and PacketCaptureFilterArrayOutput values. +// You can construct a concrete instance of `PacketCaptureFilterArrayInput` via: +// +// PacketCaptureFilterArray{ PacketCaptureFilterArgs{...} } +type PacketCaptureFilterArrayInput interface { + pulumi.Input + + ToPacketCaptureFilterArrayOutput() PacketCaptureFilterArrayOutput + ToPacketCaptureFilterArrayOutputWithContext(context.Context) PacketCaptureFilterArrayOutput } -// The linked public IP address of the public IP address resource. -func (o PublicIPAddressTypeOutput) LinkedPublicIPAddress() PublicIPAddressTypePtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressType { return v.LinkedPublicIPAddress }).(PublicIPAddressTypePtrOutput) +type PacketCaptureFilterArray []PacketCaptureFilterInput + +func (PacketCaptureFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PacketCaptureFilter)(nil)).Elem() } -// Resource location. -func (o PublicIPAddressTypeOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.Location }).(pulumi.StringPtrOutput) +func (i PacketCaptureFilterArray) ToPacketCaptureFilterArrayOutput() PacketCaptureFilterArrayOutput { + return i.ToPacketCaptureFilterArrayOutputWithContext(context.Background()) } -// Migration phase of Public IP Address. -func (o PublicIPAddressTypeOutput) MigrationPhase() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) +func (i PacketCaptureFilterArray) ToPacketCaptureFilterArrayOutputWithContext(ctx context.Context) PacketCaptureFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureFilterArrayOutput) } -// The NatGateway for the Public IP address. -func (o PublicIPAddressTypeOutput) NatGateway() NatGatewayTypePtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *NatGatewayType { return v.NatGateway }).(NatGatewayTypePtrOutput) +// Filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilterOutput struct{ *pulumi.OutputState } + +func (PacketCaptureFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureFilter)(nil)).Elem() } -// The public IP address version. -func (o PublicIPAddressTypeOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) +func (o PacketCaptureFilterOutput) ToPacketCaptureFilterOutput() PacketCaptureFilterOutput { + return o } -// The public IP address allocation method. -func (o PublicIPAddressTypeOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) +func (o PacketCaptureFilterOutput) ToPacketCaptureFilterOutputWithContext(ctx context.Context) PacketCaptureFilterOutput { + return o } -// The Public IP Prefix this Public IP Address should be allocated from. -func (o PublicIPAddressTypeOutput) PublicIPPrefix() SubResourcePtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *SubResource { return v.PublicIPPrefix }).(SubResourcePtrOutput) +// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterOutput) LocalIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilter) *string { return v.LocalIPAddress }).(pulumi.StringPtrOutput) } -// The service public IP address of the public IP address resource. -func (o PublicIPAddressTypeOutput) ServicePublicIPAddress() PublicIPAddressTypePtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressType { return v.ServicePublicIPAddress }).(PublicIPAddressTypePtrOutput) +// Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterOutput) LocalPort() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilter) *string { return v.LocalPort }).(pulumi.StringPtrOutput) } -// The public IP address SKU. -func (o PublicIPAddressTypeOutput) Sku() PublicIPAddressSkuPtrOutput { - return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressSku { return v.Sku }).(PublicIPAddressSkuPtrOutput) +// Protocol to be filtered on. +func (o PacketCaptureFilterOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilter) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -// Resource tags. -func (o PublicIPAddressTypeOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v PublicIPAddressType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterOutput) RemoteIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilter) *string { return v.RemoteIPAddress }).(pulumi.StringPtrOutput) } -// A list of availability zones denoting the IP allocated for the resource needs to come from. -func (o PublicIPAddressTypeOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v PublicIPAddressType) []string { return v.Zones }).(pulumi.StringArrayOutput) +// Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterOutput) RemotePort() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilter) *string { return v.RemotePort }).(pulumi.StringPtrOutput) } -type PublicIPAddressTypePtrOutput struct{ *pulumi.OutputState } +type PacketCaptureFilterArrayOutput struct{ *pulumi.OutputState } -func (PublicIPAddressTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressType)(nil)).Elem() +func (PacketCaptureFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PacketCaptureFilter)(nil)).Elem() } -func (o PublicIPAddressTypePtrOutput) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { +func (o PacketCaptureFilterArrayOutput) ToPacketCaptureFilterArrayOutput() PacketCaptureFilterArrayOutput { return o } -func (o PublicIPAddressTypePtrOutput) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { +func (o PacketCaptureFilterArrayOutput) ToPacketCaptureFilterArrayOutputWithContext(ctx context.Context) PacketCaptureFilterArrayOutput { return o } -func (o PublicIPAddressTypePtrOutput) Elem() PublicIPAddressTypeOutput { - return o.ApplyT(func(v *PublicIPAddressType) PublicIPAddressType { - if v != nil { - return *v - } - var ret PublicIPAddressType - return ret - }).(PublicIPAddressTypeOutput) -} - -// The DDoS protection custom policy associated with the public IP address. -func (o PublicIPAddressTypePtrOutput) DdosSettings() DdosSettingsPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *DdosSettings { - if v == nil { - return nil - } - return v.DdosSettings - }).(DdosSettingsPtrOutput) -} - -// Specify what happens to the public IP address when the VM using it is deleted -func (o PublicIPAddressTypePtrOutput) DeleteOption() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.DeleteOption - }).(pulumi.StringPtrOutput) -} - -// The FQDN of the DNS record associated with the public IP address. -func (o PublicIPAddressTypePtrOutput) DnsSettings() PublicIPAddressDnsSettingsPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressDnsSettings { - if v == nil { - return nil - } - return v.DnsSettings - }).(PublicIPAddressDnsSettingsPtrOutput) +func (o PacketCaptureFilterArrayOutput) Index(i pulumi.IntInput) PacketCaptureFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PacketCaptureFilter { + return vs[0].([]PacketCaptureFilter)[vs[1].(int)] + }).(PacketCaptureFilterOutput) } -// The extended location of the public ip address. -func (o PublicIPAddressTypePtrOutput) ExtendedLocation() ExtendedLocationPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *ExtendedLocation { - if v == nil { - return nil - } - return v.ExtendedLocation - }).(ExtendedLocationPtrOutput) +// Filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilterResponse struct { + // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalIPAddress *string `pulumi:"localIPAddress"` + // Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalPort *string `pulumi:"localPort"` + // Protocol to be filtered on. + Protocol *string `pulumi:"protocol"` + // Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemoteIPAddress *string `pulumi:"remoteIPAddress"` + // Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemotePort *string `pulumi:"remotePort"` } -// Resource ID. -func (o PublicIPAddressTypePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +// Defaults sets the appropriate defaults for PacketCaptureFilterResponse +func (val *PacketCaptureFilterResponse) Defaults() *PacketCaptureFilterResponse { + if val == nil { + return nil + } + tmp := *val + if tmp.Protocol == nil { + protocol_ := "Any" + tmp.Protocol = &protocol_ + } + return &tmp } -// The idle timeout of the public IP address. -func (o PublicIPAddressTypePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *int { - if v == nil { - return nil - } - return v.IdleTimeoutInMinutes - }).(pulumi.IntPtrOutput) -} +// Filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilterResponseOutput struct{ *pulumi.OutputState } -// The IP address associated with the public IP address resource. -func (o PublicIPAddressTypePtrOutput) IpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.IpAddress - }).(pulumi.StringPtrOutput) +func (PacketCaptureFilterResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureFilterResponse)(nil)).Elem() } -// The list of tags associated with the public IP address. -func (o PublicIPAddressTypePtrOutput) IpTags() IpTagArrayOutput { - return o.ApplyT(func(v *PublicIPAddressType) []IpTag { - if v == nil { - return nil - } - return v.IpTags - }).(IpTagArrayOutput) +func (o PacketCaptureFilterResponseOutput) ToPacketCaptureFilterResponseOutput() PacketCaptureFilterResponseOutput { + return o } -// The linked public IP address of the public IP address resource. -func (o PublicIPAddressTypePtrOutput) LinkedPublicIPAddress() PublicIPAddressTypePtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressType { - if v == nil { - return nil - } - return v.LinkedPublicIPAddress - }).(PublicIPAddressTypePtrOutput) +func (o PacketCaptureFilterResponseOutput) ToPacketCaptureFilterResponseOutputWithContext(ctx context.Context) PacketCaptureFilterResponseOutput { + return o } -// Resource location. -func (o PublicIPAddressTypePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) +// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterResponseOutput) LocalIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.LocalIPAddress }).(pulumi.StringPtrOutput) } -// Migration phase of Public IP Address. -func (o PublicIPAddressTypePtrOutput) MigrationPhase() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.MigrationPhase - }).(pulumi.StringPtrOutput) +// Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterResponseOutput) LocalPort() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.LocalPort }).(pulumi.StringPtrOutput) } -// The NatGateway for the Public IP address. -func (o PublicIPAddressTypePtrOutput) NatGateway() NatGatewayTypePtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *NatGatewayType { - if v == nil { - return nil - } - return v.NatGateway - }).(NatGatewayTypePtrOutput) +// Protocol to be filtered on. +func (o PacketCaptureFilterResponseOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -// The public IP address version. -func (o PublicIPAddressTypePtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.PublicIPAddressVersion - }).(pulumi.StringPtrOutput) +// Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterResponseOutput) RemoteIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.RemoteIPAddress }).(pulumi.StringPtrOutput) } -// The public IP address allocation method. -func (o PublicIPAddressTypePtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *string { - if v == nil { - return nil - } - return v.PublicIPAllocationMethod - }).(pulumi.StringPtrOutput) +// Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. +func (o PacketCaptureFilterResponseOutput) RemotePort() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureFilterResponse) *string { return v.RemotePort }).(pulumi.StringPtrOutput) } -// The Public IP Prefix this Public IP Address should be allocated from. -func (o PublicIPAddressTypePtrOutput) PublicIPPrefix() SubResourcePtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *SubResource { - if v == nil { - return nil - } - return v.PublicIPPrefix - }).(SubResourcePtrOutput) -} +type PacketCaptureFilterResponseArrayOutput struct{ *pulumi.OutputState } -// The service public IP address of the public IP address resource. -func (o PublicIPAddressTypePtrOutput) ServicePublicIPAddress() PublicIPAddressTypePtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressType { - if v == nil { - return nil - } - return v.ServicePublicIPAddress - }).(PublicIPAddressTypePtrOutput) +func (PacketCaptureFilterResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PacketCaptureFilterResponse)(nil)).Elem() } -// The public IP address SKU. -func (o PublicIPAddressTypePtrOutput) Sku() PublicIPAddressSkuPtrOutput { - return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressSku { - if v == nil { - return nil - } - return v.Sku - }).(PublicIPAddressSkuPtrOutput) +func (o PacketCaptureFilterResponseArrayOutput) ToPacketCaptureFilterResponseArrayOutput() PacketCaptureFilterResponseArrayOutput { + return o } -// Resource tags. -func (o PublicIPAddressTypePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *PublicIPAddressType) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) +func (o PacketCaptureFilterResponseArrayOutput) ToPacketCaptureFilterResponseArrayOutputWithContext(ctx context.Context) PacketCaptureFilterResponseArrayOutput { + return o } -// A list of availability zones denoting the IP allocated for the resource needs to come from. -func (o PublicIPAddressTypePtrOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PublicIPAddressType) []string { - if v == nil { - return nil - } - return v.Zones - }).(pulumi.StringArrayOutput) +func (o PacketCaptureFilterResponseArrayOutput) Index(i pulumi.IntInput) PacketCaptureFilterResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PacketCaptureFilterResponse { + return vs[0].([]PacketCaptureFilterResponse)[vs[1].(int)] + }).(PacketCaptureFilterResponseOutput) } -// Contains FQDN of the DNS record associated with the public IP address. -type PublicIPAddressDnsSettings struct { - // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. - DomainNameLabel *string `pulumi:"domainNameLabel"` - // The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. - DomainNameLabelScope *PublicIpAddressDnsSettingsDomainNameLabelScope `pulumi:"domainNameLabelScope"` - // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. - Fqdn *string `pulumi:"fqdn"` - // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. - ReverseFqdn *string `pulumi:"reverseFqdn"` +// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. +type PacketCaptureMachineScope struct { + // List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. + Exclude []string `pulumi:"exclude"` + // List of AzureVMSS instances to run packet capture on. + Include []string `pulumi:"include"` } -// PublicIPAddressDnsSettingsInput is an input type that accepts PublicIPAddressDnsSettingsArgs and PublicIPAddressDnsSettingsOutput values. -// You can construct a concrete instance of `PublicIPAddressDnsSettingsInput` via: +// PacketCaptureMachineScopeInput is an input type that accepts PacketCaptureMachineScopeArgs and PacketCaptureMachineScopeOutput values. +// You can construct a concrete instance of `PacketCaptureMachineScopeInput` via: // -// PublicIPAddressDnsSettingsArgs{...} -type PublicIPAddressDnsSettingsInput interface { +// PacketCaptureMachineScopeArgs{...} +type PacketCaptureMachineScopeInput interface { pulumi.Input - ToPublicIPAddressDnsSettingsOutput() PublicIPAddressDnsSettingsOutput - ToPublicIPAddressDnsSettingsOutputWithContext(context.Context) PublicIPAddressDnsSettingsOutput + ToPacketCaptureMachineScopeOutput() PacketCaptureMachineScopeOutput + ToPacketCaptureMachineScopeOutputWithContext(context.Context) PacketCaptureMachineScopeOutput } -// Contains FQDN of the DNS record associated with the public IP address. -type PublicIPAddressDnsSettingsArgs struct { - // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. - DomainNameLabel pulumi.StringPtrInput `pulumi:"domainNameLabel"` - // The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. - DomainNameLabelScope PublicIpAddressDnsSettingsDomainNameLabelScopePtrInput `pulumi:"domainNameLabelScope"` - // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. - Fqdn pulumi.StringPtrInput `pulumi:"fqdn"` - // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. - ReverseFqdn pulumi.StringPtrInput `pulumi:"reverseFqdn"` +// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. +type PacketCaptureMachineScopeArgs struct { + // List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. + Exclude pulumi.StringArrayInput `pulumi:"exclude"` + // List of AzureVMSS instances to run packet capture on. + Include pulumi.StringArrayInput `pulumi:"include"` } -func (PublicIPAddressDnsSettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressDnsSettings)(nil)).Elem() +func (PacketCaptureMachineScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureMachineScope)(nil)).Elem() } -func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsOutput() PublicIPAddressDnsSettingsOutput { - return i.ToPublicIPAddressDnsSettingsOutputWithContext(context.Background()) +func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopeOutput() PacketCaptureMachineScopeOutput { + return i.ToPacketCaptureMachineScopeOutputWithContext(context.Background()) } -func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressDnsSettingsOutput) +func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopeOutputWithContext(ctx context.Context) PacketCaptureMachineScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureMachineScopeOutput) } -func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { - return i.ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Background()) +func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { + return i.ToPacketCaptureMachineScopePtrOutputWithContext(context.Background()) } -func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressDnsSettingsOutput).ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx) +func (i PacketCaptureMachineScopeArgs) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureMachineScopeOutput).ToPacketCaptureMachineScopePtrOutputWithContext(ctx) } -// PublicIPAddressDnsSettingsPtrInput is an input type that accepts PublicIPAddressDnsSettingsArgs, PublicIPAddressDnsSettingsPtr and PublicIPAddressDnsSettingsPtrOutput values. -// You can construct a concrete instance of `PublicIPAddressDnsSettingsPtrInput` via: +// PacketCaptureMachineScopePtrInput is an input type that accepts PacketCaptureMachineScopeArgs, PacketCaptureMachineScopePtr and PacketCaptureMachineScopePtrOutput values. +// You can construct a concrete instance of `PacketCaptureMachineScopePtrInput` via: // -// PublicIPAddressDnsSettingsArgs{...} +// PacketCaptureMachineScopeArgs{...} // // or: // // nil -type PublicIPAddressDnsSettingsPtrInput interface { +type PacketCaptureMachineScopePtrInput interface { pulumi.Input - ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput - ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Context) PublicIPAddressDnsSettingsPtrOutput + ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput + ToPacketCaptureMachineScopePtrOutputWithContext(context.Context) PacketCaptureMachineScopePtrOutput } -type publicIPAddressDnsSettingsPtrType PublicIPAddressDnsSettingsArgs +type packetCaptureMachineScopePtrType PacketCaptureMachineScopeArgs -func PublicIPAddressDnsSettingsPtr(v *PublicIPAddressDnsSettingsArgs) PublicIPAddressDnsSettingsPtrInput { - return (*publicIPAddressDnsSettingsPtrType)(v) +func PacketCaptureMachineScopePtr(v *PacketCaptureMachineScopeArgs) PacketCaptureMachineScopePtrInput { + return (*packetCaptureMachineScopePtrType)(v) } -func (*publicIPAddressDnsSettingsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressDnsSettings)(nil)).Elem() +func (*packetCaptureMachineScopePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PacketCaptureMachineScope)(nil)).Elem() } -func (i *publicIPAddressDnsSettingsPtrType) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { - return i.ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Background()) +func (i *packetCaptureMachineScopePtrType) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { + return i.ToPacketCaptureMachineScopePtrOutputWithContext(context.Background()) } -func (i *publicIPAddressDnsSettingsPtrType) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressDnsSettingsPtrOutput) +func (i *packetCaptureMachineScopePtrType) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureMachineScopePtrOutput) } -// Contains FQDN of the DNS record associated with the public IP address. -type PublicIPAddressDnsSettingsOutput struct{ *pulumi.OutputState } +// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. +type PacketCaptureMachineScopeOutput struct{ *pulumi.OutputState } -func (PublicIPAddressDnsSettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressDnsSettings)(nil)).Elem() +func (PacketCaptureMachineScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureMachineScope)(nil)).Elem() } -func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsOutput() PublicIPAddressDnsSettingsOutput { +func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopeOutput() PacketCaptureMachineScopeOutput { return o } -func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsOutput { +func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopeOutputWithContext(ctx context.Context) PacketCaptureMachineScopeOutput { return o } -func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { - return o.ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Background()) +func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { + return o.ToPacketCaptureMachineScopePtrOutputWithContext(context.Background()) } -func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPAddressDnsSettings) *PublicIPAddressDnsSettings { +func (o PacketCaptureMachineScopeOutput) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PacketCaptureMachineScope) *PacketCaptureMachineScope { return &v - }).(PublicIPAddressDnsSettingsPtrOutput) -} - -// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. -func (o PublicIPAddressDnsSettingsOutput) DomainNameLabel() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettings) *string { return v.DomainNameLabel }).(pulumi.StringPtrOutput) -} - -// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. -func (o PublicIPAddressDnsSettingsOutput) DomainNameLabelScope() PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettings) *PublicIpAddressDnsSettingsDomainNameLabelScope { - return v.DomainNameLabelScope - }).(PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput) + }).(PacketCaptureMachineScopePtrOutput) } -// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. -func (o PublicIPAddressDnsSettingsOutput) Fqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettings) *string { return v.Fqdn }).(pulumi.StringPtrOutput) +// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. +func (o PacketCaptureMachineScopeOutput) Exclude() pulumi.StringArrayOutput { + return o.ApplyT(func(v PacketCaptureMachineScope) []string { return v.Exclude }).(pulumi.StringArrayOutput) } -// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. -func (o PublicIPAddressDnsSettingsOutput) ReverseFqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettings) *string { return v.ReverseFqdn }).(pulumi.StringPtrOutput) +// List of AzureVMSS instances to run packet capture on. +func (o PacketCaptureMachineScopeOutput) Include() pulumi.StringArrayOutput { + return o.ApplyT(func(v PacketCaptureMachineScope) []string { return v.Include }).(pulumi.StringArrayOutput) } -type PublicIPAddressDnsSettingsPtrOutput struct{ *pulumi.OutputState } +type PacketCaptureMachineScopePtrOutput struct{ *pulumi.OutputState } -func (PublicIPAddressDnsSettingsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressDnsSettings)(nil)).Elem() +func (PacketCaptureMachineScopePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PacketCaptureMachineScope)(nil)).Elem() } -func (o PublicIPAddressDnsSettingsPtrOutput) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { +func (o PacketCaptureMachineScopePtrOutput) ToPacketCaptureMachineScopePtrOutput() PacketCaptureMachineScopePtrOutput { return o } -func (o PublicIPAddressDnsSettingsPtrOutput) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { +func (o PacketCaptureMachineScopePtrOutput) ToPacketCaptureMachineScopePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopePtrOutput { return o } -func (o PublicIPAddressDnsSettingsPtrOutput) Elem() PublicIPAddressDnsSettingsOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettings) PublicIPAddressDnsSettings { +func (o PacketCaptureMachineScopePtrOutput) Elem() PacketCaptureMachineScopeOutput { + return o.ApplyT(func(v *PacketCaptureMachineScope) PacketCaptureMachineScope { if v != nil { return *v } - var ret PublicIPAddressDnsSettings + var ret PacketCaptureMachineScope return ret - }).(PublicIPAddressDnsSettingsOutput) -} - -// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. -func (o PublicIPAddressDnsSettingsPtrOutput) DomainNameLabel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettings) *string { - if v == nil { - return nil - } - return v.DomainNameLabel - }).(pulumi.StringPtrOutput) -} - -// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. -func (o PublicIPAddressDnsSettingsPtrOutput) DomainNameLabelScope() PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettings) *PublicIpAddressDnsSettingsDomainNameLabelScope { - if v == nil { - return nil - } - return v.DomainNameLabelScope - }).(PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput) + }).(PacketCaptureMachineScopeOutput) } -// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. -func (o PublicIPAddressDnsSettingsPtrOutput) Fqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettings) *string { +// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. +func (o PacketCaptureMachineScopePtrOutput) Exclude() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PacketCaptureMachineScope) []string { if v == nil { return nil } - return v.Fqdn - }).(pulumi.StringPtrOutput) + return v.Exclude + }).(pulumi.StringArrayOutput) } -// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. -func (o PublicIPAddressDnsSettingsPtrOutput) ReverseFqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettings) *string { +// List of AzureVMSS instances to run packet capture on. +func (o PacketCaptureMachineScopePtrOutput) Include() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PacketCaptureMachineScope) []string { if v == nil { return nil } - return v.ReverseFqdn - }).(pulumi.StringPtrOutput) + return v.Include + }).(pulumi.StringArrayOutput) } -// Contains FQDN of the DNS record associated with the public IP address. -type PublicIPAddressDnsSettingsResponse struct { - // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. - DomainNameLabel *string `pulumi:"domainNameLabel"` - // The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. - DomainNameLabelScope *string `pulumi:"domainNameLabelScope"` - // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. - Fqdn *string `pulumi:"fqdn"` - // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. - ReverseFqdn *string `pulumi:"reverseFqdn"` +// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. +type PacketCaptureMachineScopeResponse struct { + // List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. + Exclude []string `pulumi:"exclude"` + // List of AzureVMSS instances to run packet capture on. + Include []string `pulumi:"include"` } -// Contains FQDN of the DNS record associated with the public IP address. -type PublicIPAddressDnsSettingsResponseOutput struct{ *pulumi.OutputState } +// A list of AzureVMSS instances which can be included or excluded to run packet capture. If both included and excluded are empty, then the packet capture will run on all instances of AzureVMSS. +type PacketCaptureMachineScopeResponseOutput struct{ *pulumi.OutputState } -func (PublicIPAddressDnsSettingsResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressDnsSettingsResponse)(nil)).Elem() +func (PacketCaptureMachineScopeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureMachineScopeResponse)(nil)).Elem() } -func (o PublicIPAddressDnsSettingsResponseOutput) ToPublicIPAddressDnsSettingsResponseOutput() PublicIPAddressDnsSettingsResponseOutput { +func (o PacketCaptureMachineScopeResponseOutput) ToPacketCaptureMachineScopeResponseOutput() PacketCaptureMachineScopeResponseOutput { return o } -func (o PublicIPAddressDnsSettingsResponseOutput) ToPublicIPAddressDnsSettingsResponseOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsResponseOutput { +func (o PacketCaptureMachineScopeResponseOutput) ToPacketCaptureMachineScopeResponseOutputWithContext(ctx context.Context) PacketCaptureMachineScopeResponseOutput { return o } -// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. -func (o PublicIPAddressDnsSettingsResponseOutput) DomainNameLabel() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.DomainNameLabel }).(pulumi.StringPtrOutput) -} - -// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. -func (o PublicIPAddressDnsSettingsResponseOutput) DomainNameLabelScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.DomainNameLabelScope }).(pulumi.StringPtrOutput) -} - -// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. -func (o PublicIPAddressDnsSettingsResponseOutput) Fqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.Fqdn }).(pulumi.StringPtrOutput) +// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. +func (o PacketCaptureMachineScopeResponseOutput) Exclude() pulumi.StringArrayOutput { + return o.ApplyT(func(v PacketCaptureMachineScopeResponse) []string { return v.Exclude }).(pulumi.StringArrayOutput) } -// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. -func (o PublicIPAddressDnsSettingsResponseOutput) ReverseFqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.ReverseFqdn }).(pulumi.StringPtrOutput) +// List of AzureVMSS instances to run packet capture on. +func (o PacketCaptureMachineScopeResponseOutput) Include() pulumi.StringArrayOutput { + return o.ApplyT(func(v PacketCaptureMachineScopeResponse) []string { return v.Include }).(pulumi.StringArrayOutput) } -type PublicIPAddressDnsSettingsResponsePtrOutput struct{ *pulumi.OutputState } +type PacketCaptureMachineScopeResponsePtrOutput struct{ *pulumi.OutputState } -func (PublicIPAddressDnsSettingsResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressDnsSettingsResponse)(nil)).Elem() +func (PacketCaptureMachineScopeResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PacketCaptureMachineScopeResponse)(nil)).Elem() } -func (o PublicIPAddressDnsSettingsResponsePtrOutput) ToPublicIPAddressDnsSettingsResponsePtrOutput() PublicIPAddressDnsSettingsResponsePtrOutput { +func (o PacketCaptureMachineScopeResponsePtrOutput) ToPacketCaptureMachineScopeResponsePtrOutput() PacketCaptureMachineScopeResponsePtrOutput { return o } -func (o PublicIPAddressDnsSettingsResponsePtrOutput) ToPublicIPAddressDnsSettingsResponsePtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsResponsePtrOutput { +func (o PacketCaptureMachineScopeResponsePtrOutput) ToPacketCaptureMachineScopeResponsePtrOutputWithContext(ctx context.Context) PacketCaptureMachineScopeResponsePtrOutput { return o } -func (o PublicIPAddressDnsSettingsResponsePtrOutput) Elem() PublicIPAddressDnsSettingsResponseOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) PublicIPAddressDnsSettingsResponse { +func (o PacketCaptureMachineScopeResponsePtrOutput) Elem() PacketCaptureMachineScopeResponseOutput { + return o.ApplyT(func(v *PacketCaptureMachineScopeResponse) PacketCaptureMachineScopeResponse { if v != nil { return *v } - var ret PublicIPAddressDnsSettingsResponse + var ret PacketCaptureMachineScopeResponse return ret - }).(PublicIPAddressDnsSettingsResponseOutput) + }).(PacketCaptureMachineScopeResponseOutput) } -// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. -func (o PublicIPAddressDnsSettingsResponsePtrOutput) DomainNameLabel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { +// List of AzureVMSS instances which has to be excluded from the AzureVMSS from running packet capture. +func (o PacketCaptureMachineScopeResponsePtrOutput) Exclude() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PacketCaptureMachineScopeResponse) []string { if v == nil { return nil } - return v.DomainNameLabel - }).(pulumi.StringPtrOutput) + return v.Exclude + }).(pulumi.StringArrayOutput) } -// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. -func (o PublicIPAddressDnsSettingsResponsePtrOutput) DomainNameLabelScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { +// List of AzureVMSS instances to run packet capture on. +func (o PacketCaptureMachineScopeResponsePtrOutput) Include() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PacketCaptureMachineScopeResponse) []string { if v == nil { return nil } - return v.DomainNameLabelScope - }).(pulumi.StringPtrOutput) + return v.Include + }).(pulumi.StringArrayOutput) } -// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. -func (o PublicIPAddressDnsSettingsResponsePtrOutput) Fqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { - if v == nil { - return nil - } - return v.Fqdn - }).(pulumi.StringPtrOutput) +// The storage location for a packet capture session. +type PacketCaptureSettings struct { + // Number of file count. Default value of count is 10 and maximum number is 10000. + FileCount *int `pulumi:"fileCount"` + // Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). + FileSizeInBytes *float64 `pulumi:"fileSizeInBytes"` + // Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). + SessionTimeLimitInSeconds *int `pulumi:"sessionTimeLimitInSeconds"` } -// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. -func (o PublicIPAddressDnsSettingsResponsePtrOutput) ReverseFqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { - if v == nil { - return nil - } - return v.ReverseFqdn - }).(pulumi.StringPtrOutput) +// Defaults sets the appropriate defaults for PacketCaptureSettings +func (val *PacketCaptureSettings) Defaults() *PacketCaptureSettings { + if val == nil { + return nil + } + tmp := *val + if tmp.FileCount == nil { + fileCount_ := 10 + tmp.FileCount = &fileCount_ + } + if tmp.FileSizeInBytes == nil { + fileSizeInBytes_ := 104857600.0 + tmp.FileSizeInBytes = &fileSizeInBytes_ + } + if tmp.SessionTimeLimitInSeconds == nil { + sessionTimeLimitInSeconds_ := 86400 + tmp.SessionTimeLimitInSeconds = &sessionTimeLimitInSeconds_ + } + return &tmp } -// Public IP address resource. -type PublicIPAddressResponse struct { - // The DDoS protection custom policy associated with the public IP address. - DdosSettings *DdosSettingsResponse `pulumi:"ddosSettings"` - // Specify what happens to the public IP address when the VM using it is deleted - DeleteOption *string `pulumi:"deleteOption"` - // The FQDN of the DNS record associated with the public IP address. - DnsSettings *PublicIPAddressDnsSettingsResponse `pulumi:"dnsSettings"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // The extended location of the public ip address. - ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` - // Resource ID. - Id *string `pulumi:"id"` - // The idle timeout of the public IP address. - IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` - // The IP address associated with the public IP address resource. - IpAddress *string `pulumi:"ipAddress"` - // The IP configuration associated with the public IP address. - IpConfiguration IPConfigurationResponse `pulumi:"ipConfiguration"` - // The list of tags associated with the public IP address. - IpTags []IpTagResponse `pulumi:"ipTags"` - // The linked public IP address of the public IP address resource. - LinkedPublicIPAddress *PublicIPAddressResponse `pulumi:"linkedPublicIPAddress"` - // Resource location. - Location *string `pulumi:"location"` - // Migration phase of Public IP Address. - MigrationPhase *string `pulumi:"migrationPhase"` - // Resource name. - Name string `pulumi:"name"` - // The NatGateway for the Public IP address. - NatGateway *NatGatewayResponse `pulumi:"natGateway"` - // The provisioning state of the public IP address resource. - ProvisioningState string `pulumi:"provisioningState"` - // The public IP address version. - PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` - // The public IP address allocation method. - PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` - // The Public IP Prefix this Public IP Address should be allocated from. - PublicIPPrefix *SubResourceResponse `pulumi:"publicIPPrefix"` - // The resource GUID property of the public IP address resource. - ResourceGuid string `pulumi:"resourceGuid"` - // The service public IP address of the public IP address resource. - ServicePublicIPAddress *PublicIPAddressResponse `pulumi:"servicePublicIPAddress"` - // The public IP address SKU. - Sku *PublicIPAddressSkuResponse `pulumi:"sku"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` - // Resource type. - Type string `pulumi:"type"` - // A list of availability zones denoting the IP allocated for the resource needs to come from. - Zones []string `pulumi:"zones"` +// PacketCaptureSettingsInput is an input type that accepts PacketCaptureSettingsArgs and PacketCaptureSettingsOutput values. +// You can construct a concrete instance of `PacketCaptureSettingsInput` via: +// +// PacketCaptureSettingsArgs{...} +type PacketCaptureSettingsInput interface { + pulumi.Input + + ToPacketCaptureSettingsOutput() PacketCaptureSettingsOutput + ToPacketCaptureSettingsOutputWithContext(context.Context) PacketCaptureSettingsOutput +} + +// The storage location for a packet capture session. +type PacketCaptureSettingsArgs struct { + // Number of file count. Default value of count is 10 and maximum number is 10000. + FileCount pulumi.IntPtrInput `pulumi:"fileCount"` + // Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). + FileSizeInBytes pulumi.Float64PtrInput `pulumi:"fileSizeInBytes"` + // Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). + SessionTimeLimitInSeconds pulumi.IntPtrInput `pulumi:"sessionTimeLimitInSeconds"` } -// Defaults sets the appropriate defaults for PublicIPAddressResponse -func (val *PublicIPAddressResponse) Defaults() *PublicIPAddressResponse { +// Defaults sets the appropriate defaults for PacketCaptureSettingsArgs +func (val *PacketCaptureSettingsArgs) Defaults() *PacketCaptureSettingsArgs { if val == nil { return nil } tmp := *val - tmp.IpConfiguration = *tmp.IpConfiguration.Defaults() + if tmp.FileCount == nil { + tmp.FileCount = pulumi.IntPtr(10) + } + if tmp.FileSizeInBytes == nil { + tmp.FileSizeInBytes = pulumi.Float64Ptr(104857600.0) + } + if tmp.SessionTimeLimitInSeconds == nil { + tmp.SessionTimeLimitInSeconds = pulumi.IntPtr(86400) + } + return &tmp +} +func (PacketCaptureSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureSettings)(nil)).Elem() +} - tmp.LinkedPublicIPAddress = tmp.LinkedPublicIPAddress.Defaults() +func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsOutput() PacketCaptureSettingsOutput { + return i.ToPacketCaptureSettingsOutputWithContext(context.Background()) +} - tmp.ServicePublicIPAddress = tmp.ServicePublicIPAddress.Defaults() +func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsOutputWithContext(ctx context.Context) PacketCaptureSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureSettingsOutput) +} - return &tmp +func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { + return i.ToPacketCaptureSettingsPtrOutputWithContext(context.Background()) +} + +func (i PacketCaptureSettingsArgs) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureSettingsOutput).ToPacketCaptureSettingsPtrOutputWithContext(ctx) +} + +// PacketCaptureSettingsPtrInput is an input type that accepts PacketCaptureSettingsArgs, PacketCaptureSettingsPtr and PacketCaptureSettingsPtrOutput values. +// You can construct a concrete instance of `PacketCaptureSettingsPtrInput` via: +// +// PacketCaptureSettingsArgs{...} +// +// or: +// +// nil +type PacketCaptureSettingsPtrInput interface { + pulumi.Input + + ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput + ToPacketCaptureSettingsPtrOutputWithContext(context.Context) PacketCaptureSettingsPtrOutput } -// Public IP address resource. -type PublicIPAddressResponseOutput struct{ *pulumi.OutputState } +type packetCaptureSettingsPtrType PacketCaptureSettingsArgs -func (PublicIPAddressResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressResponse)(nil)).Elem() +func PacketCaptureSettingsPtr(v *PacketCaptureSettingsArgs) PacketCaptureSettingsPtrInput { + return (*packetCaptureSettingsPtrType)(v) } -func (o PublicIPAddressResponseOutput) ToPublicIPAddressResponseOutput() PublicIPAddressResponseOutput { - return o +func (*packetCaptureSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PacketCaptureSettings)(nil)).Elem() } -func (o PublicIPAddressResponseOutput) ToPublicIPAddressResponseOutputWithContext(ctx context.Context) PublicIPAddressResponseOutput { - return o +func (i *packetCaptureSettingsPtrType) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { + return i.ToPacketCaptureSettingsPtrOutputWithContext(context.Background()) } -// The DDoS protection custom policy associated with the public IP address. -func (o PublicIPAddressResponseOutput) DdosSettings() DdosSettingsResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *DdosSettingsResponse { return v.DdosSettings }).(DdosSettingsResponsePtrOutput) +func (i *packetCaptureSettingsPtrType) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureSettingsPtrOutput) } -// Specify what happens to the public IP address when the VM using it is deleted -func (o PublicIPAddressResponseOutput) DeleteOption() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.DeleteOption }).(pulumi.StringPtrOutput) +// The storage location for a packet capture session. +type PacketCaptureSettingsOutput struct{ *pulumi.OutputState } + +func (PacketCaptureSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureSettings)(nil)).Elem() } -// The FQDN of the DNS record associated with the public IP address. -func (o PublicIPAddressResponseOutput) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressDnsSettingsResponse { return v.DnsSettings }).(PublicIPAddressDnsSettingsResponsePtrOutput) +func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsOutput() PacketCaptureSettingsOutput { + return o } -// A unique read-only string that changes whenever the resource is updated. -func (o PublicIPAddressResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v PublicIPAddressResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsOutputWithContext(ctx context.Context) PacketCaptureSettingsOutput { + return o } -// The extended location of the public ip address. -func (o PublicIPAddressResponseOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) +func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { + return o.ToPacketCaptureSettingsPtrOutputWithContext(context.Background()) } -// Resource ID. -func (o PublicIPAddressResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o PacketCaptureSettingsOutput) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PacketCaptureSettings) *PacketCaptureSettings { + return &v + }).(PacketCaptureSettingsPtrOutput) } -// The idle timeout of the public IP address. -func (o PublicIPAddressResponseOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +// Number of file count. Default value of count is 10 and maximum number is 10000. +func (o PacketCaptureSettingsOutput) FileCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v PacketCaptureSettings) *int { return v.FileCount }).(pulumi.IntPtrOutput) } -// The IP address associated with the public IP address resource. -func (o PublicIPAddressResponseOutput) IpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.IpAddress }).(pulumi.StringPtrOutput) +// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). +func (o PacketCaptureSettingsOutput) FileSizeInBytes() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PacketCaptureSettings) *float64 { return v.FileSizeInBytes }).(pulumi.Float64PtrOutput) } -// The IP configuration associated with the public IP address. -func (o PublicIPAddressResponseOutput) IpConfiguration() IPConfigurationResponseOutput { - return o.ApplyT(func(v PublicIPAddressResponse) IPConfigurationResponse { return v.IpConfiguration }).(IPConfigurationResponseOutput) +// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). +func (o PacketCaptureSettingsOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v PacketCaptureSettings) *int { return v.SessionTimeLimitInSeconds }).(pulumi.IntPtrOutput) } -// The list of tags associated with the public IP address. -func (o PublicIPAddressResponseOutput) IpTags() IpTagResponseArrayOutput { - return o.ApplyT(func(v PublicIPAddressResponse) []IpTagResponse { return v.IpTags }).(IpTagResponseArrayOutput) +type PacketCaptureSettingsPtrOutput struct{ *pulumi.OutputState } + +func (PacketCaptureSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PacketCaptureSettings)(nil)).Elem() } -// The linked public IP address of the public IP address resource. -func (o PublicIPAddressResponseOutput) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressResponse { return v.LinkedPublicIPAddress }).(PublicIPAddressResponsePtrOutput) +func (o PacketCaptureSettingsPtrOutput) ToPacketCaptureSettingsPtrOutput() PacketCaptureSettingsPtrOutput { + return o } -// Resource location. -func (o PublicIPAddressResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +func (o PacketCaptureSettingsPtrOutput) ToPacketCaptureSettingsPtrOutputWithContext(ctx context.Context) PacketCaptureSettingsPtrOutput { + return o } -// Migration phase of Public IP Address. -func (o PublicIPAddressResponseOutput) MigrationPhase() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) +func (o PacketCaptureSettingsPtrOutput) Elem() PacketCaptureSettingsOutput { + return o.ApplyT(func(v *PacketCaptureSettings) PacketCaptureSettings { + if v != nil { + return *v + } + var ret PacketCaptureSettings + return ret + }).(PacketCaptureSettingsOutput) } -// Resource name. -func (o PublicIPAddressResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v PublicIPAddressResponse) string { return v.Name }).(pulumi.StringOutput) +// Number of file count. Default value of count is 10 and maximum number is 10000. +func (o PacketCaptureSettingsPtrOutput) FileCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PacketCaptureSettings) *int { + if v == nil { + return nil + } + return v.FileCount + }).(pulumi.IntPtrOutput) } -// The NatGateway for the Public IP address. -func (o PublicIPAddressResponseOutput) NatGateway() NatGatewayResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *NatGatewayResponse { return v.NatGateway }).(NatGatewayResponsePtrOutput) +// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). +func (o PacketCaptureSettingsPtrOutput) FileSizeInBytes() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PacketCaptureSettings) *float64 { + if v == nil { + return nil + } + return v.FileSizeInBytes + }).(pulumi.Float64PtrOutput) } -// The provisioning state of the public IP address resource. -func (o PublicIPAddressResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v PublicIPAddressResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). +func (o PacketCaptureSettingsPtrOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PacketCaptureSettings) *int { + if v == nil { + return nil + } + return v.SessionTimeLimitInSeconds + }).(pulumi.IntPtrOutput) } -// The public IP address version. -func (o PublicIPAddressResponseOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) +// The storage location for a packet capture session. +type PacketCaptureSettingsResponse struct { + // Number of file count. Default value of count is 10 and maximum number is 10000. + FileCount *int `pulumi:"fileCount"` + // Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). + FileSizeInBytes *float64 `pulumi:"fileSizeInBytes"` + // Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). + SessionTimeLimitInSeconds *int `pulumi:"sessionTimeLimitInSeconds"` } -// The public IP address allocation method. -func (o PublicIPAddressResponseOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) +// Defaults sets the appropriate defaults for PacketCaptureSettingsResponse +func (val *PacketCaptureSettingsResponse) Defaults() *PacketCaptureSettingsResponse { + if val == nil { + return nil + } + tmp := *val + if tmp.FileCount == nil { + fileCount_ := 10 + tmp.FileCount = &fileCount_ + } + if tmp.FileSizeInBytes == nil { + fileSizeInBytes_ := 104857600.0 + tmp.FileSizeInBytes = &fileSizeInBytes_ + } + if tmp.SessionTimeLimitInSeconds == nil { + sessionTimeLimitInSeconds_ := 86400 + tmp.SessionTimeLimitInSeconds = &sessionTimeLimitInSeconds_ + } + return &tmp } -// The Public IP Prefix this Public IP Address should be allocated from. -func (o PublicIPAddressResponseOutput) PublicIPPrefix() SubResourceResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *SubResourceResponse { return v.PublicIPPrefix }).(SubResourceResponsePtrOutput) -} +// The storage location for a packet capture session. +type PacketCaptureSettingsResponseOutput struct{ *pulumi.OutputState } -// The resource GUID property of the public IP address resource. -func (o PublicIPAddressResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v PublicIPAddressResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +func (PacketCaptureSettingsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureSettingsResponse)(nil)).Elem() } -// The service public IP address of the public IP address resource. -func (o PublicIPAddressResponseOutput) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressResponse { return v.ServicePublicIPAddress }).(PublicIPAddressResponsePtrOutput) +func (o PacketCaptureSettingsResponseOutput) ToPacketCaptureSettingsResponseOutput() PacketCaptureSettingsResponseOutput { + return o } -// The public IP address SKU. -func (o PublicIPAddressResponseOutput) Sku() PublicIPAddressSkuResponsePtrOutput { - return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressSkuResponse { return v.Sku }).(PublicIPAddressSkuResponsePtrOutput) +func (o PacketCaptureSettingsResponseOutput) ToPacketCaptureSettingsResponseOutputWithContext(ctx context.Context) PacketCaptureSettingsResponseOutput { + return o } -// Resource tags. -func (o PublicIPAddressResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v PublicIPAddressResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +// Number of file count. Default value of count is 10 and maximum number is 10000. +func (o PacketCaptureSettingsResponseOutput) FileCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v PacketCaptureSettingsResponse) *int { return v.FileCount }).(pulumi.IntPtrOutput) } -// Resource type. -func (o PublicIPAddressResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v PublicIPAddressResponse) string { return v.Type }).(pulumi.StringOutput) +// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). +func (o PacketCaptureSettingsResponseOutput) FileSizeInBytes() pulumi.Float64PtrOutput { + return o.ApplyT(func(v PacketCaptureSettingsResponse) *float64 { return v.FileSizeInBytes }).(pulumi.Float64PtrOutput) } -// A list of availability zones denoting the IP allocated for the resource needs to come from. -func (o PublicIPAddressResponseOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v PublicIPAddressResponse) []string { return v.Zones }).(pulumi.StringArrayOutput) +// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). +func (o PacketCaptureSettingsResponseOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v PacketCaptureSettingsResponse) *int { return v.SessionTimeLimitInSeconds }).(pulumi.IntPtrOutput) } -type PublicIPAddressResponsePtrOutput struct{ *pulumi.OutputState } +type PacketCaptureSettingsResponsePtrOutput struct{ *pulumi.OutputState } -func (PublicIPAddressResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressResponse)(nil)).Elem() +func (PacketCaptureSettingsResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PacketCaptureSettingsResponse)(nil)).Elem() } -func (o PublicIPAddressResponsePtrOutput) ToPublicIPAddressResponsePtrOutput() PublicIPAddressResponsePtrOutput { +func (o PacketCaptureSettingsResponsePtrOutput) ToPacketCaptureSettingsResponsePtrOutput() PacketCaptureSettingsResponsePtrOutput { return o } -func (o PublicIPAddressResponsePtrOutput) ToPublicIPAddressResponsePtrOutputWithContext(ctx context.Context) PublicIPAddressResponsePtrOutput { +func (o PacketCaptureSettingsResponsePtrOutput) ToPacketCaptureSettingsResponsePtrOutputWithContext(ctx context.Context) PacketCaptureSettingsResponsePtrOutput { return o } -func (o PublicIPAddressResponsePtrOutput) Elem() PublicIPAddressResponseOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) PublicIPAddressResponse { +func (o PacketCaptureSettingsResponsePtrOutput) Elem() PacketCaptureSettingsResponseOutput { + return o.ApplyT(func(v *PacketCaptureSettingsResponse) PacketCaptureSettingsResponse { if v != nil { return *v } - var ret PublicIPAddressResponse + var ret PacketCaptureSettingsResponse return ret - }).(PublicIPAddressResponseOutput) + }).(PacketCaptureSettingsResponseOutput) } -// The DDoS protection custom policy associated with the public IP address. -func (o PublicIPAddressResponsePtrOutput) DdosSettings() DdosSettingsResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *DdosSettingsResponse { +// Number of file count. Default value of count is 10 and maximum number is 10000. +func (o PacketCaptureSettingsResponsePtrOutput) FileCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PacketCaptureSettingsResponse) *int { if v == nil { return nil } - return v.DdosSettings - }).(DdosSettingsResponsePtrOutput) + return v.FileCount + }).(pulumi.IntPtrOutput) } -// Specify what happens to the public IP address when the VM using it is deleted -func (o PublicIPAddressResponsePtrOutput) DeleteOption() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { +// Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB). +func (o PacketCaptureSettingsResponsePtrOutput) FileSizeInBytes() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *PacketCaptureSettingsResponse) *float64 { if v == nil { return nil } - return v.DeleteOption - }).(pulumi.StringPtrOutput) + return v.FileSizeInBytes + }).(pulumi.Float64PtrOutput) } -// The FQDN of the DNS record associated with the public IP address. -func (o PublicIPAddressResponsePtrOutput) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressDnsSettingsResponse { +// Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day). +func (o PacketCaptureSettingsResponsePtrOutput) SessionTimeLimitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PacketCaptureSettingsResponse) *int { if v == nil { return nil } - return v.DnsSettings - }).(PublicIPAddressDnsSettingsResponsePtrOutput) + return v.SessionTimeLimitInSeconds + }).(pulumi.IntPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o PublicIPAddressResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return &v.Etag - }).(pulumi.StringPtrOutput) +// The storage location for a packet capture session. +type PacketCaptureStorageLocation struct { + // This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. + FilePath *string `pulumi:"filePath"` + // This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. + LocalPath *string `pulumi:"localPath"` + // The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. + StorageId *string `pulumi:"storageId"` + // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. + StoragePath *string `pulumi:"storagePath"` } -// The extended location of the public ip address. -func (o PublicIPAddressResponsePtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *ExtendedLocationResponse { - if v == nil { - return nil - } - return v.ExtendedLocation - }).(ExtendedLocationResponsePtrOutput) -} +// PacketCaptureStorageLocationInput is an input type that accepts PacketCaptureStorageLocationArgs and PacketCaptureStorageLocationOutput values. +// You can construct a concrete instance of `PacketCaptureStorageLocationInput` via: +// +// PacketCaptureStorageLocationArgs{...} +type PacketCaptureStorageLocationInput interface { + pulumi.Input -// Resource ID. -func (o PublicIPAddressResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) + ToPacketCaptureStorageLocationOutput() PacketCaptureStorageLocationOutput + ToPacketCaptureStorageLocationOutputWithContext(context.Context) PacketCaptureStorageLocationOutput } -// The idle timeout of the public IP address. -func (o PublicIPAddressResponsePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *int { - if v == nil { - return nil - } - return v.IdleTimeoutInMinutes - }).(pulumi.IntPtrOutput) +// The storage location for a packet capture session. +type PacketCaptureStorageLocationArgs struct { + // This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. + FilePath pulumi.StringPtrInput `pulumi:"filePath"` + // This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. + LocalPath pulumi.StringPtrInput `pulumi:"localPath"` + // The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. + StorageId pulumi.StringPtrInput `pulumi:"storageId"` + // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. + StoragePath pulumi.StringPtrInput `pulumi:"storagePath"` } -// The IP address associated with the public IP address resource. -func (o PublicIPAddressResponsePtrOutput) IpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return v.IpAddress - }).(pulumi.StringPtrOutput) +func (PacketCaptureStorageLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureStorageLocation)(nil)).Elem() } -// The IP configuration associated with the public IP address. -func (o PublicIPAddressResponsePtrOutput) IpConfiguration() IPConfigurationResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *IPConfigurationResponse { - if v == nil { - return nil - } - return &v.IpConfiguration - }).(IPConfigurationResponsePtrOutput) +func (i PacketCaptureStorageLocationArgs) ToPacketCaptureStorageLocationOutput() PacketCaptureStorageLocationOutput { + return i.ToPacketCaptureStorageLocationOutputWithContext(context.Background()) } -// The list of tags associated with the public IP address. -func (o PublicIPAddressResponsePtrOutput) IpTags() IpTagResponseArrayOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) []IpTagResponse { - if v == nil { - return nil - } - return v.IpTags - }).(IpTagResponseArrayOutput) +func (i PacketCaptureStorageLocationArgs) ToPacketCaptureStorageLocationOutputWithContext(ctx context.Context) PacketCaptureStorageLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PacketCaptureStorageLocationOutput) } -// The linked public IP address of the public IP address resource. -func (o PublicIPAddressResponsePtrOutput) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressResponse { - if v == nil { - return nil - } - return v.LinkedPublicIPAddress - }).(PublicIPAddressResponsePtrOutput) +// The storage location for a packet capture session. +type PacketCaptureStorageLocationOutput struct{ *pulumi.OutputState } + +func (PacketCaptureStorageLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureStorageLocation)(nil)).Elem() } -// Resource location. -func (o PublicIPAddressResponsePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) +func (o PacketCaptureStorageLocationOutput) ToPacketCaptureStorageLocationOutput() PacketCaptureStorageLocationOutput { + return o } -// Migration phase of Public IP Address. -func (o PublicIPAddressResponsePtrOutput) MigrationPhase() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return v.MigrationPhase - }).(pulumi.StringPtrOutput) +func (o PacketCaptureStorageLocationOutput) ToPacketCaptureStorageLocationOutputWithContext(ctx context.Context) PacketCaptureStorageLocationOutput { + return o } -// Resource name. -func (o PublicIPAddressResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return &v.Name - }).(pulumi.StringPtrOutput) +// This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. +func (o PacketCaptureStorageLocationOutput) FilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.FilePath }).(pulumi.StringPtrOutput) } -// The NatGateway for the Public IP address. -func (o PublicIPAddressResponsePtrOutput) NatGateway() NatGatewayResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *NatGatewayResponse { - if v == nil { - return nil - } - return v.NatGateway - }).(NatGatewayResponsePtrOutput) +// This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. +func (o PacketCaptureStorageLocationOutput) LocalPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.LocalPath }).(pulumi.StringPtrOutput) } -// The provisioning state of the public IP address resource. -func (o PublicIPAddressResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return &v.ProvisioningState - }).(pulumi.StringPtrOutput) +// The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. +func (o PacketCaptureStorageLocationOutput) StorageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.StorageId }).(pulumi.StringPtrOutput) } -// The public IP address version. -func (o PublicIPAddressResponsePtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return v.PublicIPAddressVersion - }).(pulumi.StringPtrOutput) +// The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. +func (o PacketCaptureStorageLocationOutput) StoragePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocation) *string { return v.StoragePath }).(pulumi.StringPtrOutput) } -// The public IP address allocation method. -func (o PublicIPAddressResponsePtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return v.PublicIPAllocationMethod - }).(pulumi.StringPtrOutput) +// The storage location for a packet capture session. +type PacketCaptureStorageLocationResponse struct { + // This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. + FilePath *string `pulumi:"filePath"` + // This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. + LocalPath *string `pulumi:"localPath"` + // The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. + StorageId *string `pulumi:"storageId"` + // The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. + StoragePath *string `pulumi:"storagePath"` } -// The Public IP Prefix this Public IP Address should be allocated from. -func (o PublicIPAddressResponsePtrOutput) PublicIPPrefix() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *SubResourceResponse { - if v == nil { - return nil - } - return v.PublicIPPrefix - }).(SubResourceResponsePtrOutput) +// The storage location for a packet capture session. +type PacketCaptureStorageLocationResponseOutput struct{ *pulumi.OutputState } + +func (PacketCaptureStorageLocationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PacketCaptureStorageLocationResponse)(nil)).Elem() } -// The resource GUID property of the public IP address resource. -func (o PublicIPAddressResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return &v.ResourceGuid - }).(pulumi.StringPtrOutput) +func (o PacketCaptureStorageLocationResponseOutput) ToPacketCaptureStorageLocationResponseOutput() PacketCaptureStorageLocationResponseOutput { + return o } -// The service public IP address of the public IP address resource. -func (o PublicIPAddressResponsePtrOutput) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressResponse { - if v == nil { - return nil - } - return v.ServicePublicIPAddress - }).(PublicIPAddressResponsePtrOutput) +func (o PacketCaptureStorageLocationResponseOutput) ToPacketCaptureStorageLocationResponseOutputWithContext(ctx context.Context) PacketCaptureStorageLocationResponseOutput { + return o } -// The public IP address SKU. -func (o PublicIPAddressResponsePtrOutput) Sku() PublicIPAddressSkuResponsePtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressSkuResponse { - if v == nil { - return nil - } - return v.Sku - }).(PublicIPAddressSkuResponsePtrOutput) +// This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. +func (o PacketCaptureStorageLocationResponseOutput) FilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.FilePath }).(pulumi.StringPtrOutput) } -// Resource tags. -func (o PublicIPAddressResponsePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) +// This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. +func (o PacketCaptureStorageLocationResponseOutput) LocalPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.LocalPath }).(pulumi.StringPtrOutput) } -// Resource type. -func (o PublicIPAddressResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) *string { - if v == nil { - return nil - } - return &v.Type - }).(pulumi.StringPtrOutput) +// The ID of the storage account to save the packet capture session. Required if no localPath or filePath is provided. +func (o PacketCaptureStorageLocationResponseOutput) StorageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.StorageId }).(pulumi.StringPtrOutput) } -// A list of availability zones denoting the IP allocated for the resource needs to come from. -func (o PublicIPAddressResponsePtrOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PublicIPAddressResponse) []string { - if v == nil { - return nil - } - return v.Zones - }).(pulumi.StringArrayOutput) +// The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. +func (o PacketCaptureStorageLocationResponseOutput) StoragePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v PacketCaptureStorageLocationResponse) *string { return v.StoragePath }).(pulumi.StringPtrOutput) } -// SKU of a public IP address. -type PublicIPAddressSku struct { - // Name of a public IP address SKU. - Name *string `pulumi:"name"` - // Tier of a public IP address SKU. - Tier *string `pulumi:"tier"` +// Parameters for an Action. +type Parameter struct { + // List of AS paths. + AsPath []string `pulumi:"asPath"` + // List of BGP communities. + Community []string `pulumi:"community"` + // List of route prefixes. + RoutePrefix []string `pulumi:"routePrefix"` } -// PublicIPAddressSkuInput is an input type that accepts PublicIPAddressSkuArgs and PublicIPAddressSkuOutput values. -// You can construct a concrete instance of `PublicIPAddressSkuInput` via: +// ParameterInput is an input type that accepts ParameterArgs and ParameterOutput values. +// You can construct a concrete instance of `ParameterInput` via: // -// PublicIPAddressSkuArgs{...} -type PublicIPAddressSkuInput interface { +// ParameterArgs{...} +type ParameterInput interface { pulumi.Input - ToPublicIPAddressSkuOutput() PublicIPAddressSkuOutput - ToPublicIPAddressSkuOutputWithContext(context.Context) PublicIPAddressSkuOutput -} - -// SKU of a public IP address. -type PublicIPAddressSkuArgs struct { - // Name of a public IP address SKU. - Name pulumi.StringPtrInput `pulumi:"name"` - // Tier of a public IP address SKU. - Tier pulumi.StringPtrInput `pulumi:"tier"` -} - -func (PublicIPAddressSkuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressSku)(nil)).Elem() + ToParameterOutput() ParameterOutput + ToParameterOutputWithContext(context.Context) ParameterOutput } -func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuOutput() PublicIPAddressSkuOutput { - return i.ToPublicIPAddressSkuOutputWithContext(context.Background()) +// Parameters for an Action. +type ParameterArgs struct { + // List of AS paths. + AsPath pulumi.StringArrayInput `pulumi:"asPath"` + // List of BGP communities. + Community pulumi.StringArrayInput `pulumi:"community"` + // List of route prefixes. + RoutePrefix pulumi.StringArrayInput `pulumi:"routePrefix"` } -func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuOutputWithContext(ctx context.Context) PublicIPAddressSkuOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressSkuOutput) +func (ParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Parameter)(nil)).Elem() } -func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { - return i.ToPublicIPAddressSkuPtrOutputWithContext(context.Background()) +func (i ParameterArgs) ToParameterOutput() ParameterOutput { + return i.ToParameterOutputWithContext(context.Background()) } -func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressSkuOutput).ToPublicIPAddressSkuPtrOutputWithContext(ctx) +func (i ParameterArgs) ToParameterOutputWithContext(ctx context.Context) ParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ParameterOutput) } -// PublicIPAddressSkuPtrInput is an input type that accepts PublicIPAddressSkuArgs, PublicIPAddressSkuPtr and PublicIPAddressSkuPtrOutput values. -// You can construct a concrete instance of `PublicIPAddressSkuPtrInput` via: -// -// PublicIPAddressSkuArgs{...} -// -// or: +// ParameterArrayInput is an input type that accepts ParameterArray and ParameterArrayOutput values. +// You can construct a concrete instance of `ParameterArrayInput` via: // -// nil -type PublicIPAddressSkuPtrInput interface { +// ParameterArray{ ParameterArgs{...} } +type ParameterArrayInput interface { pulumi.Input - ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput - ToPublicIPAddressSkuPtrOutputWithContext(context.Context) PublicIPAddressSkuPtrOutput + ToParameterArrayOutput() ParameterArrayOutput + ToParameterArrayOutputWithContext(context.Context) ParameterArrayOutput } -type publicIPAddressSkuPtrType PublicIPAddressSkuArgs - -func PublicIPAddressSkuPtr(v *PublicIPAddressSkuArgs) PublicIPAddressSkuPtrInput { - return (*publicIPAddressSkuPtrType)(v) -} +type ParameterArray []ParameterInput -func (*publicIPAddressSkuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressSku)(nil)).Elem() +func (ParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Parameter)(nil)).Elem() } -func (i *publicIPAddressSkuPtrType) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { - return i.ToPublicIPAddressSkuPtrOutputWithContext(context.Background()) +func (i ParameterArray) ToParameterArrayOutput() ParameterArrayOutput { + return i.ToParameterArrayOutputWithContext(context.Background()) } -func (i *publicIPAddressSkuPtrType) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressSkuPtrOutput) +func (i ParameterArray) ToParameterArrayOutputWithContext(ctx context.Context) ParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ParameterArrayOutput) } -// SKU of a public IP address. -type PublicIPAddressSkuOutput struct{ *pulumi.OutputState } +// Parameters for an Action. +type ParameterOutput struct{ *pulumi.OutputState } -func (PublicIPAddressSkuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressSku)(nil)).Elem() +func (ParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Parameter)(nil)).Elem() } -func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuOutput() PublicIPAddressSkuOutput { +func (o ParameterOutput) ToParameterOutput() ParameterOutput { return o } -func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuOutputWithContext(ctx context.Context) PublicIPAddressSkuOutput { +func (o ParameterOutput) ToParameterOutputWithContext(ctx context.Context) ParameterOutput { return o } -func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { - return o.ToPublicIPAddressSkuPtrOutputWithContext(context.Background()) -} - -func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPAddressSku) *PublicIPAddressSku { - return &v - }).(PublicIPAddressSkuPtrOutput) +// List of AS paths. +func (o ParameterOutput) AsPath() pulumi.StringArrayOutput { + return o.ApplyT(func(v Parameter) []string { return v.AsPath }).(pulumi.StringArrayOutput) } -// Name of a public IP address SKU. -func (o PublicIPAddressSkuOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressSku) *string { return v.Name }).(pulumi.StringPtrOutput) +// List of BGP communities. +func (o ParameterOutput) Community() pulumi.StringArrayOutput { + return o.ApplyT(func(v Parameter) []string { return v.Community }).(pulumi.StringArrayOutput) } -// Tier of a public IP address SKU. -func (o PublicIPAddressSkuOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressSku) *string { return v.Tier }).(pulumi.StringPtrOutput) +// List of route prefixes. +func (o ParameterOutput) RoutePrefix() pulumi.StringArrayOutput { + return o.ApplyT(func(v Parameter) []string { return v.RoutePrefix }).(pulumi.StringArrayOutput) } -type PublicIPAddressSkuPtrOutput struct{ *pulumi.OutputState } +type ParameterArrayOutput struct{ *pulumi.OutputState } -func (PublicIPAddressSkuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressSku)(nil)).Elem() +func (ParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Parameter)(nil)).Elem() } -func (o PublicIPAddressSkuPtrOutput) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { +func (o ParameterArrayOutput) ToParameterArrayOutput() ParameterArrayOutput { return o } -func (o PublicIPAddressSkuPtrOutput) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { +func (o ParameterArrayOutput) ToParameterArrayOutputWithContext(ctx context.Context) ParameterArrayOutput { return o } -func (o PublicIPAddressSkuPtrOutput) Elem() PublicIPAddressSkuOutput { - return o.ApplyT(func(v *PublicIPAddressSku) PublicIPAddressSku { - if v != nil { - return *v - } - var ret PublicIPAddressSku - return ret - }).(PublicIPAddressSkuOutput) +func (o ParameterArrayOutput) Index(i pulumi.IntInput) ParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Parameter { + return vs[0].([]Parameter)[vs[1].(int)] + }).(ParameterOutput) } -// Name of a public IP address SKU. -func (o PublicIPAddressSkuPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressSku) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) +// Parameters for an Action. +type ParameterResponse struct { + // List of AS paths. + AsPath []string `pulumi:"asPath"` + // List of BGP communities. + Community []string `pulumi:"community"` + // List of route prefixes. + RoutePrefix []string `pulumi:"routePrefix"` } -// Tier of a public IP address SKU. -func (o PublicIPAddressSkuPtrOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressSku) *string { - if v == nil { - return nil - } - return v.Tier - }).(pulumi.StringPtrOutput) -} +// Parameters for an Action. +type ParameterResponseOutput struct{ *pulumi.OutputState } -// SKU of a public IP address. -type PublicIPAddressSkuResponse struct { - // Name of a public IP address SKU. - Name *string `pulumi:"name"` - // Tier of a public IP address SKU. - Tier *string `pulumi:"tier"` +func (ParameterResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ParameterResponse)(nil)).Elem() } -// SKU of a public IP address. -type PublicIPAddressSkuResponseOutput struct{ *pulumi.OutputState } - -func (PublicIPAddressSkuResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPAddressSkuResponse)(nil)).Elem() +func (o ParameterResponseOutput) ToParameterResponseOutput() ParameterResponseOutput { + return o } -func (o PublicIPAddressSkuResponseOutput) ToPublicIPAddressSkuResponseOutput() PublicIPAddressSkuResponseOutput { +func (o ParameterResponseOutput) ToParameterResponseOutputWithContext(ctx context.Context) ParameterResponseOutput { return o } -func (o PublicIPAddressSkuResponseOutput) ToPublicIPAddressSkuResponseOutputWithContext(ctx context.Context) PublicIPAddressSkuResponseOutput { - return o +// List of AS paths. +func (o ParameterResponseOutput) AsPath() pulumi.StringArrayOutput { + return o.ApplyT(func(v ParameterResponse) []string { return v.AsPath }).(pulumi.StringArrayOutput) } -// Name of a public IP address SKU. -func (o PublicIPAddressSkuResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressSkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// List of BGP communities. +func (o ParameterResponseOutput) Community() pulumi.StringArrayOutput { + return o.ApplyT(func(v ParameterResponse) []string { return v.Community }).(pulumi.StringArrayOutput) } -// Tier of a public IP address SKU. -func (o PublicIPAddressSkuResponseOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPAddressSkuResponse) *string { return v.Tier }).(pulumi.StringPtrOutput) +// List of route prefixes. +func (o ParameterResponseOutput) RoutePrefix() pulumi.StringArrayOutput { + return o.ApplyT(func(v ParameterResponse) []string { return v.RoutePrefix }).(pulumi.StringArrayOutput) } -type PublicIPAddressSkuResponsePtrOutput struct{ *pulumi.OutputState } +type ParameterResponseArrayOutput struct{ *pulumi.OutputState } -func (PublicIPAddressSkuResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPAddressSkuResponse)(nil)).Elem() +func (ParameterResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ParameterResponse)(nil)).Elem() } -func (o PublicIPAddressSkuResponsePtrOutput) ToPublicIPAddressSkuResponsePtrOutput() PublicIPAddressSkuResponsePtrOutput { +func (o ParameterResponseArrayOutput) ToParameterResponseArrayOutput() ParameterResponseArrayOutput { return o } -func (o PublicIPAddressSkuResponsePtrOutput) ToPublicIPAddressSkuResponsePtrOutputWithContext(ctx context.Context) PublicIPAddressSkuResponsePtrOutput { +func (o ParameterResponseArrayOutput) ToParameterResponseArrayOutputWithContext(ctx context.Context) ParameterResponseArrayOutput { return o } -func (o PublicIPAddressSkuResponsePtrOutput) Elem() PublicIPAddressSkuResponseOutput { - return o.ApplyT(func(v *PublicIPAddressSkuResponse) PublicIPAddressSkuResponse { - if v != nil { - return *v - } - var ret PublicIPAddressSkuResponse - return ret - }).(PublicIPAddressSkuResponseOutput) +func (o ParameterResponseArrayOutput) Index(i pulumi.IntInput) ParameterResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ParameterResponse { + return vs[0].([]ParameterResponse)[vs[1].(int)] + }).(ParameterResponseOutput) } -// Name of a public IP address SKU. -func (o PublicIPAddressSkuResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressSkuResponse) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) +// Properties of the partner managed resource. +type PartnerManagedResourcePropertiesResponse struct { + // The partner managed resource id. + Id string `pulumi:"id"` + // The partner managed ILB resource id + InternalLoadBalancerId string `pulumi:"internalLoadBalancerId"` + // The partner managed SLB resource id + StandardLoadBalancerId string `pulumi:"standardLoadBalancerId"` } -// Tier of a public IP address SKU. -func (o PublicIPAddressSkuResponsePtrOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPAddressSkuResponse) *string { - if v == nil { - return nil - } - return v.Tier - }).(pulumi.StringPtrOutput) -} +// Properties of the partner managed resource. +type PartnerManagedResourcePropertiesResponseOutput struct{ *pulumi.OutputState } -// SKU of a public IP prefix. -type PublicIPPrefixSku struct { - // Name of a public IP prefix SKU. - Name *string `pulumi:"name"` - // Tier of a public IP prefix SKU. - Tier *string `pulumi:"tier"` +func (PartnerManagedResourcePropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PartnerManagedResourcePropertiesResponse)(nil)).Elem() } -// PublicIPPrefixSkuInput is an input type that accepts PublicIPPrefixSkuArgs and PublicIPPrefixSkuOutput values. -// You can construct a concrete instance of `PublicIPPrefixSkuInput` via: -// -// PublicIPPrefixSkuArgs{...} -type PublicIPPrefixSkuInput interface { - pulumi.Input - - ToPublicIPPrefixSkuOutput() PublicIPPrefixSkuOutput - ToPublicIPPrefixSkuOutputWithContext(context.Context) PublicIPPrefixSkuOutput +func (o PartnerManagedResourcePropertiesResponseOutput) ToPartnerManagedResourcePropertiesResponseOutput() PartnerManagedResourcePropertiesResponseOutput { + return o } -// SKU of a public IP prefix. -type PublicIPPrefixSkuArgs struct { - // Name of a public IP prefix SKU. - Name pulumi.StringPtrInput `pulumi:"name"` - // Tier of a public IP prefix SKU. - Tier pulumi.StringPtrInput `pulumi:"tier"` +func (o PartnerManagedResourcePropertiesResponseOutput) ToPartnerManagedResourcePropertiesResponseOutputWithContext(ctx context.Context) PartnerManagedResourcePropertiesResponseOutput { + return o } -func (PublicIPPrefixSkuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPPrefixSku)(nil)).Elem() +// The partner managed resource id. +func (o PartnerManagedResourcePropertiesResponseOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v PartnerManagedResourcePropertiesResponse) string { return v.Id }).(pulumi.StringOutput) } -func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuOutput() PublicIPPrefixSkuOutput { - return i.ToPublicIPPrefixSkuOutputWithContext(context.Background()) +// The partner managed ILB resource id +func (o PartnerManagedResourcePropertiesResponseOutput) InternalLoadBalancerId() pulumi.StringOutput { + return o.ApplyT(func(v PartnerManagedResourcePropertiesResponse) string { return v.InternalLoadBalancerId }).(pulumi.StringOutput) } -func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuOutputWithContext(ctx context.Context) PublicIPPrefixSkuOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPPrefixSkuOutput) +// The partner managed SLB resource id +func (o PartnerManagedResourcePropertiesResponseOutput) StandardLoadBalancerId() pulumi.StringOutput { + return o.ApplyT(func(v PartnerManagedResourcePropertiesResponse) string { return v.StandardLoadBalancerId }).(pulumi.StringOutput) } -func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { - return i.ToPublicIPPrefixSkuPtrOutputWithContext(context.Background()) -} +type PartnerManagedResourcePropertiesResponsePtrOutput struct{ *pulumi.OutputState } -func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPPrefixSkuOutput).ToPublicIPPrefixSkuPtrOutputWithContext(ctx) +func (PartnerManagedResourcePropertiesResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PartnerManagedResourcePropertiesResponse)(nil)).Elem() } -// PublicIPPrefixSkuPtrInput is an input type that accepts PublicIPPrefixSkuArgs, PublicIPPrefixSkuPtr and PublicIPPrefixSkuPtrOutput values. -// You can construct a concrete instance of `PublicIPPrefixSkuPtrInput` via: -// -// PublicIPPrefixSkuArgs{...} -// -// or: -// -// nil -type PublicIPPrefixSkuPtrInput interface { - pulumi.Input +func (o PartnerManagedResourcePropertiesResponsePtrOutput) ToPartnerManagedResourcePropertiesResponsePtrOutput() PartnerManagedResourcePropertiesResponsePtrOutput { + return o +} - ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput - ToPublicIPPrefixSkuPtrOutputWithContext(context.Context) PublicIPPrefixSkuPtrOutput +func (o PartnerManagedResourcePropertiesResponsePtrOutput) ToPartnerManagedResourcePropertiesResponsePtrOutputWithContext(ctx context.Context) PartnerManagedResourcePropertiesResponsePtrOutput { + return o } -type publicIPPrefixSkuPtrType PublicIPPrefixSkuArgs +func (o PartnerManagedResourcePropertiesResponsePtrOutput) Elem() PartnerManagedResourcePropertiesResponseOutput { + return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) PartnerManagedResourcePropertiesResponse { + if v != nil { + return *v + } + var ret PartnerManagedResourcePropertiesResponse + return ret + }).(PartnerManagedResourcePropertiesResponseOutput) +} -func PublicIPPrefixSkuPtr(v *PublicIPPrefixSkuArgs) PublicIPPrefixSkuPtrInput { - return (*publicIPPrefixSkuPtrType)(v) +// The partner managed resource id. +func (o PartnerManagedResourcePropertiesResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) } -func (*publicIPPrefixSkuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPPrefixSku)(nil)).Elem() +// The partner managed ILB resource id +func (o PartnerManagedResourcePropertiesResponsePtrOutput) InternalLoadBalancerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) *string { + if v == nil { + return nil + } + return &v.InternalLoadBalancerId + }).(pulumi.StringPtrOutput) } -func (i *publicIPPrefixSkuPtrType) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { - return i.ToPublicIPPrefixSkuPtrOutputWithContext(context.Background()) +// The partner managed SLB resource id +func (o PartnerManagedResourcePropertiesResponsePtrOutput) StandardLoadBalancerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PartnerManagedResourcePropertiesResponse) *string { + if v == nil { + return nil + } + return &v.StandardLoadBalancerId + }).(pulumi.StringPtrOutput) } -func (i *publicIPPrefixSkuPtrType) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PublicIPPrefixSkuPtrOutput) +// Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. +type PeerExpressRouteCircuitConnectionResponse struct { + // /29 IP address space to carve out Customer addresses for tunnels. + AddressPrefix *string `pulumi:"addressPrefix"` + // The resource guid of the authorization used for the express route circuit connection. + AuthResourceGuid *string `pulumi:"authResourceGuid"` + // Express Route Circuit connection state. + CircuitConnectionStatus string `pulumi:"circuitConnectionStatus"` + // The name of the express route circuit connection resource. + ConnectionName *string `pulumi:"connectionName"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Reference to Express Route Circuit Private Peering Resource of the circuit. + ExpressRouteCircuitPeering *SubResourceResponse `pulumi:"expressRouteCircuitPeering"` + // Resource ID. + Id *string `pulumi:"id"` + // 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"` + // Reference to Express Route Circuit Private Peering Resource of the peered circuit. + PeerExpressRouteCircuitPeering *SubResourceResponse `pulumi:"peerExpressRouteCircuitPeering"` + // The provisioning state of the peer express route circuit connection resource. + ProvisioningState string `pulumi:"provisioningState"` + // Type of the resource. + Type string `pulumi:"type"` } -// SKU of a public IP prefix. -type PublicIPPrefixSkuOutput struct{ *pulumi.OutputState } +// Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. +type PeerExpressRouteCircuitConnectionResponseOutput struct{ *pulumi.OutputState } -func (PublicIPPrefixSkuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPPrefixSku)(nil)).Elem() +func (PeerExpressRouteCircuitConnectionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PeerExpressRouteCircuitConnectionResponse)(nil)).Elem() } -func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuOutput() PublicIPPrefixSkuOutput { +func (o PeerExpressRouteCircuitConnectionResponseOutput) ToPeerExpressRouteCircuitConnectionResponseOutput() PeerExpressRouteCircuitConnectionResponseOutput { return o } -func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuOutputWithContext(ctx context.Context) PublicIPPrefixSkuOutput { +func (o PeerExpressRouteCircuitConnectionResponseOutput) ToPeerExpressRouteCircuitConnectionResponseOutputWithContext(ctx context.Context) PeerExpressRouteCircuitConnectionResponseOutput { return o } -func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { - return o.ToPublicIPPrefixSkuPtrOutputWithContext(context.Background()) +// /29 IP address space to carve out Customer addresses for tunnels. +func (o PeerExpressRouteCircuitConnectionResponseOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) } -func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPPrefixSku) *PublicIPPrefixSku { - return &v - }).(PublicIPPrefixSkuPtrOutput) +// The resource guid of the authorization used for the express route circuit connection. +func (o PeerExpressRouteCircuitConnectionResponseOutput) AuthResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.AuthResourceGuid }).(pulumi.StringPtrOutput) } -// Name of a public IP prefix SKU. -func (o PublicIPPrefixSkuOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPPrefixSku) *string { return v.Name }).(pulumi.StringPtrOutput) +// Express Route Circuit connection state. +func (o PeerExpressRouteCircuitConnectionResponseOutput) CircuitConnectionStatus() pulumi.StringOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.CircuitConnectionStatus }).(pulumi.StringOutput) } -// Tier of a public IP prefix SKU. -func (o PublicIPPrefixSkuOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPPrefixSku) *string { return v.Tier }).(pulumi.StringPtrOutput) +// The name of the express route circuit connection resource. +func (o PeerExpressRouteCircuitConnectionResponseOutput) ConnectionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.ConnectionName }).(pulumi.StringPtrOutput) } -type PublicIPPrefixSkuPtrOutput struct{ *pulumi.OutputState } - -func (PublicIPPrefixSkuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPPrefixSku)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o PeerExpressRouteCircuitConnectionResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.Etag }).(pulumi.StringOutput) } -func (o PublicIPPrefixSkuPtrOutput) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { - return o +// Reference to Express Route Circuit Private Peering Resource of the circuit. +func (o PeerExpressRouteCircuitConnectionResponseOutput) ExpressRouteCircuitPeering() SubResourceResponsePtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *SubResourceResponse { + return v.ExpressRouteCircuitPeering + }).(SubResourceResponsePtrOutput) } -func (o PublicIPPrefixSkuPtrOutput) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { - return o +// Resource ID. +func (o PeerExpressRouteCircuitConnectionResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o PublicIPPrefixSkuPtrOutput) Elem() PublicIPPrefixSkuOutput { - return o.ApplyT(func(v *PublicIPPrefixSku) PublicIPPrefixSku { - if v != nil { - return *v - } - var ret PublicIPPrefixSku - return ret - }).(PublicIPPrefixSkuOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o PeerExpressRouteCircuitConnectionResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Name of a public IP prefix SKU. -func (o PublicIPPrefixSkuPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPPrefixSku) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) +// Reference to Express Route Circuit Private Peering Resource of the peered circuit. +func (o PeerExpressRouteCircuitConnectionResponseOutput) PeerExpressRouteCircuitPeering() SubResourceResponsePtrOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) *SubResourceResponse { + return v.PeerExpressRouteCircuitPeering + }).(SubResourceResponsePtrOutput) } -// Tier of a public IP prefix SKU. -func (o PublicIPPrefixSkuPtrOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPPrefixSku) *string { - if v == nil { - return nil - } - return v.Tier - }).(pulumi.StringPtrOutput) +// The provisioning state of the peer express route circuit connection resource. +func (o PeerExpressRouteCircuitConnectionResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// SKU of a public IP prefix. -type PublicIPPrefixSkuResponse struct { - // Name of a public IP prefix SKU. - Name *string `pulumi:"name"` - // Tier of a public IP prefix SKU. - Tier *string `pulumi:"tier"` +// Type of the resource. +func (o PeerExpressRouteCircuitConnectionResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PeerExpressRouteCircuitConnectionResponse) string { return v.Type }).(pulumi.StringOutput) } -// SKU of a public IP prefix. -type PublicIPPrefixSkuResponseOutput struct{ *pulumi.OutputState } +type PeerExpressRouteCircuitConnectionResponseArrayOutput struct{ *pulumi.OutputState } -func (PublicIPPrefixSkuResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PublicIPPrefixSkuResponse)(nil)).Elem() +func (PeerExpressRouteCircuitConnectionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PeerExpressRouteCircuitConnectionResponse)(nil)).Elem() } -func (o PublicIPPrefixSkuResponseOutput) ToPublicIPPrefixSkuResponseOutput() PublicIPPrefixSkuResponseOutput { +func (o PeerExpressRouteCircuitConnectionResponseArrayOutput) ToPeerExpressRouteCircuitConnectionResponseArrayOutput() PeerExpressRouteCircuitConnectionResponseArrayOutput { return o } -func (o PublicIPPrefixSkuResponseOutput) ToPublicIPPrefixSkuResponseOutputWithContext(ctx context.Context) PublicIPPrefixSkuResponseOutput { +func (o PeerExpressRouteCircuitConnectionResponseArrayOutput) ToPeerExpressRouteCircuitConnectionResponseArrayOutputWithContext(ctx context.Context) PeerExpressRouteCircuitConnectionResponseArrayOutput { return o } -// Name of a public IP prefix SKU. -func (o PublicIPPrefixSkuResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPPrefixSkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o PeerExpressRouteCircuitConnectionResponseArrayOutput) Index(i pulumi.IntInput) PeerExpressRouteCircuitConnectionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PeerExpressRouteCircuitConnectionResponse { + return vs[0].([]PeerExpressRouteCircuitConnectionResponse)[vs[1].(int)] + }).(PeerExpressRouteCircuitConnectionResponseOutput) } -// Tier of a public IP prefix SKU. -func (o PublicIPPrefixSkuResponseOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v PublicIPPrefixSkuResponse) *string { return v.Tier }).(pulumi.StringPtrOutput) +type PerimeterBasedAccessRuleResponse struct { + // NSP id in the ARM id format. + Id string `pulumi:"id"` + // Location of the NSP supplied. + Location string `pulumi:"location"` + // Resource guid of the NSP supplied. + PerimeterGuid string `pulumi:"perimeterGuid"` } -type PublicIPPrefixSkuResponsePtrOutput struct{ *pulumi.OutputState } +type PerimeterBasedAccessRuleResponseOutput struct{ *pulumi.OutputState } -func (PublicIPPrefixSkuResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PublicIPPrefixSkuResponse)(nil)).Elem() +func (PerimeterBasedAccessRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PerimeterBasedAccessRuleResponse)(nil)).Elem() } -func (o PublicIPPrefixSkuResponsePtrOutput) ToPublicIPPrefixSkuResponsePtrOutput() PublicIPPrefixSkuResponsePtrOutput { +func (o PerimeterBasedAccessRuleResponseOutput) ToPerimeterBasedAccessRuleResponseOutput() PerimeterBasedAccessRuleResponseOutput { return o } -func (o PublicIPPrefixSkuResponsePtrOutput) ToPublicIPPrefixSkuResponsePtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuResponsePtrOutput { +func (o PerimeterBasedAccessRuleResponseOutput) ToPerimeterBasedAccessRuleResponseOutputWithContext(ctx context.Context) PerimeterBasedAccessRuleResponseOutput { return o } -func (o PublicIPPrefixSkuResponsePtrOutput) Elem() PublicIPPrefixSkuResponseOutput { - return o.ApplyT(func(v *PublicIPPrefixSkuResponse) PublicIPPrefixSkuResponse { - if v != nil { - return *v - } - var ret PublicIPPrefixSkuResponse - return ret - }).(PublicIPPrefixSkuResponseOutput) +// NSP id in the ARM id format. +func (o PerimeterBasedAccessRuleResponseOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v PerimeterBasedAccessRuleResponse) string { return v.Id }).(pulumi.StringOutput) } -// Name of a public IP prefix SKU. -func (o PublicIPPrefixSkuResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPPrefixSkuResponse) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) +// Location of the NSP supplied. +func (o PerimeterBasedAccessRuleResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v PerimeterBasedAccessRuleResponse) string { return v.Location }).(pulumi.StringOutput) } -// Tier of a public IP prefix SKU. -func (o PublicIPPrefixSkuResponsePtrOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PublicIPPrefixSkuResponse) *string { - if v == nil { - return nil - } - return v.Tier - }).(pulumi.StringPtrOutput) +// Resource guid of the NSP supplied. +func (o PerimeterBasedAccessRuleResponseOutput) PerimeterGuid() pulumi.StringOutput { + return o.ApplyT(func(v PerimeterBasedAccessRuleResponse) string { return v.PerimeterGuid }).(pulumi.StringOutput) } -// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. -type QosDefinition struct { - // Destination IP ranges. - DestinationIpRanges []QosIpRange `pulumi:"destinationIpRanges"` - // Destination port ranges. - DestinationPortRanges []QosPortRange `pulumi:"destinationPortRanges"` - // List of markings to be used in the configuration. - Markings []int `pulumi:"markings"` - // RNM supported protocol types. - Protocol *string `pulumi:"protocol"` - // Source IP ranges. - SourceIpRanges []QosIpRange `pulumi:"sourceIpRanges"` - // Sources port ranges. - SourcePortRanges []QosPortRange `pulumi:"sourcePortRanges"` -} +type PerimeterBasedAccessRuleResponseArrayOutput struct{ *pulumi.OutputState } -// QosDefinitionInput is an input type that accepts QosDefinitionArgs and QosDefinitionOutput values. -// You can construct a concrete instance of `QosDefinitionInput` via: -// -// QosDefinitionArgs{...} -type QosDefinitionInput interface { - pulumi.Input +func (PerimeterBasedAccessRuleResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PerimeterBasedAccessRuleResponse)(nil)).Elem() +} - ToQosDefinitionOutput() QosDefinitionOutput - ToQosDefinitionOutputWithContext(context.Context) QosDefinitionOutput +func (o PerimeterBasedAccessRuleResponseArrayOutput) ToPerimeterBasedAccessRuleResponseArrayOutput() PerimeterBasedAccessRuleResponseArrayOutput { + return o } -// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. -type QosDefinitionArgs struct { - // Destination IP ranges. - DestinationIpRanges QosIpRangeArrayInput `pulumi:"destinationIpRanges"` - // Destination port ranges. - DestinationPortRanges QosPortRangeArrayInput `pulumi:"destinationPortRanges"` - // List of markings to be used in the configuration. - Markings pulumi.IntArrayInput `pulumi:"markings"` - // RNM supported protocol types. - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - // Source IP ranges. - SourceIpRanges QosIpRangeArrayInput `pulumi:"sourceIpRanges"` - // Sources port ranges. - SourcePortRanges QosPortRangeArrayInput `pulumi:"sourcePortRanges"` +func (o PerimeterBasedAccessRuleResponseArrayOutput) ToPerimeterBasedAccessRuleResponseArrayOutputWithContext(ctx context.Context) PerimeterBasedAccessRuleResponseArrayOutput { + return o } -func (QosDefinitionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*QosDefinition)(nil)).Elem() +func (o PerimeterBasedAccessRuleResponseArrayOutput) Index(i pulumi.IntInput) PerimeterBasedAccessRuleResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PerimeterBasedAccessRuleResponse { + return vs[0].([]PerimeterBasedAccessRuleResponse)[vs[1].(int)] + }).(PerimeterBasedAccessRuleResponseOutput) } -func (i QosDefinitionArgs) ToQosDefinitionOutput() QosDefinitionOutput { - return i.ToQosDefinitionOutputWithContext(context.Background()) +// Defines contents of a web application firewall global configuration. +type PolicySettings struct { + // If the action type is block, customer can override the response body. The body must be specified in base64 encoding. + CustomBlockResponseBody *string `pulumi:"customBlockResponseBody"` + // If the action type is block, customer can override the response status code. + CustomBlockResponseStatusCode *int `pulumi:"customBlockResponseStatusCode"` + // Whether allow WAF to enforce file upload limits. + FileUploadEnforcement *bool `pulumi:"fileUploadEnforcement"` + // Maximum file upload size in Mb for WAF. + FileUploadLimitInMb *int `pulumi:"fileUploadLimitInMb"` + // Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. + JsChallengeCookieExpirationInMins *int `pulumi:"jsChallengeCookieExpirationInMins"` + // To scrub sensitive log fields + LogScrubbing *PolicySettingsLogScrubbing `pulumi:"logScrubbing"` + // Maximum request body size in Kb for WAF. + MaxRequestBodySizeInKb *int `pulumi:"maxRequestBodySizeInKb"` + // The mode of the policy. + Mode *string `pulumi:"mode"` + // Whether to allow WAF to check request Body. + RequestBodyCheck *bool `pulumi:"requestBodyCheck"` + // Whether allow WAF to enforce request body limits. + RequestBodyEnforcement *bool `pulumi:"requestBodyEnforcement"` + // Max inspection limit in KB for request body inspection for WAF. + RequestBodyInspectLimitInKB *int `pulumi:"requestBodyInspectLimitInKB"` + // The state of the policy. + State *string `pulumi:"state"` } -func (i QosDefinitionArgs) ToQosDefinitionOutputWithContext(ctx context.Context) QosDefinitionOutput { - return pulumi.ToOutputWithContext(ctx, i).(QosDefinitionOutput) +// Defaults sets the appropriate defaults for PolicySettings +func (val *PolicySettings) Defaults() *PolicySettings { + if val == nil { + return nil + } + tmp := *val + if tmp.FileUploadEnforcement == nil { + fileUploadEnforcement_ := true + tmp.FileUploadEnforcement = &fileUploadEnforcement_ + } + if tmp.RequestBodyEnforcement == nil { + requestBodyEnforcement_ := true + tmp.RequestBodyEnforcement = &requestBodyEnforcement_ + } + return &tmp } -// QosDefinitionArrayInput is an input type that accepts QosDefinitionArray and QosDefinitionArrayOutput values. -// You can construct a concrete instance of `QosDefinitionArrayInput` via: +// PolicySettingsInput is an input type that accepts PolicySettingsArgs and PolicySettingsOutput values. +// You can construct a concrete instance of `PolicySettingsInput` via: // -// QosDefinitionArray{ QosDefinitionArgs{...} } -type QosDefinitionArrayInput interface { +// PolicySettingsArgs{...} +type PolicySettingsInput interface { pulumi.Input - ToQosDefinitionArrayOutput() QosDefinitionArrayOutput - ToQosDefinitionArrayOutputWithContext(context.Context) QosDefinitionArrayOutput + ToPolicySettingsOutput() PolicySettingsOutput + ToPolicySettingsOutputWithContext(context.Context) PolicySettingsOutput } -type QosDefinitionArray []QosDefinitionInput - -func (QosDefinitionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosDefinition)(nil)).Elem() +// Defines contents of a web application firewall global configuration. +type PolicySettingsArgs struct { + // If the action type is block, customer can override the response body. The body must be specified in base64 encoding. + CustomBlockResponseBody pulumi.StringPtrInput `pulumi:"customBlockResponseBody"` + // If the action type is block, customer can override the response status code. + CustomBlockResponseStatusCode pulumi.IntPtrInput `pulumi:"customBlockResponseStatusCode"` + // Whether allow WAF to enforce file upload limits. + FileUploadEnforcement pulumi.BoolPtrInput `pulumi:"fileUploadEnforcement"` + // Maximum file upload size in Mb for WAF. + FileUploadLimitInMb pulumi.IntPtrInput `pulumi:"fileUploadLimitInMb"` + // Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. + JsChallengeCookieExpirationInMins pulumi.IntPtrInput `pulumi:"jsChallengeCookieExpirationInMins"` + // To scrub sensitive log fields + LogScrubbing PolicySettingsLogScrubbingPtrInput `pulumi:"logScrubbing"` + // Maximum request body size in Kb for WAF. + MaxRequestBodySizeInKb pulumi.IntPtrInput `pulumi:"maxRequestBodySizeInKb"` + // The mode of the policy. + Mode pulumi.StringPtrInput `pulumi:"mode"` + // Whether to allow WAF to check request Body. + RequestBodyCheck pulumi.BoolPtrInput `pulumi:"requestBodyCheck"` + // Whether allow WAF to enforce request body limits. + RequestBodyEnforcement pulumi.BoolPtrInput `pulumi:"requestBodyEnforcement"` + // Max inspection limit in KB for request body inspection for WAF. + RequestBodyInspectLimitInKB pulumi.IntPtrInput `pulumi:"requestBodyInspectLimitInKB"` + // The state of the policy. + State pulumi.StringPtrInput `pulumi:"state"` } -func (i QosDefinitionArray) ToQosDefinitionArrayOutput() QosDefinitionArrayOutput { - return i.ToQosDefinitionArrayOutputWithContext(context.Background()) +// Defaults sets the appropriate defaults for PolicySettingsArgs +func (val *PolicySettingsArgs) Defaults() *PolicySettingsArgs { + if val == nil { + return nil + } + tmp := *val + if tmp.FileUploadEnforcement == nil { + tmp.FileUploadEnforcement = pulumi.BoolPtr(true) + } + if tmp.RequestBodyEnforcement == nil { + tmp.RequestBodyEnforcement = pulumi.BoolPtr(true) + } + return &tmp } - -func (i QosDefinitionArray) ToQosDefinitionArrayOutputWithContext(ctx context.Context) QosDefinitionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(QosDefinitionArrayOutput) +func (PolicySettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicySettings)(nil)).Elem() } -// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. -type QosDefinitionOutput struct{ *pulumi.OutputState } - -func (QosDefinitionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QosDefinition)(nil)).Elem() +func (i PolicySettingsArgs) ToPolicySettingsOutput() PolicySettingsOutput { + return i.ToPolicySettingsOutputWithContext(context.Background()) } -func (o QosDefinitionOutput) ToQosDefinitionOutput() QosDefinitionOutput { - return o +func (i PolicySettingsArgs) ToPolicySettingsOutputWithContext(ctx context.Context) PolicySettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsOutput) } -func (o QosDefinitionOutput) ToQosDefinitionOutputWithContext(ctx context.Context) QosDefinitionOutput { - return o +func (i PolicySettingsArgs) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { + return i.ToPolicySettingsPtrOutputWithContext(context.Background()) } -// Destination IP ranges. -func (o QosDefinitionOutput) DestinationIpRanges() QosIpRangeArrayOutput { - return o.ApplyT(func(v QosDefinition) []QosIpRange { return v.DestinationIpRanges }).(QosIpRangeArrayOutput) +func (i PolicySettingsArgs) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsOutput).ToPolicySettingsPtrOutputWithContext(ctx) } -// Destination port ranges. -func (o QosDefinitionOutput) DestinationPortRanges() QosPortRangeArrayOutput { - return o.ApplyT(func(v QosDefinition) []QosPortRange { return v.DestinationPortRanges }).(QosPortRangeArrayOutput) +// PolicySettingsPtrInput is an input type that accepts PolicySettingsArgs, PolicySettingsPtr and PolicySettingsPtrOutput values. +// You can construct a concrete instance of `PolicySettingsPtrInput` via: +// +// PolicySettingsArgs{...} +// +// or: +// +// nil +type PolicySettingsPtrInput interface { + pulumi.Input + + ToPolicySettingsPtrOutput() PolicySettingsPtrOutput + ToPolicySettingsPtrOutputWithContext(context.Context) PolicySettingsPtrOutput } -// List of markings to be used in the configuration. -func (o QosDefinitionOutput) Markings() pulumi.IntArrayOutput { - return o.ApplyT(func(v QosDefinition) []int { return v.Markings }).(pulumi.IntArrayOutput) +type policySettingsPtrType PolicySettingsArgs + +func PolicySettingsPtr(v *PolicySettingsArgs) PolicySettingsPtrInput { + return (*policySettingsPtrType)(v) } -// RNM supported protocol types. -func (o QosDefinitionOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v QosDefinition) *string { return v.Protocol }).(pulumi.StringPtrOutput) +func (*policySettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicySettings)(nil)).Elem() } -// Source IP ranges. -func (o QosDefinitionOutput) SourceIpRanges() QosIpRangeArrayOutput { - return o.ApplyT(func(v QosDefinition) []QosIpRange { return v.SourceIpRanges }).(QosIpRangeArrayOutput) +func (i *policySettingsPtrType) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { + return i.ToPolicySettingsPtrOutputWithContext(context.Background()) } -// Sources port ranges. -func (o QosDefinitionOutput) SourcePortRanges() QosPortRangeArrayOutput { - return o.ApplyT(func(v QosDefinition) []QosPortRange { return v.SourcePortRanges }).(QosPortRangeArrayOutput) +func (i *policySettingsPtrType) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsPtrOutput) } -type QosDefinitionArrayOutput struct{ *pulumi.OutputState } +// Defines contents of a web application firewall global configuration. +type PolicySettingsOutput struct{ *pulumi.OutputState } -func (QosDefinitionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosDefinition)(nil)).Elem() +func (PolicySettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicySettings)(nil)).Elem() } -func (o QosDefinitionArrayOutput) ToQosDefinitionArrayOutput() QosDefinitionArrayOutput { +func (o PolicySettingsOutput) ToPolicySettingsOutput() PolicySettingsOutput { return o } -func (o QosDefinitionArrayOutput) ToQosDefinitionArrayOutputWithContext(ctx context.Context) QosDefinitionArrayOutput { +func (o PolicySettingsOutput) ToPolicySettingsOutputWithContext(ctx context.Context) PolicySettingsOutput { return o } -func (o QosDefinitionArrayOutput) Index(i pulumi.IntInput) QosDefinitionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosDefinition { - return vs[0].([]QosDefinition)[vs[1].(int)] - }).(QosDefinitionOutput) +func (o PolicySettingsOutput) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { + return o.ToPolicySettingsPtrOutputWithContext(context.Background()) } -// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. -type QosDefinitionResponse struct { - // Destination IP ranges. - DestinationIpRanges []QosIpRangeResponse `pulumi:"destinationIpRanges"` - // Destination port ranges. - DestinationPortRanges []QosPortRangeResponse `pulumi:"destinationPortRanges"` - // List of markings to be used in the configuration. - Markings []int `pulumi:"markings"` - // RNM supported protocol types. - Protocol *string `pulumi:"protocol"` - // Source IP ranges. - SourceIpRanges []QosIpRangeResponse `pulumi:"sourceIpRanges"` - // Sources port ranges. - SourcePortRanges []QosPortRangeResponse `pulumi:"sourcePortRanges"` +func (o PolicySettingsOutput) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicySettings) *PolicySettings { + return &v + }).(PolicySettingsPtrOutput) } -// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. -type QosDefinitionResponseOutput struct{ *pulumi.OutputState } - -func (QosDefinitionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QosDefinitionResponse)(nil)).Elem() +// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. +func (o PolicySettingsOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettings) *string { return v.CustomBlockResponseBody }).(pulumi.StringPtrOutput) } -func (o QosDefinitionResponseOutput) ToQosDefinitionResponseOutput() QosDefinitionResponseOutput { - return o +// If the action type is block, customer can override the response status code. +func (o PolicySettingsOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettings) *int { return v.CustomBlockResponseStatusCode }).(pulumi.IntPtrOutput) } -func (o QosDefinitionResponseOutput) ToQosDefinitionResponseOutputWithContext(ctx context.Context) QosDefinitionResponseOutput { - return o +// Whether allow WAF to enforce file upload limits. +func (o PolicySettingsOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicySettings) *bool { return v.FileUploadEnforcement }).(pulumi.BoolPtrOutput) } -// Destination IP ranges. -func (o QosDefinitionResponseOutput) DestinationIpRanges() QosIpRangeResponseArrayOutput { - return o.ApplyT(func(v QosDefinitionResponse) []QosIpRangeResponse { return v.DestinationIpRanges }).(QosIpRangeResponseArrayOutput) +// Maximum file upload size in Mb for WAF. +func (o PolicySettingsOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettings) *int { return v.FileUploadLimitInMb }).(pulumi.IntPtrOutput) } -// Destination port ranges. -func (o QosDefinitionResponseOutput) DestinationPortRanges() QosPortRangeResponseArrayOutput { - return o.ApplyT(func(v QosDefinitionResponse) []QosPortRangeResponse { return v.DestinationPortRanges }).(QosPortRangeResponseArrayOutput) +// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. +func (o PolicySettingsOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettings) *int { return v.JsChallengeCookieExpirationInMins }).(pulumi.IntPtrOutput) } -// List of markings to be used in the configuration. -func (o QosDefinitionResponseOutput) Markings() pulumi.IntArrayOutput { - return o.ApplyT(func(v QosDefinitionResponse) []int { return v.Markings }).(pulumi.IntArrayOutput) +// To scrub sensitive log fields +func (o PolicySettingsOutput) LogScrubbing() PolicySettingsLogScrubbingPtrOutput { + return o.ApplyT(func(v PolicySettings) *PolicySettingsLogScrubbing { return v.LogScrubbing }).(PolicySettingsLogScrubbingPtrOutput) } -// RNM supported protocol types. -func (o QosDefinitionResponseOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v QosDefinitionResponse) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// Maximum request body size in Kb for WAF. +func (o PolicySettingsOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettings) *int { return v.MaxRequestBodySizeInKb }).(pulumi.IntPtrOutput) } -// Source IP ranges. -func (o QosDefinitionResponseOutput) SourceIpRanges() QosIpRangeResponseArrayOutput { - return o.ApplyT(func(v QosDefinitionResponse) []QosIpRangeResponse { return v.SourceIpRanges }).(QosIpRangeResponseArrayOutput) +// The mode of the policy. +func (o PolicySettingsOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettings) *string { return v.Mode }).(pulumi.StringPtrOutput) } -// Sources port ranges. -func (o QosDefinitionResponseOutput) SourcePortRanges() QosPortRangeResponseArrayOutput { - return o.ApplyT(func(v QosDefinitionResponse) []QosPortRangeResponse { return v.SourcePortRanges }).(QosPortRangeResponseArrayOutput) +// Whether to allow WAF to check request Body. +func (o PolicySettingsOutput) RequestBodyCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicySettings) *bool { return v.RequestBodyCheck }).(pulumi.BoolPtrOutput) } -type QosDefinitionResponseArrayOutput struct{ *pulumi.OutputState } - -func (QosDefinitionResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosDefinitionResponse)(nil)).Elem() +// Whether allow WAF to enforce request body limits. +func (o PolicySettingsOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicySettings) *bool { return v.RequestBodyEnforcement }).(pulumi.BoolPtrOutput) } -func (o QosDefinitionResponseArrayOutput) ToQosDefinitionResponseArrayOutput() QosDefinitionResponseArrayOutput { - return o +// Max inspection limit in KB for request body inspection for WAF. +func (o PolicySettingsOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettings) *int { return v.RequestBodyInspectLimitInKB }).(pulumi.IntPtrOutput) } -func (o QosDefinitionResponseArrayOutput) ToQosDefinitionResponseArrayOutputWithContext(ctx context.Context) QosDefinitionResponseArrayOutput { - return o +// The state of the policy. +func (o PolicySettingsOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettings) *string { return v.State }).(pulumi.StringPtrOutput) } -func (o QosDefinitionResponseArrayOutput) Index(i pulumi.IntInput) QosDefinitionResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosDefinitionResponse { - return vs[0].([]QosDefinitionResponse)[vs[1].(int)] - }).(QosDefinitionResponseOutput) -} +type PolicySettingsPtrOutput struct{ *pulumi.OutputState } -// Qos Traffic Profiler IP Range properties. -type QosIpRange struct { - // End IP Address. - EndIP *string `pulumi:"endIP"` - // Start IP Address. - StartIP *string `pulumi:"startIP"` +func (PolicySettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicySettings)(nil)).Elem() } -// QosIpRangeInput is an input type that accepts QosIpRangeArgs and QosIpRangeOutput values. -// You can construct a concrete instance of `QosIpRangeInput` via: -// -// QosIpRangeArgs{...} -type QosIpRangeInput interface { - pulumi.Input - - ToQosIpRangeOutput() QosIpRangeOutput - ToQosIpRangeOutputWithContext(context.Context) QosIpRangeOutput +func (o PolicySettingsPtrOutput) ToPolicySettingsPtrOutput() PolicySettingsPtrOutput { + return o } -// Qos Traffic Profiler IP Range properties. -type QosIpRangeArgs struct { - // End IP Address. - EndIP pulumi.StringPtrInput `pulumi:"endIP"` - // Start IP Address. - StartIP pulumi.StringPtrInput `pulumi:"startIP"` +func (o PolicySettingsPtrOutput) ToPolicySettingsPtrOutputWithContext(ctx context.Context) PolicySettingsPtrOutput { + return o } -func (QosIpRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*QosIpRange)(nil)).Elem() +func (o PolicySettingsPtrOutput) Elem() PolicySettingsOutput { + return o.ApplyT(func(v *PolicySettings) PolicySettings { + if v != nil { + return *v + } + var ret PolicySettings + return ret + }).(PolicySettingsOutput) } -func (i QosIpRangeArgs) ToQosIpRangeOutput() QosIpRangeOutput { - return i.ToQosIpRangeOutputWithContext(context.Background()) +// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. +func (o PolicySettingsPtrOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettings) *string { + if v == nil { + return nil + } + return v.CustomBlockResponseBody + }).(pulumi.StringPtrOutput) } -func (i QosIpRangeArgs) ToQosIpRangeOutputWithContext(ctx context.Context) QosIpRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(QosIpRangeOutput) +// If the action type is block, customer can override the response status code. +func (o PolicySettingsPtrOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettings) *int { + if v == nil { + return nil + } + return v.CustomBlockResponseStatusCode + }).(pulumi.IntPtrOutput) } -// QosIpRangeArrayInput is an input type that accepts QosIpRangeArray and QosIpRangeArrayOutput values. -// You can construct a concrete instance of `QosIpRangeArrayInput` via: -// -// QosIpRangeArray{ QosIpRangeArgs{...} } -type QosIpRangeArrayInput interface { - pulumi.Input - - ToQosIpRangeArrayOutput() QosIpRangeArrayOutput - ToQosIpRangeArrayOutputWithContext(context.Context) QosIpRangeArrayOutput +// Whether allow WAF to enforce file upload limits. +func (o PolicySettingsPtrOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicySettings) *bool { + if v == nil { + return nil + } + return v.FileUploadEnforcement + }).(pulumi.BoolPtrOutput) } -type QosIpRangeArray []QosIpRangeInput - -func (QosIpRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosIpRange)(nil)).Elem() +// Maximum file upload size in Mb for WAF. +func (o PolicySettingsPtrOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettings) *int { + if v == nil { + return nil + } + return v.FileUploadLimitInMb + }).(pulumi.IntPtrOutput) } -func (i QosIpRangeArray) ToQosIpRangeArrayOutput() QosIpRangeArrayOutput { - return i.ToQosIpRangeArrayOutputWithContext(context.Background()) +// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. +func (o PolicySettingsPtrOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettings) *int { + if v == nil { + return nil + } + return v.JsChallengeCookieExpirationInMins + }).(pulumi.IntPtrOutput) } -func (i QosIpRangeArray) ToQosIpRangeArrayOutputWithContext(ctx context.Context) QosIpRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(QosIpRangeArrayOutput) +// To scrub sensitive log fields +func (o PolicySettingsPtrOutput) LogScrubbing() PolicySettingsLogScrubbingPtrOutput { + return o.ApplyT(func(v *PolicySettings) *PolicySettingsLogScrubbing { + if v == nil { + return nil + } + return v.LogScrubbing + }).(PolicySettingsLogScrubbingPtrOutput) } -// Qos Traffic Profiler IP Range properties. -type QosIpRangeOutput struct{ *pulumi.OutputState } - -func (QosIpRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QosIpRange)(nil)).Elem() +// Maximum request body size in Kb for WAF. +func (o PolicySettingsPtrOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettings) *int { + if v == nil { + return nil + } + return v.MaxRequestBodySizeInKb + }).(pulumi.IntPtrOutput) } -func (o QosIpRangeOutput) ToQosIpRangeOutput() QosIpRangeOutput { - return o +// The mode of the policy. +func (o PolicySettingsPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettings) *string { + if v == nil { + return nil + } + return v.Mode + }).(pulumi.StringPtrOutput) } -func (o QosIpRangeOutput) ToQosIpRangeOutputWithContext(ctx context.Context) QosIpRangeOutput { - return o +// Whether to allow WAF to check request Body. +func (o PolicySettingsPtrOutput) RequestBodyCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicySettings) *bool { + if v == nil { + return nil + } + return v.RequestBodyCheck + }).(pulumi.BoolPtrOutput) } -// End IP Address. -func (o QosIpRangeOutput) EndIP() pulumi.StringPtrOutput { - return o.ApplyT(func(v QosIpRange) *string { return v.EndIP }).(pulumi.StringPtrOutput) +// Whether allow WAF to enforce request body limits. +func (o PolicySettingsPtrOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicySettings) *bool { + if v == nil { + return nil + } + return v.RequestBodyEnforcement + }).(pulumi.BoolPtrOutput) } -// Start IP Address. -func (o QosIpRangeOutput) StartIP() pulumi.StringPtrOutput { - return o.ApplyT(func(v QosIpRange) *string { return v.StartIP }).(pulumi.StringPtrOutput) +// Max inspection limit in KB for request body inspection for WAF. +func (o PolicySettingsPtrOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettings) *int { + if v == nil { + return nil + } + return v.RequestBodyInspectLimitInKB + }).(pulumi.IntPtrOutput) } -type QosIpRangeArrayOutput struct{ *pulumi.OutputState } - -func (QosIpRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosIpRange)(nil)).Elem() +// The state of the policy. +func (o PolicySettingsPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettings) *string { + if v == nil { + return nil + } + return v.State + }).(pulumi.StringPtrOutput) } -func (o QosIpRangeArrayOutput) ToQosIpRangeArrayOutput() QosIpRangeArrayOutput { - return o +// To scrub sensitive log fields +type PolicySettingsLogScrubbing struct { + // The rules that are applied to the logs for scrubbing. + ScrubbingRules []WebApplicationFirewallScrubbingRules `pulumi:"scrubbingRules"` + // State of the log scrubbing config. Default value is Enabled. + State *string `pulumi:"state"` } -func (o QosIpRangeArrayOutput) ToQosIpRangeArrayOutputWithContext(ctx context.Context) QosIpRangeArrayOutput { - return o -} +// PolicySettingsLogScrubbingInput is an input type that accepts PolicySettingsLogScrubbingArgs and PolicySettingsLogScrubbingOutput values. +// You can construct a concrete instance of `PolicySettingsLogScrubbingInput` via: +// +// PolicySettingsLogScrubbingArgs{...} +type PolicySettingsLogScrubbingInput interface { + pulumi.Input -func (o QosIpRangeArrayOutput) Index(i pulumi.IntInput) QosIpRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosIpRange { - return vs[0].([]QosIpRange)[vs[1].(int)] - }).(QosIpRangeOutput) + ToPolicySettingsLogScrubbingOutput() PolicySettingsLogScrubbingOutput + ToPolicySettingsLogScrubbingOutputWithContext(context.Context) PolicySettingsLogScrubbingOutput } -// Qos Traffic Profiler IP Range properties. -type QosIpRangeResponse struct { - // End IP Address. - EndIP *string `pulumi:"endIP"` - // Start IP Address. - StartIP *string `pulumi:"startIP"` +// To scrub sensitive log fields +type PolicySettingsLogScrubbingArgs struct { + // The rules that are applied to the logs for scrubbing. + ScrubbingRules WebApplicationFirewallScrubbingRulesArrayInput `pulumi:"scrubbingRules"` + // State of the log scrubbing config. Default value is Enabled. + State pulumi.StringPtrInput `pulumi:"state"` } -// Qos Traffic Profiler IP Range properties. -type QosIpRangeResponseOutput struct{ *pulumi.OutputState } - -func (QosIpRangeResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QosIpRangeResponse)(nil)).Elem() +func (PolicySettingsLogScrubbingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicySettingsLogScrubbing)(nil)).Elem() } -func (o QosIpRangeResponseOutput) ToQosIpRangeResponseOutput() QosIpRangeResponseOutput { - return o +func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingOutput() PolicySettingsLogScrubbingOutput { + return i.ToPolicySettingsLogScrubbingOutputWithContext(context.Background()) } -func (o QosIpRangeResponseOutput) ToQosIpRangeResponseOutputWithContext(ctx context.Context) QosIpRangeResponseOutput { - return o +func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsLogScrubbingOutput) } -// End IP Address. -func (o QosIpRangeResponseOutput) EndIP() pulumi.StringPtrOutput { - return o.ApplyT(func(v QosIpRangeResponse) *string { return v.EndIP }).(pulumi.StringPtrOutput) +func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { + return i.ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Background()) } -// Start IP Address. -func (o QosIpRangeResponseOutput) StartIP() pulumi.StringPtrOutput { - return o.ApplyT(func(v QosIpRangeResponse) *string { return v.StartIP }).(pulumi.StringPtrOutput) +func (i PolicySettingsLogScrubbingArgs) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsLogScrubbingOutput).ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx) } -type QosIpRangeResponseArrayOutput struct{ *pulumi.OutputState } +// PolicySettingsLogScrubbingPtrInput is an input type that accepts PolicySettingsLogScrubbingArgs, PolicySettingsLogScrubbingPtr and PolicySettingsLogScrubbingPtrOutput values. +// You can construct a concrete instance of `PolicySettingsLogScrubbingPtrInput` via: +// +// PolicySettingsLogScrubbingArgs{...} +// +// or: +// +// nil +type PolicySettingsLogScrubbingPtrInput interface { + pulumi.Input -func (QosIpRangeResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosIpRangeResponse)(nil)).Elem() + ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput + ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Context) PolicySettingsLogScrubbingPtrOutput } -func (o QosIpRangeResponseArrayOutput) ToQosIpRangeResponseArrayOutput() QosIpRangeResponseArrayOutput { - return o -} +type policySettingsLogScrubbingPtrType PolicySettingsLogScrubbingArgs -func (o QosIpRangeResponseArrayOutput) ToQosIpRangeResponseArrayOutputWithContext(ctx context.Context) QosIpRangeResponseArrayOutput { - return o +func PolicySettingsLogScrubbingPtr(v *PolicySettingsLogScrubbingArgs) PolicySettingsLogScrubbingPtrInput { + return (*policySettingsLogScrubbingPtrType)(v) } -func (o QosIpRangeResponseArrayOutput) Index(i pulumi.IntInput) QosIpRangeResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosIpRangeResponse { - return vs[0].([]QosIpRangeResponse)[vs[1].(int)] - }).(QosIpRangeResponseOutput) +func (*policySettingsLogScrubbingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicySettingsLogScrubbing)(nil)).Elem() } -// Qos Traffic Profiler Port range properties. -type QosPortRange struct { - // Qos Port Range end. - End *int `pulumi:"end"` - // Qos Port Range start. - Start *int `pulumi:"start"` +func (i *policySettingsLogScrubbingPtrType) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { + return i.ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Background()) } -// QosPortRangeInput is an input type that accepts QosPortRangeArgs and QosPortRangeOutput values. -// You can construct a concrete instance of `QosPortRangeInput` via: -// -// QosPortRangeArgs{...} -type QosPortRangeInput interface { - pulumi.Input - - ToQosPortRangeOutput() QosPortRangeOutput - ToQosPortRangeOutputWithContext(context.Context) QosPortRangeOutput +func (i *policySettingsLogScrubbingPtrType) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicySettingsLogScrubbingPtrOutput) } -// Qos Traffic Profiler Port range properties. -type QosPortRangeArgs struct { - // Qos Port Range end. - End pulumi.IntPtrInput `pulumi:"end"` - // Qos Port Range start. - Start pulumi.IntPtrInput `pulumi:"start"` -} +// To scrub sensitive log fields +type PolicySettingsLogScrubbingOutput struct{ *pulumi.OutputState } -func (QosPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*QosPortRange)(nil)).Elem() +func (PolicySettingsLogScrubbingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicySettingsLogScrubbing)(nil)).Elem() } -func (i QosPortRangeArgs) ToQosPortRangeOutput() QosPortRangeOutput { - return i.ToQosPortRangeOutputWithContext(context.Background()) +func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingOutput() PolicySettingsLogScrubbingOutput { + return o } -func (i QosPortRangeArgs) ToQosPortRangeOutputWithContext(ctx context.Context) QosPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(QosPortRangeOutput) +func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingOutput { + return o } -// QosPortRangeArrayInput is an input type that accepts QosPortRangeArray and QosPortRangeArrayOutput values. -// You can construct a concrete instance of `QosPortRangeArrayInput` via: -// -// QosPortRangeArray{ QosPortRangeArgs{...} } -type QosPortRangeArrayInput interface { - pulumi.Input - - ToQosPortRangeArrayOutput() QosPortRangeArrayOutput - ToQosPortRangeArrayOutputWithContext(context.Context) QosPortRangeArrayOutput +func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { + return o.ToPolicySettingsLogScrubbingPtrOutputWithContext(context.Background()) } -type QosPortRangeArray []QosPortRangeInput - -func (QosPortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosPortRange)(nil)).Elem() +func (o PolicySettingsLogScrubbingOutput) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicySettingsLogScrubbing) *PolicySettingsLogScrubbing { + return &v + }).(PolicySettingsLogScrubbingPtrOutput) } -func (i QosPortRangeArray) ToQosPortRangeArrayOutput() QosPortRangeArrayOutput { - return i.ToQosPortRangeArrayOutputWithContext(context.Background()) +// The rules that are applied to the logs for scrubbing. +func (o PolicySettingsLogScrubbingOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesArrayOutput { + return o.ApplyT(func(v PolicySettingsLogScrubbing) []WebApplicationFirewallScrubbingRules { return v.ScrubbingRules }).(WebApplicationFirewallScrubbingRulesArrayOutput) } -func (i QosPortRangeArray) ToQosPortRangeArrayOutputWithContext(ctx context.Context) QosPortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(QosPortRangeArrayOutput) +// State of the log scrubbing config. Default value is Enabled. +func (o PolicySettingsLogScrubbingOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettingsLogScrubbing) *string { return v.State }).(pulumi.StringPtrOutput) } -// Qos Traffic Profiler Port range properties. -type QosPortRangeOutput struct{ *pulumi.OutputState } +type PolicySettingsLogScrubbingPtrOutput struct{ *pulumi.OutputState } -func (QosPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QosPortRange)(nil)).Elem() +func (PolicySettingsLogScrubbingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicySettingsLogScrubbing)(nil)).Elem() } -func (o QosPortRangeOutput) ToQosPortRangeOutput() QosPortRangeOutput { +func (o PolicySettingsLogScrubbingPtrOutput) ToPolicySettingsLogScrubbingPtrOutput() PolicySettingsLogScrubbingPtrOutput { return o } -func (o QosPortRangeOutput) ToQosPortRangeOutputWithContext(ctx context.Context) QosPortRangeOutput { +func (o PolicySettingsLogScrubbingPtrOutput) ToPolicySettingsLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsLogScrubbingPtrOutput { return o } -// Qos Port Range end. -func (o QosPortRangeOutput) End() pulumi.IntPtrOutput { - return o.ApplyT(func(v QosPortRange) *int { return v.End }).(pulumi.IntPtrOutput) -} - -// Qos Port Range start. -func (o QosPortRangeOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v QosPortRange) *int { return v.Start }).(pulumi.IntPtrOutput) -} - -type QosPortRangeArrayOutput struct{ *pulumi.OutputState } - -func (QosPortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosPortRange)(nil)).Elem() +func (o PolicySettingsLogScrubbingPtrOutput) Elem() PolicySettingsLogScrubbingOutput { + return o.ApplyT(func(v *PolicySettingsLogScrubbing) PolicySettingsLogScrubbing { + if v != nil { + return *v + } + var ret PolicySettingsLogScrubbing + return ret + }).(PolicySettingsLogScrubbingOutput) } -func (o QosPortRangeArrayOutput) ToQosPortRangeArrayOutput() QosPortRangeArrayOutput { - return o +// The rules that are applied to the logs for scrubbing. +func (o PolicySettingsLogScrubbingPtrOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesArrayOutput { + return o.ApplyT(func(v *PolicySettingsLogScrubbing) []WebApplicationFirewallScrubbingRules { + if v == nil { + return nil + } + return v.ScrubbingRules + }).(WebApplicationFirewallScrubbingRulesArrayOutput) } -func (o QosPortRangeArrayOutput) ToQosPortRangeArrayOutputWithContext(ctx context.Context) QosPortRangeArrayOutput { - return o +// State of the log scrubbing config. Default value is Enabled. +func (o PolicySettingsLogScrubbingPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettingsLogScrubbing) *string { + if v == nil { + return nil + } + return v.State + }).(pulumi.StringPtrOutput) } -func (o QosPortRangeArrayOutput) Index(i pulumi.IntInput) QosPortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosPortRange { - return vs[0].([]QosPortRange)[vs[1].(int)] - }).(QosPortRangeOutput) +// Defines contents of a web application firewall global configuration. +type PolicySettingsResponse struct { + // If the action type is block, customer can override the response body. The body must be specified in base64 encoding. + CustomBlockResponseBody *string `pulumi:"customBlockResponseBody"` + // If the action type is block, customer can override the response status code. + CustomBlockResponseStatusCode *int `pulumi:"customBlockResponseStatusCode"` + // Whether allow WAF to enforce file upload limits. + FileUploadEnforcement *bool `pulumi:"fileUploadEnforcement"` + // Maximum file upload size in Mb for WAF. + FileUploadLimitInMb *int `pulumi:"fileUploadLimitInMb"` + // Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. + JsChallengeCookieExpirationInMins *int `pulumi:"jsChallengeCookieExpirationInMins"` + // To scrub sensitive log fields + LogScrubbing *PolicySettingsResponseLogScrubbing `pulumi:"logScrubbing"` + // Maximum request body size in Kb for WAF. + MaxRequestBodySizeInKb *int `pulumi:"maxRequestBodySizeInKb"` + // The mode of the policy. + Mode *string `pulumi:"mode"` + // Whether to allow WAF to check request Body. + RequestBodyCheck *bool `pulumi:"requestBodyCheck"` + // Whether allow WAF to enforce request body limits. + RequestBodyEnforcement *bool `pulumi:"requestBodyEnforcement"` + // Max inspection limit in KB for request body inspection for WAF. + RequestBodyInspectLimitInKB *int `pulumi:"requestBodyInspectLimitInKB"` + // The state of the policy. + State *string `pulumi:"state"` } -// Qos Traffic Profiler Port range properties. -type QosPortRangeResponse struct { - // Qos Port Range end. - End *int `pulumi:"end"` - // Qos Port Range start. - Start *int `pulumi:"start"` +// Defaults sets the appropriate defaults for PolicySettingsResponse +func (val *PolicySettingsResponse) Defaults() *PolicySettingsResponse { + if val == nil { + return nil + } + tmp := *val + if tmp.FileUploadEnforcement == nil { + fileUploadEnforcement_ := true + tmp.FileUploadEnforcement = &fileUploadEnforcement_ + } + if tmp.RequestBodyEnforcement == nil { + requestBodyEnforcement_ := true + tmp.RequestBodyEnforcement = &requestBodyEnforcement_ + } + return &tmp } -// Qos Traffic Profiler Port range properties. -type QosPortRangeResponseOutput struct{ *pulumi.OutputState } +// Defines contents of a web application firewall global configuration. +type PolicySettingsResponseOutput struct{ *pulumi.OutputState } -func (QosPortRangeResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QosPortRangeResponse)(nil)).Elem() +func (PolicySettingsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicySettingsResponse)(nil)).Elem() } -func (o QosPortRangeResponseOutput) ToQosPortRangeResponseOutput() QosPortRangeResponseOutput { +func (o PolicySettingsResponseOutput) ToPolicySettingsResponseOutput() PolicySettingsResponseOutput { return o } -func (o QosPortRangeResponseOutput) ToQosPortRangeResponseOutputWithContext(ctx context.Context) QosPortRangeResponseOutput { +func (o PolicySettingsResponseOutput) ToPolicySettingsResponseOutputWithContext(ctx context.Context) PolicySettingsResponseOutput { return o } -// Qos Port Range end. -func (o QosPortRangeResponseOutput) End() pulumi.IntPtrOutput { - return o.ApplyT(func(v QosPortRangeResponse) *int { return v.End }).(pulumi.IntPtrOutput) +// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. +func (o PolicySettingsResponseOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *string { return v.CustomBlockResponseBody }).(pulumi.StringPtrOutput) } -// Qos Port Range start. -func (o QosPortRangeResponseOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v QosPortRangeResponse) *int { return v.Start }).(pulumi.IntPtrOutput) +// If the action type is block, customer can override the response status code. +func (o PolicySettingsResponseOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *int { return v.CustomBlockResponseStatusCode }).(pulumi.IntPtrOutput) } -type QosPortRangeResponseArrayOutput struct{ *pulumi.OutputState } - -func (QosPortRangeResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QosPortRangeResponse)(nil)).Elem() +// Whether allow WAF to enforce file upload limits. +func (o PolicySettingsResponseOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *bool { return v.FileUploadEnforcement }).(pulumi.BoolPtrOutput) } -func (o QosPortRangeResponseArrayOutput) ToQosPortRangeResponseArrayOutput() QosPortRangeResponseArrayOutput { - return o +// Maximum file upload size in Mb for WAF. +func (o PolicySettingsResponseOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *int { return v.FileUploadLimitInMb }).(pulumi.IntPtrOutput) } -func (o QosPortRangeResponseArrayOutput) ToQosPortRangeResponseArrayOutputWithContext(ctx context.Context) QosPortRangeResponseArrayOutput { - return o +// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. +func (o PolicySettingsResponseOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *int { return v.JsChallengeCookieExpirationInMins }).(pulumi.IntPtrOutput) } -func (o QosPortRangeResponseArrayOutput) Index(i pulumi.IntInput) QosPortRangeResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosPortRangeResponse { - return vs[0].([]QosPortRangeResponse)[vs[1].(int)] - }).(QosPortRangeResponseOutput) +// To scrub sensitive log fields +func (o PolicySettingsResponseOutput) LogScrubbing() PolicySettingsResponseLogScrubbingPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *PolicySettingsResponseLogScrubbing { return v.LogScrubbing }).(PolicySettingsResponseLogScrubbingPtrOutput) } -// Gateway or VpnServerConfiguration Radius server with radius secret details -type RadiusAuthServerResponse struct { - // Radius server IPAddress - RadiusServerAddress *string `pulumi:"radiusServerAddress"` - // Radius server secret - RadiusServerSecret *string `pulumi:"radiusServerSecret"` +// Maximum request body size in Kb for WAF. +func (o PolicySettingsResponseOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *int { return v.MaxRequestBodySizeInKb }).(pulumi.IntPtrOutput) } -// Gateway or VpnServerConfiguration Radius server with radius secret details -type RadiusAuthServerResponseOutput struct{ *pulumi.OutputState } - -func (RadiusAuthServerResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RadiusAuthServerResponse)(nil)).Elem() +// The mode of the policy. +func (o PolicySettingsResponseOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *string { return v.Mode }).(pulumi.StringPtrOutput) } -func (o RadiusAuthServerResponseOutput) ToRadiusAuthServerResponseOutput() RadiusAuthServerResponseOutput { - return o +// Whether to allow WAF to check request Body. +func (o PolicySettingsResponseOutput) RequestBodyCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *bool { return v.RequestBodyCheck }).(pulumi.BoolPtrOutput) } -func (o RadiusAuthServerResponseOutput) ToRadiusAuthServerResponseOutputWithContext(ctx context.Context) RadiusAuthServerResponseOutput { - return o +// Whether allow WAF to enforce request body limits. +func (o PolicySettingsResponseOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *bool { return v.RequestBodyEnforcement }).(pulumi.BoolPtrOutput) } -// Radius server IPAddress -func (o RadiusAuthServerResponseOutput) RadiusServerAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RadiusAuthServerResponse) *string { return v.RadiusServerAddress }).(pulumi.StringPtrOutput) +// Max inspection limit in KB for request body inspection for WAF. +func (o PolicySettingsResponseOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *int { return v.RequestBodyInspectLimitInKB }).(pulumi.IntPtrOutput) } -// Radius server secret -func (o RadiusAuthServerResponseOutput) RadiusServerSecret() pulumi.StringPtrOutput { - return o.ApplyT(func(v RadiusAuthServerResponse) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) +// The state of the policy. +func (o PolicySettingsResponseOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettingsResponse) *string { return v.State }).(pulumi.StringPtrOutput) } -type RadiusAuthServerResponseArrayOutput struct{ *pulumi.OutputState } +type PolicySettingsResponsePtrOutput struct{ *pulumi.OutputState } -func (RadiusAuthServerResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RadiusAuthServerResponse)(nil)).Elem() +func (PolicySettingsResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicySettingsResponse)(nil)).Elem() } -func (o RadiusAuthServerResponseArrayOutput) ToRadiusAuthServerResponseArrayOutput() RadiusAuthServerResponseArrayOutput { +func (o PolicySettingsResponsePtrOutput) ToPolicySettingsResponsePtrOutput() PolicySettingsResponsePtrOutput { return o } -func (o RadiusAuthServerResponseArrayOutput) ToRadiusAuthServerResponseArrayOutputWithContext(ctx context.Context) RadiusAuthServerResponseArrayOutput { +func (o PolicySettingsResponsePtrOutput) ToPolicySettingsResponsePtrOutputWithContext(ctx context.Context) PolicySettingsResponsePtrOutput { return o } -func (o RadiusAuthServerResponseArrayOutput) Index(i pulumi.IntInput) RadiusAuthServerResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RadiusAuthServerResponse { - return vs[0].([]RadiusAuthServerResponse)[vs[1].(int)] - }).(RadiusAuthServerResponseOutput) -} - -// Radius Server Settings. -type RadiusServer struct { - // The address of this radius server. - RadiusServerAddress string `pulumi:"radiusServerAddress"` - // The initial score assigned to this radius server. - RadiusServerScore *float64 `pulumi:"radiusServerScore"` - // The secret used for this radius server. - RadiusServerSecret *string `pulumi:"radiusServerSecret"` -} - -// RadiusServerInput is an input type that accepts RadiusServerArgs and RadiusServerOutput values. -// You can construct a concrete instance of `RadiusServerInput` via: -// -// RadiusServerArgs{...} -type RadiusServerInput interface { - pulumi.Input - - ToRadiusServerOutput() RadiusServerOutput - ToRadiusServerOutputWithContext(context.Context) RadiusServerOutput -} - -// Radius Server Settings. -type RadiusServerArgs struct { - // The address of this radius server. - RadiusServerAddress pulumi.StringInput `pulumi:"radiusServerAddress"` - // The initial score assigned to this radius server. - RadiusServerScore pulumi.Float64PtrInput `pulumi:"radiusServerScore"` - // The secret used for this radius server. - RadiusServerSecret pulumi.StringPtrInput `pulumi:"radiusServerSecret"` +func (o PolicySettingsResponsePtrOutput) Elem() PolicySettingsResponseOutput { + return o.ApplyT(func(v *PolicySettingsResponse) PolicySettingsResponse { + if v != nil { + return *v + } + var ret PolicySettingsResponse + return ret + }).(PolicySettingsResponseOutput) } -func (RadiusServerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RadiusServer)(nil)).Elem() +// If the action type is block, customer can override the response body. The body must be specified in base64 encoding. +func (o PolicySettingsResponsePtrOutput) CustomBlockResponseBody() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *string { + if v == nil { + return nil + } + return v.CustomBlockResponseBody + }).(pulumi.StringPtrOutput) } -func (i RadiusServerArgs) ToRadiusServerOutput() RadiusServerOutput { - return i.ToRadiusServerOutputWithContext(context.Background()) +// If the action type is block, customer can override the response status code. +func (o PolicySettingsResponsePtrOutput) CustomBlockResponseStatusCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *int { + if v == nil { + return nil + } + return v.CustomBlockResponseStatusCode + }).(pulumi.IntPtrOutput) } -func (i RadiusServerArgs) ToRadiusServerOutputWithContext(ctx context.Context) RadiusServerOutput { - return pulumi.ToOutputWithContext(ctx, i).(RadiusServerOutput) +// Whether allow WAF to enforce file upload limits. +func (o PolicySettingsResponsePtrOutput) FileUploadEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *bool { + if v == nil { + return nil + } + return v.FileUploadEnforcement + }).(pulumi.BoolPtrOutput) } -// RadiusServerArrayInput is an input type that accepts RadiusServerArray and RadiusServerArrayOutput values. -// You can construct a concrete instance of `RadiusServerArrayInput` via: -// -// RadiusServerArray{ RadiusServerArgs{...} } -type RadiusServerArrayInput interface { - pulumi.Input - - ToRadiusServerArrayOutput() RadiusServerArrayOutput - ToRadiusServerArrayOutputWithContext(context.Context) RadiusServerArrayOutput +// Maximum file upload size in Mb for WAF. +func (o PolicySettingsResponsePtrOutput) FileUploadLimitInMb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *int { + if v == nil { + return nil + } + return v.FileUploadLimitInMb + }).(pulumi.IntPtrOutput) } -type RadiusServerArray []RadiusServerInput - -func (RadiusServerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RadiusServer)(nil)).Elem() +// Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. +func (o PolicySettingsResponsePtrOutput) JsChallengeCookieExpirationInMins() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *int { + if v == nil { + return nil + } + return v.JsChallengeCookieExpirationInMins + }).(pulumi.IntPtrOutput) } -func (i RadiusServerArray) ToRadiusServerArrayOutput() RadiusServerArrayOutput { - return i.ToRadiusServerArrayOutputWithContext(context.Background()) +// To scrub sensitive log fields +func (o PolicySettingsResponsePtrOutput) LogScrubbing() PolicySettingsResponseLogScrubbingPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *PolicySettingsResponseLogScrubbing { + if v == nil { + return nil + } + return v.LogScrubbing + }).(PolicySettingsResponseLogScrubbingPtrOutput) } -func (i RadiusServerArray) ToRadiusServerArrayOutputWithContext(ctx context.Context) RadiusServerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RadiusServerArrayOutput) +// Maximum request body size in Kb for WAF. +func (o PolicySettingsResponsePtrOutput) MaxRequestBodySizeInKb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *int { + if v == nil { + return nil + } + return v.MaxRequestBodySizeInKb + }).(pulumi.IntPtrOutput) } -// Radius Server Settings. -type RadiusServerOutput struct{ *pulumi.OutputState } - -func (RadiusServerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RadiusServer)(nil)).Elem() +// The mode of the policy. +func (o PolicySettingsResponsePtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *string { + if v == nil { + return nil + } + return v.Mode + }).(pulumi.StringPtrOutput) } -func (o RadiusServerOutput) ToRadiusServerOutput() RadiusServerOutput { - return o +// Whether to allow WAF to check request Body. +func (o PolicySettingsResponsePtrOutput) RequestBodyCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *bool { + if v == nil { + return nil + } + return v.RequestBodyCheck + }).(pulumi.BoolPtrOutput) } -func (o RadiusServerOutput) ToRadiusServerOutputWithContext(ctx context.Context) RadiusServerOutput { - return o +// Whether allow WAF to enforce request body limits. +func (o PolicySettingsResponsePtrOutput) RequestBodyEnforcement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *bool { + if v == nil { + return nil + } + return v.RequestBodyEnforcement + }).(pulumi.BoolPtrOutput) } -// The address of this radius server. -func (o RadiusServerOutput) RadiusServerAddress() pulumi.StringOutput { - return o.ApplyT(func(v RadiusServer) string { return v.RadiusServerAddress }).(pulumi.StringOutput) +// Max inspection limit in KB for request body inspection for WAF. +func (o PolicySettingsResponsePtrOutput) RequestBodyInspectLimitInKB() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *int { + if v == nil { + return nil + } + return v.RequestBodyInspectLimitInKB + }).(pulumi.IntPtrOutput) } -// The initial score assigned to this radius server. -func (o RadiusServerOutput) RadiusServerScore() pulumi.Float64PtrOutput { - return o.ApplyT(func(v RadiusServer) *float64 { return v.RadiusServerScore }).(pulumi.Float64PtrOutput) +// The state of the policy. +func (o PolicySettingsResponsePtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponse) *string { + if v == nil { + return nil + } + return v.State + }).(pulumi.StringPtrOutput) } -// The secret used for this radius server. -func (o RadiusServerOutput) RadiusServerSecret() pulumi.StringPtrOutput { - return o.ApplyT(func(v RadiusServer) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) +// To scrub sensitive log fields +type PolicySettingsResponseLogScrubbing struct { + // The rules that are applied to the logs for scrubbing. + ScrubbingRules []WebApplicationFirewallScrubbingRulesResponse `pulumi:"scrubbingRules"` + // State of the log scrubbing config. Default value is Enabled. + State *string `pulumi:"state"` } -type RadiusServerArrayOutput struct{ *pulumi.OutputState } +// To scrub sensitive log fields +type PolicySettingsResponseLogScrubbingOutput struct{ *pulumi.OutputState } -func (RadiusServerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RadiusServer)(nil)).Elem() +func (PolicySettingsResponseLogScrubbingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicySettingsResponseLogScrubbing)(nil)).Elem() } -func (o RadiusServerArrayOutput) ToRadiusServerArrayOutput() RadiusServerArrayOutput { +func (o PolicySettingsResponseLogScrubbingOutput) ToPolicySettingsResponseLogScrubbingOutput() PolicySettingsResponseLogScrubbingOutput { return o } -func (o RadiusServerArrayOutput) ToRadiusServerArrayOutputWithContext(ctx context.Context) RadiusServerArrayOutput { +func (o PolicySettingsResponseLogScrubbingOutput) ToPolicySettingsResponseLogScrubbingOutputWithContext(ctx context.Context) PolicySettingsResponseLogScrubbingOutput { return o } -func (o RadiusServerArrayOutput) Index(i pulumi.IntInput) RadiusServerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RadiusServer { - return vs[0].([]RadiusServer)[vs[1].(int)] - }).(RadiusServerOutput) +// The rules that are applied to the logs for scrubbing. +func (o PolicySettingsResponseLogScrubbingOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesResponseArrayOutput { + return o.ApplyT(func(v PolicySettingsResponseLogScrubbing) []WebApplicationFirewallScrubbingRulesResponse { + return v.ScrubbingRules + }).(WebApplicationFirewallScrubbingRulesResponseArrayOutput) } -// Radius Server Settings. -type RadiusServerResponse struct { - // The address of this radius server. - RadiusServerAddress string `pulumi:"radiusServerAddress"` - // The initial score assigned to this radius server. - RadiusServerScore *float64 `pulumi:"radiusServerScore"` - // The secret used for this radius server. - RadiusServerSecret *string `pulumi:"radiusServerSecret"` +// State of the log scrubbing config. Default value is Enabled. +func (o PolicySettingsResponseLogScrubbingOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicySettingsResponseLogScrubbing) *string { return v.State }).(pulumi.StringPtrOutput) } -// Radius Server Settings. -type RadiusServerResponseOutput struct{ *pulumi.OutputState } +type PolicySettingsResponseLogScrubbingPtrOutput struct{ *pulumi.OutputState } -func (RadiusServerResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RadiusServerResponse)(nil)).Elem() +func (PolicySettingsResponseLogScrubbingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicySettingsResponseLogScrubbing)(nil)).Elem() } -func (o RadiusServerResponseOutput) ToRadiusServerResponseOutput() RadiusServerResponseOutput { +func (o PolicySettingsResponseLogScrubbingPtrOutput) ToPolicySettingsResponseLogScrubbingPtrOutput() PolicySettingsResponseLogScrubbingPtrOutput { return o } -func (o RadiusServerResponseOutput) ToRadiusServerResponseOutputWithContext(ctx context.Context) RadiusServerResponseOutput { +func (o PolicySettingsResponseLogScrubbingPtrOutput) ToPolicySettingsResponseLogScrubbingPtrOutputWithContext(ctx context.Context) PolicySettingsResponseLogScrubbingPtrOutput { return o } -// The address of this radius server. -func (o RadiusServerResponseOutput) RadiusServerAddress() pulumi.StringOutput { - return o.ApplyT(func(v RadiusServerResponse) string { return v.RadiusServerAddress }).(pulumi.StringOutput) +func (o PolicySettingsResponseLogScrubbingPtrOutput) Elem() PolicySettingsResponseLogScrubbingOutput { + return o.ApplyT(func(v *PolicySettingsResponseLogScrubbing) PolicySettingsResponseLogScrubbing { + if v != nil { + return *v + } + var ret PolicySettingsResponseLogScrubbing + return ret + }).(PolicySettingsResponseLogScrubbingOutput) +} + +// The rules that are applied to the logs for scrubbing. +func (o PolicySettingsResponseLogScrubbingPtrOutput) ScrubbingRules() WebApplicationFirewallScrubbingRulesResponseArrayOutput { + return o.ApplyT(func(v *PolicySettingsResponseLogScrubbing) []WebApplicationFirewallScrubbingRulesResponse { + if v == nil { + return nil + } + return v.ScrubbingRules + }).(WebApplicationFirewallScrubbingRulesResponseArrayOutput) } -// The initial score assigned to this radius server. -func (o RadiusServerResponseOutput) RadiusServerScore() pulumi.Float64PtrOutput { - return o.ApplyT(func(v RadiusServerResponse) *float64 { return v.RadiusServerScore }).(pulumi.Float64PtrOutput) +// State of the log scrubbing config. Default value is Enabled. +func (o PolicySettingsResponseLogScrubbingPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicySettingsResponseLogScrubbing) *string { + if v == nil { + return nil + } + return v.State + }).(pulumi.StringPtrOutput) } -// The secret used for this radius server. -func (o RadiusServerResponseOutput) RadiusServerSecret() pulumi.StringPtrOutput { - return o.ApplyT(func(v RadiusServerResponse) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) +// IpamPool association information. +type PoolAssociationResponse struct { + // List of assigned IP address prefixes in the IpamPool of the associated resource. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // Creation time of the association. + CreatedAt string `pulumi:"createdAt"` + Description *string `pulumi:"description"` + // Total number of reserved IP addresses of the association. + NumberOfReservedIPAddresses string `pulumi:"numberOfReservedIPAddresses"` + // IpamPool id for which the resource is associated to. + PoolId *string `pulumi:"poolId"` + // Expire time for IP addresses reserved. + ReservationExpiresAt string `pulumi:"reservationExpiresAt"` + // List of reserved IP address prefixes in the IpamPool of the associated resource. + ReservedPrefixes []string `pulumi:"reservedPrefixes"` + // Resource id of the associated Azure resource. + ResourceId string `pulumi:"resourceId"` + // Total number of assigned IP addresses of the association. + TotalNumberOfIPAddresses string `pulumi:"totalNumberOfIPAddresses"` } -type RadiusServerResponseArrayOutput struct{ *pulumi.OutputState } +// IpamPool association information. +type PoolAssociationResponseOutput struct{ *pulumi.OutputState } -func (RadiusServerResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RadiusServerResponse)(nil)).Elem() +func (PoolAssociationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PoolAssociationResponse)(nil)).Elem() } -func (o RadiusServerResponseArrayOutput) ToRadiusServerResponseArrayOutput() RadiusServerResponseArrayOutput { +func (o PoolAssociationResponseOutput) ToPoolAssociationResponseOutput() PoolAssociationResponseOutput { return o } -func (o RadiusServerResponseArrayOutput) ToRadiusServerResponseArrayOutputWithContext(ctx context.Context) RadiusServerResponseArrayOutput { +func (o PoolAssociationResponseOutput) ToPoolAssociationResponseOutputWithContext(ctx context.Context) PoolAssociationResponseOutput { return o } -func (o RadiusServerResponseArrayOutput) Index(i pulumi.IntInput) RadiusServerResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RadiusServerResponse { - return vs[0].([]RadiusServerResponse)[vs[1].(int)] - }).(RadiusServerResponseOutput) +// List of assigned IP address prefixes in the IpamPool of the associated resource. +func (o PoolAssociationResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v PoolAssociationResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) } -// Represents the Reachability Analysis Intent properties. -type ReachabilityAnalysisIntentProperties struct { - Description *string `pulumi:"description"` - // Destination resource id to verify the reachability path of. - DestinationResourceId string `pulumi:"destinationResourceId"` - // IP traffic information. - IpTraffic IPTraffic `pulumi:"ipTraffic"` - // Source resource id to verify the reachability path of. - SourceResourceId string `pulumi:"sourceResourceId"` +// Creation time of the association. +func (o PoolAssociationResponseOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v PoolAssociationResponse) string { return v.CreatedAt }).(pulumi.StringOutput) } -// ReachabilityAnalysisIntentPropertiesInput is an input type that accepts ReachabilityAnalysisIntentPropertiesArgs and ReachabilityAnalysisIntentPropertiesOutput values. -// You can construct a concrete instance of `ReachabilityAnalysisIntentPropertiesInput` via: -// -// ReachabilityAnalysisIntentPropertiesArgs{...} -type ReachabilityAnalysisIntentPropertiesInput interface { - pulumi.Input +func (o PoolAssociationResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PoolAssociationResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} - ToReachabilityAnalysisIntentPropertiesOutput() ReachabilityAnalysisIntentPropertiesOutput - ToReachabilityAnalysisIntentPropertiesOutputWithContext(context.Context) ReachabilityAnalysisIntentPropertiesOutput +// Total number of reserved IP addresses of the association. +func (o PoolAssociationResponseOutput) NumberOfReservedIPAddresses() pulumi.StringOutput { + return o.ApplyT(func(v PoolAssociationResponse) string { return v.NumberOfReservedIPAddresses }).(pulumi.StringOutput) } -// Represents the Reachability Analysis Intent properties. -type ReachabilityAnalysisIntentPropertiesArgs struct { - Description pulumi.StringPtrInput `pulumi:"description"` - // Destination resource id to verify the reachability path of. - DestinationResourceId pulumi.StringInput `pulumi:"destinationResourceId"` - // IP traffic information. - IpTraffic IPTrafficInput `pulumi:"ipTraffic"` - // Source resource id to verify the reachability path of. - SourceResourceId pulumi.StringInput `pulumi:"sourceResourceId"` +// IpamPool id for which the resource is associated to. +func (o PoolAssociationResponseOutput) PoolId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PoolAssociationResponse) *string { return v.PoolId }).(pulumi.StringPtrOutput) +} + +// Expire time for IP addresses reserved. +func (o PoolAssociationResponseOutput) ReservationExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v PoolAssociationResponse) string { return v.ReservationExpiresAt }).(pulumi.StringOutput) } -func (ReachabilityAnalysisIntentPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ReachabilityAnalysisIntentProperties)(nil)).Elem() +// List of reserved IP address prefixes in the IpamPool of the associated resource. +func (o PoolAssociationResponseOutput) ReservedPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v PoolAssociationResponse) []string { return v.ReservedPrefixes }).(pulumi.StringArrayOutput) } -func (i ReachabilityAnalysisIntentPropertiesArgs) ToReachabilityAnalysisIntentPropertiesOutput() ReachabilityAnalysisIntentPropertiesOutput { - return i.ToReachabilityAnalysisIntentPropertiesOutputWithContext(context.Background()) +// Resource id of the associated Azure resource. +func (o PoolAssociationResponseOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v PoolAssociationResponse) string { return v.ResourceId }).(pulumi.StringOutput) } -func (i ReachabilityAnalysisIntentPropertiesArgs) ToReachabilityAnalysisIntentPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisIntentPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(ReachabilityAnalysisIntentPropertiesOutput) +// Total number of assigned IP addresses of the association. +func (o PoolAssociationResponseOutput) TotalNumberOfIPAddresses() pulumi.StringOutput { + return o.ApplyT(func(v PoolAssociationResponse) string { return v.TotalNumberOfIPAddresses }).(pulumi.StringOutput) } -// Represents the Reachability Analysis Intent properties. -type ReachabilityAnalysisIntentPropertiesOutput struct{ *pulumi.OutputState } +type PoolAssociationResponseArrayOutput struct{ *pulumi.OutputState } -func (ReachabilityAnalysisIntentPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ReachabilityAnalysisIntentProperties)(nil)).Elem() +func (PoolAssociationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PoolAssociationResponse)(nil)).Elem() } -func (o ReachabilityAnalysisIntentPropertiesOutput) ToReachabilityAnalysisIntentPropertiesOutput() ReachabilityAnalysisIntentPropertiesOutput { +func (o PoolAssociationResponseArrayOutput) ToPoolAssociationResponseArrayOutput() PoolAssociationResponseArrayOutput { return o } -func (o ReachabilityAnalysisIntentPropertiesOutput) ToReachabilityAnalysisIntentPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisIntentPropertiesOutput { +func (o PoolAssociationResponseArrayOutput) ToPoolAssociationResponseArrayOutputWithContext(ctx context.Context) PoolAssociationResponseArrayOutput { return o } -func (o ReachabilityAnalysisIntentPropertiesOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) *string { return v.Description }).(pulumi.StringPtrOutput) +func (o PoolAssociationResponseArrayOutput) Index(i pulumi.IntInput) PoolAssociationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PoolAssociationResponse { + return vs[0].([]PoolAssociationResponse)[vs[1].(int)] + }).(PoolAssociationResponseOutput) } -// Destination resource id to verify the reachability path of. -func (o ReachabilityAnalysisIntentPropertiesOutput) DestinationResourceId() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) string { return v.DestinationResourceId }).(pulumi.StringOutput) +// PrivateDnsZoneConfig resource. +type PrivateDnsZoneConfig struct { + // 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 resource id of the private dns zone. + PrivateDnsZoneId *string `pulumi:"privateDnsZoneId"` } -// IP traffic information. -func (o ReachabilityAnalysisIntentPropertiesOutput) IpTraffic() IPTrafficOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) IPTraffic { return v.IpTraffic }).(IPTrafficOutput) -} +// PrivateDnsZoneConfigInput is an input type that accepts PrivateDnsZoneConfigArgs and PrivateDnsZoneConfigOutput values. +// You can construct a concrete instance of `PrivateDnsZoneConfigInput` via: +// +// PrivateDnsZoneConfigArgs{...} +type PrivateDnsZoneConfigInput interface { + pulumi.Input -// Source resource id to verify the reachability path of. -func (o ReachabilityAnalysisIntentPropertiesOutput) SourceResourceId() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) string { return v.SourceResourceId }).(pulumi.StringOutput) + ToPrivateDnsZoneConfigOutput() PrivateDnsZoneConfigOutput + ToPrivateDnsZoneConfigOutputWithContext(context.Context) PrivateDnsZoneConfigOutput } -// Represents the Reachability Analysis Intent properties. -type ReachabilityAnalysisIntentPropertiesResponse struct { - Description *string `pulumi:"description"` - // Destination resource id to verify the reachability path of. - DestinationResourceId string `pulumi:"destinationResourceId"` - // IP traffic information. - IpTraffic IPTrafficResponse `pulumi:"ipTraffic"` - // Provisioning states of a resource. - ProvisioningState string `pulumi:"provisioningState"` - // Source resource id to verify the reachability path of. - SourceResourceId string `pulumi:"sourceResourceId"` +// PrivateDnsZoneConfig resource. +type PrivateDnsZoneConfigArgs struct { + // 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 resource id of the private dns zone. + PrivateDnsZoneId pulumi.StringPtrInput `pulumi:"privateDnsZoneId"` } -// Represents the Reachability Analysis Intent properties. -type ReachabilityAnalysisIntentPropertiesResponseOutput struct{ *pulumi.OutputState } - -func (ReachabilityAnalysisIntentPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ReachabilityAnalysisIntentPropertiesResponse)(nil)).Elem() +func (PrivateDnsZoneConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateDnsZoneConfig)(nil)).Elem() } -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) ToReachabilityAnalysisIntentPropertiesResponseOutput() ReachabilityAnalysisIntentPropertiesResponseOutput { - return o +func (i PrivateDnsZoneConfigArgs) ToPrivateDnsZoneConfigOutput() PrivateDnsZoneConfigOutput { + return i.ToPrivateDnsZoneConfigOutputWithContext(context.Background()) } -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) ToReachabilityAnalysisIntentPropertiesResponseOutputWithContext(ctx context.Context) ReachabilityAnalysisIntentPropertiesResponseOutput { - return o +func (i PrivateDnsZoneConfigArgs) ToPrivateDnsZoneConfigOutputWithContext(ctx context.Context) PrivateDnsZoneConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateDnsZoneConfigOutput) } -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) *string { return v.Description }).(pulumi.StringPtrOutput) -} +// PrivateDnsZoneConfigArrayInput is an input type that accepts PrivateDnsZoneConfigArray and PrivateDnsZoneConfigArrayOutput values. +// You can construct a concrete instance of `PrivateDnsZoneConfigArrayInput` via: +// +// PrivateDnsZoneConfigArray{ PrivateDnsZoneConfigArgs{...} } +type PrivateDnsZoneConfigArrayInput interface { + pulumi.Input -// Destination resource id to verify the reachability path of. -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) DestinationResourceId() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) string { return v.DestinationResourceId }).(pulumi.StringOutput) + ToPrivateDnsZoneConfigArrayOutput() PrivateDnsZoneConfigArrayOutput + ToPrivateDnsZoneConfigArrayOutputWithContext(context.Context) PrivateDnsZoneConfigArrayOutput } -// IP traffic information. -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) IpTraffic() IPTrafficResponseOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) IPTrafficResponse { return v.IpTraffic }).(IPTrafficResponseOutput) -} +type PrivateDnsZoneConfigArray []PrivateDnsZoneConfigInput -// Provisioning states of a resource. -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +func (PrivateDnsZoneConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateDnsZoneConfig)(nil)).Elem() } -// Source resource id to verify the reachability path of. -func (o ReachabilityAnalysisIntentPropertiesResponseOutput) SourceResourceId() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) string { return v.SourceResourceId }).(pulumi.StringOutput) +func (i PrivateDnsZoneConfigArray) ToPrivateDnsZoneConfigArrayOutput() PrivateDnsZoneConfigArrayOutput { + return i.ToPrivateDnsZoneConfigArrayOutputWithContext(context.Background()) } -// Represents the Reachability Analysis Run properties. -type ReachabilityAnalysisRunProperties struct { - Description *string `pulumi:"description"` - // Id of the intent resource to run analysis on. - IntentId string `pulumi:"intentId"` +func (i PrivateDnsZoneConfigArray) ToPrivateDnsZoneConfigArrayOutputWithContext(ctx context.Context) PrivateDnsZoneConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateDnsZoneConfigArrayOutput) } -// ReachabilityAnalysisRunPropertiesInput is an input type that accepts ReachabilityAnalysisRunPropertiesArgs and ReachabilityAnalysisRunPropertiesOutput values. -// You can construct a concrete instance of `ReachabilityAnalysisRunPropertiesInput` via: -// -// ReachabilityAnalysisRunPropertiesArgs{...} -type ReachabilityAnalysisRunPropertiesInput interface { - pulumi.Input +// PrivateDnsZoneConfig resource. +type PrivateDnsZoneConfigOutput struct{ *pulumi.OutputState } - ToReachabilityAnalysisRunPropertiesOutput() ReachabilityAnalysisRunPropertiesOutput - ToReachabilityAnalysisRunPropertiesOutputWithContext(context.Context) ReachabilityAnalysisRunPropertiesOutput +func (PrivateDnsZoneConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateDnsZoneConfig)(nil)).Elem() } -// Represents the Reachability Analysis Run properties. -type ReachabilityAnalysisRunPropertiesArgs struct { - Description pulumi.StringPtrInput `pulumi:"description"` - // Id of the intent resource to run analysis on. - IntentId pulumi.StringInput `pulumi:"intentId"` +func (o PrivateDnsZoneConfigOutput) ToPrivateDnsZoneConfigOutput() PrivateDnsZoneConfigOutput { + return o } -func (ReachabilityAnalysisRunPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ReachabilityAnalysisRunProperties)(nil)).Elem() +func (o PrivateDnsZoneConfigOutput) ToPrivateDnsZoneConfigOutputWithContext(ctx context.Context) PrivateDnsZoneConfigOutput { + return o } -func (i ReachabilityAnalysisRunPropertiesArgs) ToReachabilityAnalysisRunPropertiesOutput() ReachabilityAnalysisRunPropertiesOutput { - return i.ToReachabilityAnalysisRunPropertiesOutputWithContext(context.Background()) +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o PrivateDnsZoneConfigOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateDnsZoneConfig) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (i ReachabilityAnalysisRunPropertiesArgs) ToReachabilityAnalysisRunPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisRunPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(ReachabilityAnalysisRunPropertiesOutput) +// The resource id of the private dns zone. +func (o PrivateDnsZoneConfigOutput) PrivateDnsZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateDnsZoneConfig) *string { return v.PrivateDnsZoneId }).(pulumi.StringPtrOutput) } -// Represents the Reachability Analysis Run properties. -type ReachabilityAnalysisRunPropertiesOutput struct{ *pulumi.OutputState } +type PrivateDnsZoneConfigArrayOutput struct{ *pulumi.OutputState } -func (ReachabilityAnalysisRunPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ReachabilityAnalysisRunProperties)(nil)).Elem() +func (PrivateDnsZoneConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateDnsZoneConfig)(nil)).Elem() } -func (o ReachabilityAnalysisRunPropertiesOutput) ToReachabilityAnalysisRunPropertiesOutput() ReachabilityAnalysisRunPropertiesOutput { +func (o PrivateDnsZoneConfigArrayOutput) ToPrivateDnsZoneConfigArrayOutput() PrivateDnsZoneConfigArrayOutput { return o } -func (o ReachabilityAnalysisRunPropertiesOutput) ToReachabilityAnalysisRunPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisRunPropertiesOutput { +func (o PrivateDnsZoneConfigArrayOutput) ToPrivateDnsZoneConfigArrayOutputWithContext(ctx context.Context) PrivateDnsZoneConfigArrayOutput { return o } -func (o ReachabilityAnalysisRunPropertiesOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunProperties) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -// Id of the intent resource to run analysis on. -func (o ReachabilityAnalysisRunPropertiesOutput) IntentId() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunProperties) string { return v.IntentId }).(pulumi.StringOutput) +func (o PrivateDnsZoneConfigArrayOutput) Index(i pulumi.IntInput) PrivateDnsZoneConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateDnsZoneConfig { + return vs[0].([]PrivateDnsZoneConfig)[vs[1].(int)] + }).(PrivateDnsZoneConfigOutput) } -// Represents the Reachability Analysis Run properties. -type ReachabilityAnalysisRunPropertiesResponse struct { - AnalysisResult string `pulumi:"analysisResult"` - Description *string `pulumi:"description"` - ErrorMessage string `pulumi:"errorMessage"` - // Intent information. - IntentContent IntentContentResponse `pulumi:"intentContent"` - // Id of the intent resource to run analysis on. - IntentId string `pulumi:"intentId"` - // Provisioning states of a resource. - ProvisioningState string `pulumi:"provisioningState"` +// PrivateDnsZoneConfig resource. +type PrivateDnsZoneConfigResponse struct { + // 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 resource id of the private dns zone. + PrivateDnsZoneId *string `pulumi:"privateDnsZoneId"` + // A collection of information regarding a recordSet, holding information to identify private resources. + RecordSets []RecordSetResponse `pulumi:"recordSets"` } -// Represents the Reachability Analysis Run properties. -type ReachabilityAnalysisRunPropertiesResponseOutput struct{ *pulumi.OutputState } +// PrivateDnsZoneConfig resource. +type PrivateDnsZoneConfigResponseOutput struct{ *pulumi.OutputState } -func (ReachabilityAnalysisRunPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ReachabilityAnalysisRunPropertiesResponse)(nil)).Elem() +func (PrivateDnsZoneConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateDnsZoneConfigResponse)(nil)).Elem() } -func (o ReachabilityAnalysisRunPropertiesResponseOutput) ToReachabilityAnalysisRunPropertiesResponseOutput() ReachabilityAnalysisRunPropertiesResponseOutput { +func (o PrivateDnsZoneConfigResponseOutput) ToPrivateDnsZoneConfigResponseOutput() PrivateDnsZoneConfigResponseOutput { return o } -func (o ReachabilityAnalysisRunPropertiesResponseOutput) ToReachabilityAnalysisRunPropertiesResponseOutputWithContext(ctx context.Context) ReachabilityAnalysisRunPropertiesResponseOutput { +func (o PrivateDnsZoneConfigResponseOutput) ToPrivateDnsZoneConfigResponseOutputWithContext(ctx context.Context) PrivateDnsZoneConfigResponseOutput { return o } -func (o ReachabilityAnalysisRunPropertiesResponseOutput) AnalysisResult() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.AnalysisResult }).(pulumi.StringOutput) +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o PrivateDnsZoneConfigResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateDnsZoneConfigResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The resource id of the private dns zone. +func (o PrivateDnsZoneConfigResponseOutput) PrivateDnsZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateDnsZoneConfigResponse) *string { return v.PrivateDnsZoneId }).(pulumi.StringPtrOutput) } -func (o ReachabilityAnalysisRunPropertiesResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +// A collection of information regarding a recordSet, holding information to identify private resources. +func (o PrivateDnsZoneConfigResponseOutput) RecordSets() RecordSetResponseArrayOutput { + return o.ApplyT(func(v PrivateDnsZoneConfigResponse) []RecordSetResponse { return v.RecordSets }).(RecordSetResponseArrayOutput) } -func (o ReachabilityAnalysisRunPropertiesResponseOutput) ErrorMessage() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +type PrivateDnsZoneConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (PrivateDnsZoneConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateDnsZoneConfigResponse)(nil)).Elem() } -// Intent information. -func (o ReachabilityAnalysisRunPropertiesResponseOutput) IntentContent() IntentContentResponseOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) IntentContentResponse { return v.IntentContent }).(IntentContentResponseOutput) +func (o PrivateDnsZoneConfigResponseArrayOutput) ToPrivateDnsZoneConfigResponseArrayOutput() PrivateDnsZoneConfigResponseArrayOutput { + return o } -// Id of the intent resource to run analysis on. -func (o ReachabilityAnalysisRunPropertiesResponseOutput) IntentId() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.IntentId }).(pulumi.StringOutput) +func (o PrivateDnsZoneConfigResponseArrayOutput) ToPrivateDnsZoneConfigResponseArrayOutputWithContext(ctx context.Context) PrivateDnsZoneConfigResponseArrayOutput { + return o } -// Provisioning states of a resource. -func (o ReachabilityAnalysisRunPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +func (o PrivateDnsZoneConfigResponseArrayOutput) Index(i pulumi.IntInput) PrivateDnsZoneConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateDnsZoneConfigResponse { + return vs[0].([]PrivateDnsZoneConfigResponse)[vs[1].(int)] + }).(PrivateDnsZoneConfigResponseOutput) } type RouteSourceDetailsResponseArrayMapOutput struct{ *pulumi.OutputState } @@ -62306,10 +62149,16 @@ func init() { pulumi.RegisterOutputType(ActionResponseArrayOutput{}) pulumi.RegisterOutputType(ActiveConnectivityConfigurationResponseOutput{}) pulumi.RegisterOutputType(ActiveConnectivityConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(ActiveConnectivityConfigurationResponseV1Output{}) + pulumi.RegisterOutputType(ActiveConnectivityConfigurationResponseV1ArrayOutput{}) pulumi.RegisterOutputType(ActiveDefaultSecurityAdminRuleResponseOutput{}) + pulumi.RegisterOutputType(ActiveDefaultSecurityAdminRuleResponseV1Output{}) pulumi.RegisterOutputType(ActiveDefaultSecurityUserRuleResponseOutput{}) + pulumi.RegisterOutputType(ActiveDefaultSecurityUserRuleResponseV1Output{}) pulumi.RegisterOutputType(ActiveSecurityAdminRuleResponseOutput{}) + pulumi.RegisterOutputType(ActiveSecurityAdminRuleResponseV1Output{}) pulumi.RegisterOutputType(ActiveSecurityUserRuleResponseOutput{}) + pulumi.RegisterOutputType(ActiveSecurityUserRuleResponseV1Output{}) pulumi.RegisterOutputType(AddressPrefixItemOutput{}) pulumi.RegisterOutputType(AddressPrefixItemArrayOutput{}) pulumi.RegisterOutputType(AddressPrefixItemResponseOutput{}) @@ -62333,6 +62182,8 @@ func init() { pulumi.RegisterOutputType(ApplicationGatewayBackendAddressPoolResponseOutput{}) pulumi.RegisterOutputType(ApplicationGatewayBackendAddressPoolResponsePtrOutput{}) pulumi.RegisterOutputType(ApplicationGatewayBackendAddressPoolResponseArrayOutput{}) + pulumi.RegisterOutputType(ApplicationGatewayBackendAddressPoolResponseV1Output{}) + pulumi.RegisterOutputType(ApplicationGatewayBackendAddressPoolResponseV1ArrayOutput{}) pulumi.RegisterOutputType(ApplicationGatewayBackendAddressResponseOutput{}) pulumi.RegisterOutputType(ApplicationGatewayBackendAddressResponseArrayOutput{}) pulumi.RegisterOutputType(ApplicationGatewayBackendHealthHttpSettingsResponseOutput{}) @@ -62564,6 +62415,8 @@ func init() { pulumi.RegisterOutputType(BackendAddressPoolArrayOutput{}) pulumi.RegisterOutputType(BackendAddressPoolResponseOutput{}) pulumi.RegisterOutputType(BackendAddressPoolResponseArrayOutput{}) + pulumi.RegisterOutputType(BackendAddressPoolResponseV1Output{}) + pulumi.RegisterOutputType(BackendAddressPoolResponseV1ArrayOutput{}) pulumi.RegisterOutputType(BastionActiveSessionResponseOutput{}) pulumi.RegisterOutputType(BastionActiveSessionResponseArrayOutput{}) pulumi.RegisterOutputType(BastionHostIPConfigurationOutput{}) @@ -62592,6 +62445,16 @@ func init() { pulumi.RegisterOutputType(CircuitMetadataMapResponseMapOutput{}) pulumi.RegisterOutputType(ConfigurationGroupResponseOutput{}) pulumi.RegisterOutputType(ConfigurationGroupResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV1Output{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV1ArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV2Output{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV2ArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV3Output{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV3ArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV4Output{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV4ArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV5Output{}) + pulumi.RegisterOutputType(ConfigurationGroupResponseV5ArrayOutput{}) pulumi.RegisterOutputType(ConnectionMonitorDestinationOutput{}) pulumi.RegisterOutputType(ConnectionMonitorDestinationPtrOutput{}) pulumi.RegisterOutputType(ConnectionMonitorDestinationResponseOutput{}) @@ -62660,6 +62523,10 @@ func init() { pulumi.RegisterOutputType(ConnectivityGroupItemArrayOutput{}) pulumi.RegisterOutputType(ConnectivityGroupItemResponseOutput{}) pulumi.RegisterOutputType(ConnectivityGroupItemResponseArrayOutput{}) + pulumi.RegisterOutputType(ConnectivityGroupItemResponseV1Output{}) + pulumi.RegisterOutputType(ConnectivityGroupItemResponseV1ArrayOutput{}) + pulumi.RegisterOutputType(ConnectivityGroupItemResponseV2Output{}) + pulumi.RegisterOutputType(ConnectivityGroupItemResponseV2ArrayOutput{}) pulumi.RegisterOutputType(ContainerNetworkInterfaceConfigurationOutput{}) pulumi.RegisterOutputType(ContainerNetworkInterfaceConfigurationArrayOutput{}) pulumi.RegisterOutputType(ContainerNetworkInterfaceConfigurationResponseOutput{}) @@ -62684,6 +62551,8 @@ func init() { pulumi.RegisterOutputType(DdosSettingsPtrOutput{}) pulumi.RegisterOutputType(DdosSettingsResponseOutput{}) pulumi.RegisterOutputType(DdosSettingsResponsePtrOutput{}) + pulumi.RegisterOutputType(DdosSettingsResponseV1Output{}) + pulumi.RegisterOutputType(DdosSettingsResponseV1PtrOutput{}) pulumi.RegisterOutputType(DelegationOutput{}) pulumi.RegisterOutputType(DelegationArrayOutput{}) pulumi.RegisterOutputType(DelegationPropertiesOutput{}) @@ -62692,6 +62561,8 @@ func init() { pulumi.RegisterOutputType(DelegationPropertiesResponsePtrOutput{}) pulumi.RegisterOutputType(DelegationResponseOutput{}) pulumi.RegisterOutputType(DelegationResponseArrayOutput{}) + pulumi.RegisterOutputType(DelegationResponseV1Output{}) + pulumi.RegisterOutputType(DelegationResponseV1ArrayOutput{}) pulumi.RegisterOutputType(DevicePropertiesOutput{}) pulumi.RegisterOutputType(DevicePropertiesPtrOutput{}) pulumi.RegisterOutputType(DevicePropertiesResponseOutput{}) @@ -62706,8 +62577,12 @@ func init() { pulumi.RegisterOutputType(DnsSettingsResponsePtrOutput{}) pulumi.RegisterOutputType(EffectiveConnectivityConfigurationResponseOutput{}) pulumi.RegisterOutputType(EffectiveConnectivityConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(EffectiveConnectivityConfigurationResponseV1Output{}) + pulumi.RegisterOutputType(EffectiveConnectivityConfigurationResponseV1ArrayOutput{}) pulumi.RegisterOutputType(EffectiveDefaultSecurityAdminRuleResponseOutput{}) + pulumi.RegisterOutputType(EffectiveDefaultSecurityAdminRuleResponseV1Output{}) pulumi.RegisterOutputType(EffectiveSecurityAdminRuleResponseOutput{}) + pulumi.RegisterOutputType(EffectiveSecurityAdminRuleResponseV1Output{}) pulumi.RegisterOutputType(EffectiveVirtualNetworkResponseOutput{}) pulumi.RegisterOutputType(EffectiveVirtualNetworkResponseArrayOutput{}) pulumi.RegisterOutputType(EndpointServiceOutput{}) @@ -62886,12 +62761,18 @@ func init() { pulumi.RegisterOutputType(FlowLogFormatParametersResponsePtrOutput{}) pulumi.RegisterOutputType(FlowLogResponseOutput{}) pulumi.RegisterOutputType(FlowLogResponseArrayOutput{}) + pulumi.RegisterOutputType(FlowLogResponseV1Output{}) + pulumi.RegisterOutputType(FlowLogResponseV1ArrayOutput{}) + pulumi.RegisterOutputType(FlowLogResponseV2Output{}) + pulumi.RegisterOutputType(FlowLogResponseV2ArrayOutput{}) pulumi.RegisterOutputType(FrontendIPConfigurationOutput{}) pulumi.RegisterOutputType(FrontendIPConfigurationPtrOutput{}) pulumi.RegisterOutputType(FrontendIPConfigurationArrayOutput{}) pulumi.RegisterOutputType(FrontendIPConfigurationResponseOutput{}) pulumi.RegisterOutputType(FrontendIPConfigurationResponsePtrOutput{}) pulumi.RegisterOutputType(FrontendIPConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(FrontendIPConfigurationResponseV1Output{}) + pulumi.RegisterOutputType(FrontendIPConfigurationResponseV1PtrOutput{}) pulumi.RegisterOutputType(GatewayCustomBgpIpAddressIpConfigurationOutput{}) pulumi.RegisterOutputType(GatewayCustomBgpIpAddressIpConfigurationArrayOutput{}) pulumi.RegisterOutputType(GatewayCustomBgpIpAddressIpConfigurationResponseOutput{}) @@ -62948,9 +62829,17 @@ func init() { pulumi.RegisterOutputType(IPConfigurationProfileArrayOutput{}) pulumi.RegisterOutputType(IPConfigurationProfileResponseOutput{}) pulumi.RegisterOutputType(IPConfigurationProfileResponseArrayOutput{}) + pulumi.RegisterOutputType(IPConfigurationProfileResponseV1Output{}) + pulumi.RegisterOutputType(IPConfigurationProfileResponseV1ArrayOutput{}) pulumi.RegisterOutputType(IPConfigurationResponseOutput{}) pulumi.RegisterOutputType(IPConfigurationResponsePtrOutput{}) pulumi.RegisterOutputType(IPConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(IPConfigurationResponseV1Output{}) + pulumi.RegisterOutputType(IPConfigurationResponseV1ArrayOutput{}) + pulumi.RegisterOutputType(IPConfigurationResponseV2Output{}) + pulumi.RegisterOutputType(IPConfigurationResponseV2ArrayOutput{}) + pulumi.RegisterOutputType(IPConfigurationResponseV3Output{}) + pulumi.RegisterOutputType(IPConfigurationResponseV3ArrayOutput{}) pulumi.RegisterOutputType(IPRuleOutput{}) pulumi.RegisterOutputType(IPRuleArrayOutput{}) pulumi.RegisterOutputType(IPRuleResponseOutput{}) @@ -62965,9 +62854,10 @@ func init() { pulumi.RegisterOutputType(InboundNatRuleTypeArrayOutput{}) pulumi.RegisterOutputType(InboundNatRuleResponseOutput{}) pulumi.RegisterOutputType(InboundNatRuleResponseArrayOutput{}) + pulumi.RegisterOutputType(InboundNatRuleResponseV1Output{}) + pulumi.RegisterOutputType(InboundNatRuleResponseV1ArrayOutput{}) pulumi.RegisterOutputType(IntentContentResponseOutput{}) pulumi.RegisterOutputType(InterfaceEndpointResponseOutput{}) - pulumi.RegisterOutputType(InterfaceEndpointResponsePtrOutput{}) pulumi.RegisterOutputType(InterfaceEndpointResponseArrayOutput{}) pulumi.RegisterOutputType(InternetIngressPublicIpsPropertiesOutput{}) pulumi.RegisterOutputType(InternetIngressPublicIpsPropertiesArrayOutput{}) @@ -63043,6 +62933,10 @@ func init() { pulumi.RegisterOutputType(NatGatewayTypePtrOutput{}) pulumi.RegisterOutputType(NatGatewayResponseOutput{}) pulumi.RegisterOutputType(NatGatewayResponsePtrOutput{}) + pulumi.RegisterOutputType(NatGatewayResponseV1Output{}) + pulumi.RegisterOutputType(NatGatewayResponseV1PtrOutput{}) + pulumi.RegisterOutputType(NatGatewayResponseV2Output{}) + pulumi.RegisterOutputType(NatGatewayResponseV2PtrOutput{}) pulumi.RegisterOutputType(NatGatewaySkuOutput{}) pulumi.RegisterOutputType(NatGatewaySkuPtrOutput{}) pulumi.RegisterOutputType(NatGatewaySkuResponseOutput{}) @@ -63059,6 +62953,8 @@ func init() { pulumi.RegisterOutputType(NetworkInterfaceDnsSettingsPtrOutput{}) pulumi.RegisterOutputType(NetworkInterfaceDnsSettingsResponseOutput{}) pulumi.RegisterOutputType(NetworkInterfaceDnsSettingsResponsePtrOutput{}) + pulumi.RegisterOutputType(NetworkInterfaceDnsSettingsResponseV1Output{}) + pulumi.RegisterOutputType(NetworkInterfaceDnsSettingsResponseV1PtrOutput{}) pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationOutput{}) pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationPtrOutput{}) pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationArrayOutput{}) @@ -63067,10 +62963,20 @@ func init() { pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationResponseOutput{}) pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationResponsePtrOutput{}) pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationResponseV1Output{}) + pulumi.RegisterOutputType(NetworkInterfaceIPConfigurationResponseV1ArrayOutput{}) pulumi.RegisterOutputType(NetworkInterfaceResponseOutput{}) pulumi.RegisterOutputType(NetworkInterfaceResponseArrayOutput{}) + pulumi.RegisterOutputType(NetworkInterfaceResponseV1Output{}) + pulumi.RegisterOutputType(NetworkInterfaceResponseV1ArrayOutput{}) + pulumi.RegisterOutputType(NetworkInterfaceResponseV2Output{}) + pulumi.RegisterOutputType(NetworkInterfaceResponseV2ArrayOutput{}) + pulumi.RegisterOutputType(NetworkInterfaceResponseV3Output{}) + pulumi.RegisterOutputType(NetworkInterfaceResponseV3ArrayOutput{}) pulumi.RegisterOutputType(NetworkInterfaceTapConfigurationResponseOutput{}) pulumi.RegisterOutputType(NetworkInterfaceTapConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(NetworkInterfaceTapConfigurationResponseV1Output{}) + pulumi.RegisterOutputType(NetworkInterfaceTapConfigurationResponseV1ArrayOutput{}) pulumi.RegisterOutputType(NetworkManagerDeploymentStatusResponseOutput{}) pulumi.RegisterOutputType(NetworkManagerDeploymentStatusResponseArrayOutput{}) pulumi.RegisterOutputType(NetworkManagerPropertiesNetworkManagerScopesOutput{}) @@ -63083,6 +62989,12 @@ func init() { pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemArrayOutput{}) pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseOutput{}) pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseArrayOutput{}) + pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseV1Output{}) + pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseV1ArrayOutput{}) + pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseV2Output{}) + pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseV2ArrayOutput{}) + pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseV3Output{}) + pulumi.RegisterOutputType(NetworkManagerSecurityGroupItemResponseV3ArrayOutput{}) pulumi.RegisterOutputType(NetworkRuleOutput{}) pulumi.RegisterOutputType(NetworkRuleConditionOutput{}) pulumi.RegisterOutputType(NetworkRuleConditionPtrOutput{}) @@ -63093,6 +63005,12 @@ func init() { pulumi.RegisterOutputType(NetworkSecurityGroupTypePtrOutput{}) pulumi.RegisterOutputType(NetworkSecurityGroupResponseOutput{}) pulumi.RegisterOutputType(NetworkSecurityGroupResponsePtrOutput{}) + pulumi.RegisterOutputType(NetworkSecurityGroupResponseV1Output{}) + pulumi.RegisterOutputType(NetworkSecurityGroupResponseV1PtrOutput{}) + pulumi.RegisterOutputType(NetworkSecurityGroupResponseV2Output{}) + pulumi.RegisterOutputType(NetworkSecurityGroupResponseV2PtrOutput{}) + pulumi.RegisterOutputType(NetworkSecurityGroupResponseV3Output{}) + pulumi.RegisterOutputType(NetworkSecurityGroupResponseV3PtrOutput{}) pulumi.RegisterOutputType(NetworkVirtualApplianceConnectionPropertiesOutput{}) pulumi.RegisterOutputType(NetworkVirtualApplianceConnectionPropertiesPtrOutput{}) pulumi.RegisterOutputType(NetworkVirtualApplianceConnectionPropertiesResponseOutput{}) @@ -63188,83 +63106,5 @@ func init() { pulumi.RegisterOutputType(PrivateDnsZoneConfigArrayOutput{}) pulumi.RegisterOutputType(PrivateDnsZoneConfigResponseOutput{}) pulumi.RegisterOutputType(PrivateDnsZoneConfigResponseArrayOutput{}) - pulumi.RegisterOutputType(PrivateEndpointConnectionResponseOutput{}) - pulumi.RegisterOutputType(PrivateEndpointConnectionResponseArrayOutput{}) - pulumi.RegisterOutputType(PrivateEndpointIPConfigurationOutput{}) - pulumi.RegisterOutputType(PrivateEndpointIPConfigurationArrayOutput{}) - pulumi.RegisterOutputType(PrivateEndpointIPConfigurationResponseOutput{}) - pulumi.RegisterOutputType(PrivateEndpointIPConfigurationResponseArrayOutput{}) - pulumi.RegisterOutputType(PrivateEndpointResponseOutput{}) - pulumi.RegisterOutputType(PrivateEndpointResponseArrayOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceTypeOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceTypePtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionArrayOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionResponseOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionResponseArrayOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionStateOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionStatePtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionStateResponseOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceConnectionStateResponsePtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationArrayOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationResponseOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationResponseArrayOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesAutoApprovalOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesAutoApprovalPtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseAutoApprovalOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseVisibilityOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseVisibilityPtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesVisibilityOutput{}) - pulumi.RegisterOutputType(PrivateLinkServicePropertiesVisibilityPtrOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceResponseOutput{}) - pulumi.RegisterOutputType(PrivateLinkServiceResponsePtrOutput{}) - pulumi.RegisterOutputType(ProbeOutput{}) - pulumi.RegisterOutputType(ProbeArrayOutput{}) - pulumi.RegisterOutputType(ProbeResponseOutput{}) - pulumi.RegisterOutputType(ProbeResponseArrayOutput{}) - pulumi.RegisterOutputType(PropagatedRouteTableOutput{}) - pulumi.RegisterOutputType(PropagatedRouteTablePtrOutput{}) - pulumi.RegisterOutputType(PropagatedRouteTableResponseOutput{}) - pulumi.RegisterOutputType(PropagatedRouteTableResponsePtrOutput{}) - pulumi.RegisterOutputType(PublicIPAddressTypeOutput{}) - pulumi.RegisterOutputType(PublicIPAddressTypePtrOutput{}) - pulumi.RegisterOutputType(PublicIPAddressDnsSettingsOutput{}) - pulumi.RegisterOutputType(PublicIPAddressDnsSettingsPtrOutput{}) - pulumi.RegisterOutputType(PublicIPAddressDnsSettingsResponseOutput{}) - pulumi.RegisterOutputType(PublicIPAddressDnsSettingsResponsePtrOutput{}) - pulumi.RegisterOutputType(PublicIPAddressResponseOutput{}) - pulumi.RegisterOutputType(PublicIPAddressResponsePtrOutput{}) - pulumi.RegisterOutputType(PublicIPAddressSkuOutput{}) - pulumi.RegisterOutputType(PublicIPAddressSkuPtrOutput{}) - pulumi.RegisterOutputType(PublicIPAddressSkuResponseOutput{}) - pulumi.RegisterOutputType(PublicIPAddressSkuResponsePtrOutput{}) - pulumi.RegisterOutputType(PublicIPPrefixSkuOutput{}) - pulumi.RegisterOutputType(PublicIPPrefixSkuPtrOutput{}) - pulumi.RegisterOutputType(PublicIPPrefixSkuResponseOutput{}) - pulumi.RegisterOutputType(PublicIPPrefixSkuResponsePtrOutput{}) - pulumi.RegisterOutputType(QosDefinitionOutput{}) - pulumi.RegisterOutputType(QosDefinitionArrayOutput{}) - pulumi.RegisterOutputType(QosDefinitionResponseOutput{}) - pulumi.RegisterOutputType(QosDefinitionResponseArrayOutput{}) - pulumi.RegisterOutputType(QosIpRangeOutput{}) - pulumi.RegisterOutputType(QosIpRangeArrayOutput{}) - pulumi.RegisterOutputType(QosIpRangeResponseOutput{}) - pulumi.RegisterOutputType(QosIpRangeResponseArrayOutput{}) - pulumi.RegisterOutputType(QosPortRangeOutput{}) - pulumi.RegisterOutputType(QosPortRangeArrayOutput{}) - pulumi.RegisterOutputType(QosPortRangeResponseOutput{}) - pulumi.RegisterOutputType(QosPortRangeResponseArrayOutput{}) - pulumi.RegisterOutputType(RadiusAuthServerResponseOutput{}) - pulumi.RegisterOutputType(RadiusAuthServerResponseArrayOutput{}) - pulumi.RegisterOutputType(RadiusServerOutput{}) - pulumi.RegisterOutputType(RadiusServerArrayOutput{}) - pulumi.RegisterOutputType(RadiusServerResponseOutput{}) - pulumi.RegisterOutputType(RadiusServerResponseArrayOutput{}) - pulumi.RegisterOutputType(ReachabilityAnalysisIntentPropertiesOutput{}) - pulumi.RegisterOutputType(ReachabilityAnalysisIntentPropertiesResponseOutput{}) - pulumi.RegisterOutputType(ReachabilityAnalysisRunPropertiesOutput{}) - pulumi.RegisterOutputType(ReachabilityAnalysisRunPropertiesResponseOutput{}) pulumi.RegisterOutputType(RouteSourceDetailsResponseArrayMapOutput{}) } 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 b6b62262f..29d80d645 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 @@ -13,1898 +13,2584 @@ import ( var _ = utilities.GetEnvOrDefault -// A collective group of information about the record set information. -type RecordSetResponse struct { - // Fqdn that resolves to private endpoint ip address. - Fqdn *string `pulumi:"fqdn"` - // The private ip address of the private endpoint. - IpAddresses []string `pulumi:"ipAddresses"` - // The provisioning state of the recordset. +// PrivateEndpointConnection resource. +type PrivateEndpointConnectionResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The consumer link id. + LinkIdentifier string `pulumi:"linkIdentifier"` + // 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 resource of private end point. + PrivateEndpoint PrivateEndpointResponse `pulumi:"privateEndpoint"` + // The location of the private endpoint. + PrivateEndpointLocation string `pulumi:"privateEndpointLocation"` + // A collection of information about the state of the connection between service consumer and provider. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionStateResponse `pulumi:"privateLinkServiceConnectionState"` + // The provisioning state of the private endpoint connection resource. ProvisioningState string `pulumi:"provisioningState"` - // Recordset name. - RecordSetName *string `pulumi:"recordSetName"` - // Resource record type. - RecordType *string `pulumi:"recordType"` - // Recordset time to live. - Ttl *int `pulumi:"ttl"` + // The resource type. + Type string `pulumi:"type"` } -// A collective group of information about the record set information. -type RecordSetResponseOutput struct{ *pulumi.OutputState } +// Defaults sets the appropriate defaults for PrivateEndpointConnectionResponse +func (val *PrivateEndpointConnectionResponse) Defaults() *PrivateEndpointConnectionResponse { + if val == nil { + return nil + } + tmp := *val + tmp.PrivateEndpoint = *tmp.PrivateEndpoint.Defaults() -func (RecordSetResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RecordSetResponse)(nil)).Elem() + return &tmp } -func (o RecordSetResponseOutput) ToRecordSetResponseOutput() RecordSetResponseOutput { +// PrivateEndpointConnection resource. +type PrivateEndpointConnectionResponseOutput struct{ *pulumi.OutputState } + +func (PrivateEndpointConnectionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointConnectionResponse)(nil)).Elem() +} + +func (o PrivateEndpointConnectionResponseOutput) ToPrivateEndpointConnectionResponseOutput() PrivateEndpointConnectionResponseOutput { return o } -func (o RecordSetResponseOutput) ToRecordSetResponseOutputWithContext(ctx context.Context) RecordSetResponseOutput { +func (o PrivateEndpointConnectionResponseOutput) ToPrivateEndpointConnectionResponseOutputWithContext(ctx context.Context) PrivateEndpointConnectionResponseOutput { return o } -// Fqdn that resolves to private endpoint ip address. -func (o RecordSetResponseOutput) Fqdn() pulumi.StringPtrOutput { - return o.ApplyT(func(v RecordSetResponse) *string { return v.Fqdn }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateEndpointConnectionResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.Etag }).(pulumi.StringOutput) } -// The private ip address of the private endpoint. -func (o RecordSetResponseOutput) IpAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v RecordSetResponse) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) +// Resource ID. +func (o PrivateEndpointConnectionResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The provisioning state of the recordset. -func (o RecordSetResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v RecordSetResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The consumer link id. +func (o PrivateEndpointConnectionResponseOutput) LinkIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.LinkIdentifier }).(pulumi.StringOutput) } -// Recordset name. -func (o RecordSetResponseOutput) RecordSetName() pulumi.StringPtrOutput { - return o.ApplyT(func(v RecordSetResponse) *string { return v.RecordSetName }).(pulumi.StringPtrOutput) +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o PrivateEndpointConnectionResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Resource record type. -func (o RecordSetResponseOutput) RecordType() pulumi.StringPtrOutput { - return o.ApplyT(func(v RecordSetResponse) *string { return v.RecordType }).(pulumi.StringPtrOutput) +// The resource of private end point. +func (o PrivateEndpointConnectionResponseOutput) PrivateEndpoint() PrivateEndpointResponseOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) PrivateEndpointResponse { return v.PrivateEndpoint }).(PrivateEndpointResponseOutput) } -// Recordset time to live. -func (o RecordSetResponseOutput) Ttl() pulumi.IntPtrOutput { - return o.ApplyT(func(v RecordSetResponse) *int { return v.Ttl }).(pulumi.IntPtrOutput) +// The location of the private endpoint. +func (o PrivateEndpointConnectionResponseOutput) PrivateEndpointLocation() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.PrivateEndpointLocation }).(pulumi.StringOutput) } -type RecordSetResponseArrayOutput struct{ *pulumi.OutputState } +// A collection of information about the state of the connection between service consumer and provider. +func (o PrivateEndpointConnectionResponseOutput) PrivateLinkServiceConnectionState() PrivateLinkServiceConnectionStateResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) *PrivateLinkServiceConnectionStateResponse { + return v.PrivateLinkServiceConnectionState + }).(PrivateLinkServiceConnectionStateResponsePtrOutput) +} -func (RecordSetResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RecordSetResponse)(nil)).Elem() +// The provisioning state of the private endpoint connection resource. +func (o PrivateEndpointConnectionResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (o RecordSetResponseArrayOutput) ToRecordSetResponseArrayOutput() RecordSetResponseArrayOutput { +// The resource type. +func (o PrivateEndpointConnectionResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointConnectionResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type PrivateEndpointConnectionResponseArrayOutput struct{ *pulumi.OutputState } + +func (PrivateEndpointConnectionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateEndpointConnectionResponse)(nil)).Elem() +} + +func (o PrivateEndpointConnectionResponseArrayOutput) ToPrivateEndpointConnectionResponseArrayOutput() PrivateEndpointConnectionResponseArrayOutput { return o } -func (o RecordSetResponseArrayOutput) ToRecordSetResponseArrayOutputWithContext(ctx context.Context) RecordSetResponseArrayOutput { +func (o PrivateEndpointConnectionResponseArrayOutput) ToPrivateEndpointConnectionResponseArrayOutputWithContext(ctx context.Context) PrivateEndpointConnectionResponseArrayOutput { return o } -func (o RecordSetResponseArrayOutput) Index(i pulumi.IntInput) RecordSetResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RecordSetResponse { - return vs[0].([]RecordSetResponse)[vs[1].(int)] - }).(RecordSetResponseOutput) +func (o PrivateEndpointConnectionResponseArrayOutput) Index(i pulumi.IntInput) PrivateEndpointConnectionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointConnectionResponse { + return vs[0].([]PrivateEndpointConnectionResponse)[vs[1].(int)] + }).(PrivateEndpointConnectionResponseOutput) } -// Reference to a public IP address. -type ReferencedPublicIpAddressResponse struct { - // The PublicIPAddress Reference. - Id *string `pulumi:"id"` +// An IP Configuration of the private endpoint. +type PrivateEndpointIPConfiguration struct { + // The ID of a group obtained from the remote resource that this private endpoint should connect to. + GroupId *string `pulumi:"groupId"` + // The member name of a group obtained from the remote resource that this private endpoint should connect to. + MemberName *string `pulumi:"memberName"` + // The name of the resource that is unique within a resource group. + Name *string `pulumi:"name"` + // A private ip address obtained from the private endpoint's subnet. + PrivateIPAddress *string `pulumi:"privateIPAddress"` } -// Reference to a public IP address. -type ReferencedPublicIpAddressResponseOutput struct{ *pulumi.OutputState } +// PrivateEndpointIPConfigurationInput is an input type that accepts PrivateEndpointIPConfigurationArgs and PrivateEndpointIPConfigurationOutput values. +// You can construct a concrete instance of `PrivateEndpointIPConfigurationInput` via: +// +// PrivateEndpointIPConfigurationArgs{...} +type PrivateEndpointIPConfigurationInput interface { + pulumi.Input -func (ReferencedPublicIpAddressResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ReferencedPublicIpAddressResponse)(nil)).Elem() + ToPrivateEndpointIPConfigurationOutput() PrivateEndpointIPConfigurationOutput + ToPrivateEndpointIPConfigurationOutputWithContext(context.Context) PrivateEndpointIPConfigurationOutput } -func (o ReferencedPublicIpAddressResponseOutput) ToReferencedPublicIpAddressResponseOutput() ReferencedPublicIpAddressResponseOutput { - return o +// An IP Configuration of the private endpoint. +type PrivateEndpointIPConfigurationArgs struct { + // The ID of a group obtained from the remote resource that this private endpoint should connect to. + GroupId pulumi.StringPtrInput `pulumi:"groupId"` + // The member name of a group obtained from the remote resource that this private endpoint should connect to. + MemberName pulumi.StringPtrInput `pulumi:"memberName"` + // The name of the resource that is unique within a resource group. + Name pulumi.StringPtrInput `pulumi:"name"` + // A private ip address obtained from the private endpoint's subnet. + PrivateIPAddress pulumi.StringPtrInput `pulumi:"privateIPAddress"` } -func (o ReferencedPublicIpAddressResponseOutput) ToReferencedPublicIpAddressResponseOutputWithContext(ctx context.Context) ReferencedPublicIpAddressResponseOutput { - return o +func (PrivateEndpointIPConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointIPConfiguration)(nil)).Elem() } -// The PublicIPAddress Reference. -func (o ReferencedPublicIpAddressResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ReferencedPublicIpAddressResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (i PrivateEndpointIPConfigurationArgs) ToPrivateEndpointIPConfigurationOutput() PrivateEndpointIPConfigurationOutput { + return i.ToPrivateEndpointIPConfigurationOutputWithContext(context.Background()) } -type ReferencedPublicIpAddressResponseArrayOutput struct{ *pulumi.OutputState } - -func (ReferencedPublicIpAddressResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ReferencedPublicIpAddressResponse)(nil)).Elem() +func (i PrivateEndpointIPConfigurationArgs) ToPrivateEndpointIPConfigurationOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateEndpointIPConfigurationOutput) } -func (o ReferencedPublicIpAddressResponseArrayOutput) ToReferencedPublicIpAddressResponseArrayOutput() ReferencedPublicIpAddressResponseArrayOutput { - return o +// PrivateEndpointIPConfigurationArrayInput is an input type that accepts PrivateEndpointIPConfigurationArray and PrivateEndpointIPConfigurationArrayOutput values. +// You can construct a concrete instance of `PrivateEndpointIPConfigurationArrayInput` via: +// +// PrivateEndpointIPConfigurationArray{ PrivateEndpointIPConfigurationArgs{...} } +type PrivateEndpointIPConfigurationArrayInput interface { + pulumi.Input + + ToPrivateEndpointIPConfigurationArrayOutput() PrivateEndpointIPConfigurationArrayOutput + ToPrivateEndpointIPConfigurationArrayOutputWithContext(context.Context) PrivateEndpointIPConfigurationArrayOutput } -func (o ReferencedPublicIpAddressResponseArrayOutput) ToReferencedPublicIpAddressResponseArrayOutputWithContext(ctx context.Context) ReferencedPublicIpAddressResponseArrayOutput { - return o +type PrivateEndpointIPConfigurationArray []PrivateEndpointIPConfigurationInput + +func (PrivateEndpointIPConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateEndpointIPConfiguration)(nil)).Elem() } -func (o ReferencedPublicIpAddressResponseArrayOutput) Index(i pulumi.IntInput) ReferencedPublicIpAddressResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReferencedPublicIpAddressResponse { - return vs[0].([]ReferencedPublicIpAddressResponse)[vs[1].(int)] - }).(ReferencedPublicIpAddressResponseOutput) +func (i PrivateEndpointIPConfigurationArray) ToPrivateEndpointIPConfigurationArrayOutput() PrivateEndpointIPConfigurationArrayOutput { + return i.ToPrivateEndpointIPConfigurationArrayOutputWithContext(context.Background()) } -// Gateway Resiliency based Recommendations -type ResiliencyRecommendationComponentsResponse struct { - // Current Score of the gateway - CurrentScore *string `pulumi:"currentScore"` - // Max score that the gateway can achieve if the specified recommendation is applied - MaxScore *string `pulumi:"maxScore"` - // Name of the Resiliency based Recommendation Component - Name *string `pulumi:"name"` - // List of Gateway Resiliency based Recommendations - Recommendations []GatewayResiliencyRecommendationResponse `pulumi:"recommendations"` +func (i PrivateEndpointIPConfigurationArray) ToPrivateEndpointIPConfigurationArrayOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateEndpointIPConfigurationArrayOutput) } -// Gateway Resiliency based Recommendations -type ResiliencyRecommendationComponentsResponseOutput struct{ *pulumi.OutputState } +// An IP Configuration of the private endpoint. +type PrivateEndpointIPConfigurationOutput struct{ *pulumi.OutputState } -func (ResiliencyRecommendationComponentsResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ResiliencyRecommendationComponentsResponse)(nil)).Elem() +func (PrivateEndpointIPConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointIPConfiguration)(nil)).Elem() } -func (o ResiliencyRecommendationComponentsResponseOutput) ToResiliencyRecommendationComponentsResponseOutput() ResiliencyRecommendationComponentsResponseOutput { +func (o PrivateEndpointIPConfigurationOutput) ToPrivateEndpointIPConfigurationOutput() PrivateEndpointIPConfigurationOutput { return o } -func (o ResiliencyRecommendationComponentsResponseOutput) ToResiliencyRecommendationComponentsResponseOutputWithContext(ctx context.Context) ResiliencyRecommendationComponentsResponseOutput { +func (o PrivateEndpointIPConfigurationOutput) ToPrivateEndpointIPConfigurationOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationOutput { return o } -// Current Score of the gateway -func (o ResiliencyRecommendationComponentsResponseOutput) CurrentScore() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) *string { return v.CurrentScore }).(pulumi.StringPtrOutput) +// The ID of a group obtained from the remote resource that this private endpoint should connect to. +func (o PrivateEndpointIPConfigurationOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.GroupId }).(pulumi.StringPtrOutput) } -// Max score that the gateway can achieve if the specified recommendation is applied -func (o ResiliencyRecommendationComponentsResponseOutput) MaxScore() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) *string { return v.MaxScore }).(pulumi.StringPtrOutput) +// The member name of a group obtained from the remote resource that this private endpoint should connect to. +func (o PrivateEndpointIPConfigurationOutput) MemberName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.MemberName }).(pulumi.StringPtrOutput) } -// Name of the Resiliency based Recommendation Component -func (o ResiliencyRecommendationComponentsResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The name of the resource that is unique within a resource group. +func (o PrivateEndpointIPConfigurationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) } -// List of Gateway Resiliency based Recommendations -func (o ResiliencyRecommendationComponentsResponseOutput) Recommendations() GatewayResiliencyRecommendationResponseArrayOutput { - return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) []GatewayResiliencyRecommendationResponse { - return v.Recommendations - }).(GatewayResiliencyRecommendationResponseArrayOutput) +// A private ip address obtained from the private endpoint's subnet. +func (o PrivateEndpointIPConfigurationOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfiguration) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) } -type ResiliencyRecommendationComponentsResponseArrayOutput struct{ *pulumi.OutputState } +type PrivateEndpointIPConfigurationArrayOutput struct{ *pulumi.OutputState } -func (ResiliencyRecommendationComponentsResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ResiliencyRecommendationComponentsResponse)(nil)).Elem() +func (PrivateEndpointIPConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateEndpointIPConfiguration)(nil)).Elem() } -func (o ResiliencyRecommendationComponentsResponseArrayOutput) ToResiliencyRecommendationComponentsResponseArrayOutput() ResiliencyRecommendationComponentsResponseArrayOutput { +func (o PrivateEndpointIPConfigurationArrayOutput) ToPrivateEndpointIPConfigurationArrayOutput() PrivateEndpointIPConfigurationArrayOutput { return o } -func (o ResiliencyRecommendationComponentsResponseArrayOutput) ToResiliencyRecommendationComponentsResponseArrayOutputWithContext(ctx context.Context) ResiliencyRecommendationComponentsResponseArrayOutput { +func (o PrivateEndpointIPConfigurationArrayOutput) ToPrivateEndpointIPConfigurationArrayOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationArrayOutput { return o } -func (o ResiliencyRecommendationComponentsResponseArrayOutput) Index(i pulumi.IntInput) ResiliencyRecommendationComponentsResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResiliencyRecommendationComponentsResponse { - return vs[0].([]ResiliencyRecommendationComponentsResponse)[vs[1].(int)] - }).(ResiliencyRecommendationComponentsResponseOutput) +func (o PrivateEndpointIPConfigurationArrayOutput) Index(i pulumi.IntInput) PrivateEndpointIPConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointIPConfiguration { + return vs[0].([]PrivateEndpointIPConfiguration)[vs[1].(int)] + }).(PrivateEndpointIPConfigurationOutput) } -// Representation of basic resource information. -type ResourceBasicsResponse struct { - // List of IP address prefixes of the resource. - AddressPrefixes []string `pulumi:"addressPrefixes"` - // ResourceId of the Azure resource. - ResourceId *string `pulumi:"resourceId"` +// An IP Configuration of the private endpoint. +type PrivateEndpointIPConfigurationResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The ID of a group obtained from the remote resource that this private endpoint should connect to. + GroupId *string `pulumi:"groupId"` + // The member name of a group obtained from the remote resource that this private endpoint should connect to. + MemberName *string `pulumi:"memberName"` + // The name of the resource that is unique within a resource group. + Name *string `pulumi:"name"` + // A private ip address obtained from the private endpoint's subnet. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The resource type. + Type string `pulumi:"type"` } -// Representation of basic resource information. -type ResourceBasicsResponseOutput struct{ *pulumi.OutputState } +// An IP Configuration of the private endpoint. +type PrivateEndpointIPConfigurationResponseOutput struct{ *pulumi.OutputState } -func (ResourceBasicsResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ResourceBasicsResponse)(nil)).Elem() +func (PrivateEndpointIPConfigurationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointIPConfigurationResponse)(nil)).Elem() } -func (o ResourceBasicsResponseOutput) ToResourceBasicsResponseOutput() ResourceBasicsResponseOutput { +func (o PrivateEndpointIPConfigurationResponseOutput) ToPrivateEndpointIPConfigurationResponseOutput() PrivateEndpointIPConfigurationResponseOutput { return o } -func (o ResourceBasicsResponseOutput) ToResourceBasicsResponseOutputWithContext(ctx context.Context) ResourceBasicsResponseOutput { +func (o PrivateEndpointIPConfigurationResponseOutput) ToPrivateEndpointIPConfigurationResponseOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationResponseOutput { return o } -// List of IP address prefixes of the resource. -func (o ResourceBasicsResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v ResourceBasicsResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateEndpointIPConfigurationResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) } -// ResourceId of the Azure resource. -func (o ResourceBasicsResponseOutput) ResourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceBasicsResponse) *string { return v.ResourceId }).(pulumi.StringPtrOutput) +// The ID of a group obtained from the remote resource that this private endpoint should connect to. +func (o PrivateEndpointIPConfigurationResponseOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.GroupId }).(pulumi.StringPtrOutput) } -type ResourceBasicsResponseArrayOutput struct{ *pulumi.OutputState } +// The member name of a group obtained from the remote resource that this private endpoint should connect to. +func (o PrivateEndpointIPConfigurationResponseOutput) MemberName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.MemberName }).(pulumi.StringPtrOutput) +} -func (ResourceBasicsResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ResourceBasicsResponse)(nil)).Elem() +// The name of the resource that is unique within a resource group. +func (o PrivateEndpointIPConfigurationResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o ResourceBasicsResponseArrayOutput) ToResourceBasicsResponseArrayOutput() ResourceBasicsResponseArrayOutput { +// A private ip address obtained from the private endpoint's subnet. +func (o PrivateEndpointIPConfigurationResponseOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The resource type. +func (o PrivateEndpointIPConfigurationResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointIPConfigurationResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type PrivateEndpointIPConfigurationResponseArrayOutput struct{ *pulumi.OutputState } + +func (PrivateEndpointIPConfigurationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateEndpointIPConfigurationResponse)(nil)).Elem() +} + +func (o PrivateEndpointIPConfigurationResponseArrayOutput) ToPrivateEndpointIPConfigurationResponseArrayOutput() PrivateEndpointIPConfigurationResponseArrayOutput { return o } -func (o ResourceBasicsResponseArrayOutput) ToResourceBasicsResponseArrayOutputWithContext(ctx context.Context) ResourceBasicsResponseArrayOutput { +func (o PrivateEndpointIPConfigurationResponseArrayOutput) ToPrivateEndpointIPConfigurationResponseArrayOutputWithContext(ctx context.Context) PrivateEndpointIPConfigurationResponseArrayOutput { return o } -func (o ResourceBasicsResponseArrayOutput) Index(i pulumi.IntInput) ResourceBasicsResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceBasicsResponse { - return vs[0].([]ResourceBasicsResponse)[vs[1].(int)] - }).(ResourceBasicsResponseOutput) +func (o PrivateEndpointIPConfigurationResponseArrayOutput) Index(i pulumi.IntInput) PrivateEndpointIPConfigurationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointIPConfigurationResponse { + return vs[0].([]PrivateEndpointIPConfigurationResponse)[vs[1].(int)] + }).(PrivateEndpointIPConfigurationResponseOutput) } -// ResourceNavigationLink resource. -type ResourceNavigationLink struct { +// Private endpoint resource. +type PrivateEndpointResponse struct { + // Application security groups in which the private endpoint IP configuration is included. + ApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"applicationSecurityGroups"` + // An array of custom dns configurations. + CustomDnsConfigs []CustomDnsConfigPropertiesFormatResponse `pulumi:"customDnsConfigs"` + // The custom name of the network interface attached to the private endpoint. + CustomNetworkInterfaceName *string `pulumi:"customNetworkInterfaceName"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` // Resource ID. Id *string `pulumi:"id"` - // Link to the external resource - Link *string `pulumi:"link"` - // Resource type of the linked resource. - LinkedResourceType *string `pulumi:"linkedResourceType"` - // Name of the resource that is unique within a resource group. This name can be used to access the resource. - Name *string `pulumi:"name"` + // A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. + IpConfigurations []PrivateEndpointIPConfigurationResponse `pulumi:"ipConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. + ManualPrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"manualPrivateLinkServiceConnections"` + // Resource name. + Name string `pulumi:"name"` + // An array of references to the network interfaces created for this private endpoint. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // A grouping of information about the connection to the remote resource. + PrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"privateLinkServiceConnections"` + // The provisioning state of the private endpoint resource. + ProvisioningState string `pulumi:"provisioningState"` + // The ID of the subnet from which the private IP will be allocated. + Subnet *SubnetResponse `pulumi:"subnet"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` } -// ResourceNavigationLinkInput is an input type that accepts ResourceNavigationLinkArgs and ResourceNavigationLinkOutput values. -// You can construct a concrete instance of `ResourceNavigationLinkInput` via: -// -// ResourceNavigationLinkArgs{...} -type ResourceNavigationLinkInput interface { - pulumi.Input +// Defaults sets the appropriate defaults for PrivateEndpointResponse +func (val *PrivateEndpointResponse) Defaults() *PrivateEndpointResponse { + if val == nil { + return nil + } + tmp := *val + tmp.Subnet = tmp.Subnet.Defaults() - ToResourceNavigationLinkOutput() ResourceNavigationLinkOutput - ToResourceNavigationLinkOutputWithContext(context.Context) ResourceNavigationLinkOutput + return &tmp } -// ResourceNavigationLink resource. -type ResourceNavigationLinkArgs struct { - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Link to the external resource - Link pulumi.StringPtrInput `pulumi:"link"` - // Resource type of the linked resource. - LinkedResourceType pulumi.StringPtrInput `pulumi:"linkedResourceType"` - // 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"` -} +// Private endpoint resource. +type PrivateEndpointResponseOutput struct{ *pulumi.OutputState } -func (ResourceNavigationLinkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ResourceNavigationLink)(nil)).Elem() +func (PrivateEndpointResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointResponse)(nil)).Elem() } -func (i ResourceNavigationLinkArgs) ToResourceNavigationLinkOutput() ResourceNavigationLinkOutput { - return i.ToResourceNavigationLinkOutputWithContext(context.Background()) +func (o PrivateEndpointResponseOutput) ToPrivateEndpointResponseOutput() PrivateEndpointResponseOutput { + return o } -func (i ResourceNavigationLinkArgs) ToResourceNavigationLinkOutputWithContext(ctx context.Context) ResourceNavigationLinkOutput { - return pulumi.ToOutputWithContext(ctx, i).(ResourceNavigationLinkOutput) +func (o PrivateEndpointResponseOutput) ToPrivateEndpointResponseOutputWithContext(ctx context.Context) PrivateEndpointResponseOutput { + return o } -// ResourceNavigationLinkArrayInput is an input type that accepts ResourceNavigationLinkArray and ResourceNavigationLinkArrayOutput values. -// You can construct a concrete instance of `ResourceNavigationLinkArrayInput` via: -// -// ResourceNavigationLinkArray{ ResourceNavigationLinkArgs{...} } -type ResourceNavigationLinkArrayInput interface { - pulumi.Input +// Application security groups in which the private endpoint IP configuration is included. +func (o PrivateEndpointResponseOutput) ApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponse) []ApplicationSecurityGroupResponse { return v.ApplicationSecurityGroups }).(ApplicationSecurityGroupResponseArrayOutput) +} - ToResourceNavigationLinkArrayOutput() ResourceNavigationLinkArrayOutput - ToResourceNavigationLinkArrayOutputWithContext(context.Context) ResourceNavigationLinkArrayOutput +// An array of custom dns configurations. +func (o PrivateEndpointResponseOutput) CustomDnsConfigs() CustomDnsConfigPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponse) []CustomDnsConfigPropertiesFormatResponse { return v.CustomDnsConfigs }).(CustomDnsConfigPropertiesFormatResponseArrayOutput) } -type ResourceNavigationLinkArray []ResourceNavigationLinkInput +// The custom name of the network interface attached to the private endpoint. +func (o PrivateEndpointResponseOutput) CustomNetworkInterfaceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.CustomNetworkInterfaceName }).(pulumi.StringPtrOutput) +} -func (ResourceNavigationLinkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ResourceNavigationLink)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateEndpointResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponse) string { return v.Etag }).(pulumi.StringOutput) } -func (i ResourceNavigationLinkArray) ToResourceNavigationLinkArrayOutput() ResourceNavigationLinkArrayOutput { - return i.ToResourceNavigationLinkArrayOutputWithContext(context.Background()) +// The extended location of the load balancer. +func (o PrivateEndpointResponseOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointResponse) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (i ResourceNavigationLinkArray) ToResourceNavigationLinkArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ResourceNavigationLinkArrayOutput) +// Resource ID. +func (o PrivateEndpointResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// ResourceNavigationLink resource. -type ResourceNavigationLinkOutput struct{ *pulumi.OutputState } +// A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. +func (o PrivateEndpointResponseOutput) IpConfigurations() PrivateEndpointIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponse) []PrivateEndpointIPConfigurationResponse { return v.IpConfigurations }).(PrivateEndpointIPConfigurationResponseArrayOutput) +} -func (ResourceNavigationLinkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ResourceNavigationLink)(nil)).Elem() +// Resource location. +func (o PrivateEndpointResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponse) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o ResourceNavigationLinkOutput) ToResourceNavigationLinkOutput() ResourceNavigationLinkOutput { - return o +// A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. +func (o PrivateEndpointResponseOutput) ManualPrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponse) []PrivateLinkServiceConnectionResponse { + return v.ManualPrivateLinkServiceConnections + }).(PrivateLinkServiceConnectionResponseArrayOutput) } -func (o ResourceNavigationLinkOutput) ToResourceNavigationLinkOutputWithContext(ctx context.Context) ResourceNavigationLinkOutput { - return o +// Resource name. +func (o PrivateEndpointResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponse) string { return v.Name }).(pulumi.StringOutput) } -// Resource ID. -func (o ResourceNavigationLinkOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLink) *string { return v.Id }).(pulumi.StringPtrOutput) +// An array of references to the network interfaces created for this private endpoint. +func (o PrivateEndpointResponseOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponse) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -// Link to the external resource -func (o ResourceNavigationLinkOutput) Link() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLink) *string { return v.Link }).(pulumi.StringPtrOutput) +// A grouping of information about the connection to the remote resource. +func (o PrivateEndpointResponseOutput) PrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponse) []PrivateLinkServiceConnectionResponse { + return v.PrivateLinkServiceConnections + }).(PrivateLinkServiceConnectionResponseArrayOutput) } -// Resource type of the linked resource. -func (o ResourceNavigationLinkOutput) LinkedResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLink) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +// The provisioning state of the private endpoint resource. +func (o PrivateEndpointResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o ResourceNavigationLinkOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLink) *string { return v.Name }).(pulumi.StringPtrOutput) +// The ID of the subnet from which the private IP will be allocated. +func (o PrivateEndpointResponseOutput) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointResponse) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) } -type ResourceNavigationLinkArrayOutput struct{ *pulumi.OutputState } +// Resource tags. +func (o PrivateEndpointResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateEndpointResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} -func (ResourceNavigationLinkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ResourceNavigationLink)(nil)).Elem() +// Resource type. +func (o PrivateEndpointResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponse) string { return v.Type }).(pulumi.StringOutput) } -func (o ResourceNavigationLinkArrayOutput) ToResourceNavigationLinkArrayOutput() ResourceNavigationLinkArrayOutput { +type PrivateEndpointResponseArrayOutput struct{ *pulumi.OutputState } + +func (PrivateEndpointResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateEndpointResponse)(nil)).Elem() +} + +func (o PrivateEndpointResponseArrayOutput) ToPrivateEndpointResponseArrayOutput() PrivateEndpointResponseArrayOutput { return o } -func (o ResourceNavigationLinkArrayOutput) ToResourceNavigationLinkArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkArrayOutput { +func (o PrivateEndpointResponseArrayOutput) ToPrivateEndpointResponseArrayOutputWithContext(ctx context.Context) PrivateEndpointResponseArrayOutput { return o } -func (o ResourceNavigationLinkArrayOutput) Index(i pulumi.IntInput) ResourceNavigationLinkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceNavigationLink { - return vs[0].([]ResourceNavigationLink)[vs[1].(int)] - }).(ResourceNavigationLinkOutput) +func (o PrivateEndpointResponseArrayOutput) Index(i pulumi.IntInput) PrivateEndpointResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateEndpointResponse { + return vs[0].([]PrivateEndpointResponse)[vs[1].(int)] + }).(PrivateEndpointResponseOutput) } -// ResourceNavigationLink resource. -type ResourceNavigationLinkResponse struct { +// Private endpoint resource. +type PrivateEndpointResponseV1 struct { + // Application security groups in which the private endpoint IP configuration is included. + ApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"applicationSecurityGroups"` + // An array of custom dns configurations. + CustomDnsConfigs []CustomDnsConfigPropertiesFormatResponse `pulumi:"customDnsConfigs"` + // The custom name of the network interface attached to the private endpoint. + CustomNetworkInterfaceName *string `pulumi:"customNetworkInterfaceName"` // A unique read-only string that changes whenever the resource is updated. Etag string `pulumi:"etag"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` // Resource ID. - Id string `pulumi:"id"` - // Link to the external resource. - Link *string `pulumi:"link"` - // Resource type of the linked resource. - LinkedResourceType *string `pulumi:"linkedResourceType"` - // 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 provisioning state of the resource navigation link resource. + Id *string `pulumi:"id"` + // A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. + IpConfigurations []PrivateEndpointIPConfigurationResponse `pulumi:"ipConfigurations"` + // Specifies the IP version type for the private IPs of the private endpoint. If not defined, this defaults to IPv4. + IpVersionType *string `pulumi:"ipVersionType"` + // Resource location. + Location *string `pulumi:"location"` + // A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. + ManualPrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"manualPrivateLinkServiceConnections"` + // Resource name. + Name string `pulumi:"name"` + // An array of references to the network interfaces created for this private endpoint. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // A grouping of information about the connection to the remote resource. + PrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"privateLinkServiceConnections"` + // The provisioning state of the private endpoint resource. ProvisioningState string `pulumi:"provisioningState"` + // The ID of the subnet from which the private IP will be allocated. + Subnet *SubnetResponse `pulumi:"subnet"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` // Resource type. Type string `pulumi:"type"` } -// ResourceNavigationLink resource. -type ResourceNavigationLinkResponseOutput struct{ *pulumi.OutputState } +// Defaults sets the appropriate defaults for PrivateEndpointResponseV1 +func (val *PrivateEndpointResponseV1) Defaults() *PrivateEndpointResponseV1 { + if val == nil { + return nil + } + tmp := *val + if tmp.IpVersionType == nil { + ipVersionType_ := "IPv4" + tmp.IpVersionType = &ipVersionType_ + } + tmp.Subnet = tmp.Subnet.Defaults() -func (ResourceNavigationLinkResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ResourceNavigationLinkResponse)(nil)).Elem() + return &tmp } -func (o ResourceNavigationLinkResponseOutput) ToResourceNavigationLinkResponseOutput() ResourceNavigationLinkResponseOutput { +// Private endpoint resource. +type PrivateEndpointResponseV1Output struct{ *pulumi.OutputState } + +func (PrivateEndpointResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointResponseV1)(nil)).Elem() +} + +func (o PrivateEndpointResponseV1Output) ToPrivateEndpointResponseV1Output() PrivateEndpointResponseV1Output { return o } -func (o ResourceNavigationLinkResponseOutput) ToResourceNavigationLinkResponseOutputWithContext(ctx context.Context) ResourceNavigationLinkResponseOutput { +func (o PrivateEndpointResponseV1Output) ToPrivateEndpointResponseV1OutputWithContext(ctx context.Context) PrivateEndpointResponseV1Output { return o } -// A unique read-only string that changes whenever the resource is updated. -func (o ResourceNavigationLinkResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.Etag }).(pulumi.StringOutput) +// Application security groups in which the private endpoint IP configuration is included. +func (o PrivateEndpointResponseV1Output) ApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) []ApplicationSecurityGroupResponse { + return v.ApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) } -// Resource ID. -func (o ResourceNavigationLinkResponseOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.Id }).(pulumi.StringOutput) +// An array of custom dns configurations. +func (o PrivateEndpointResponseV1Output) CustomDnsConfigs() CustomDnsConfigPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) []CustomDnsConfigPropertiesFormatResponse { return v.CustomDnsConfigs }).(CustomDnsConfigPropertiesFormatResponseArrayOutput) } -// Link to the external resource. -func (o ResourceNavigationLinkResponseOutput) Link() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) *string { return v.Link }).(pulumi.StringPtrOutput) +// The custom name of the network interface attached to the private endpoint. +func (o PrivateEndpointResponseV1Output) CustomNetworkInterfaceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) *string { return v.CustomNetworkInterfaceName }).(pulumi.StringPtrOutput) } -// Resource type of the linked resource. -func (o ResourceNavigationLinkResponseOutput) LinkedResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateEndpointResponseV1Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) string { return v.Etag }).(pulumi.StringOutput) } -// Name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o ResourceNavigationLinkResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The extended location of the load balancer. +func (o PrivateEndpointResponseV1Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -// The provisioning state of the resource navigation link resource. -func (o ResourceNavigationLinkResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// Resource ID. +func (o PrivateEndpointResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Resource type. -func (o ResourceNavigationLinkResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.Type }).(pulumi.StringOutput) +// A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. +func (o PrivateEndpointResponseV1Output) IpConfigurations() PrivateEndpointIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) []PrivateEndpointIPConfigurationResponse { return v.IpConfigurations }).(PrivateEndpointIPConfigurationResponseArrayOutput) } -type ResourceNavigationLinkResponseArrayOutput struct{ *pulumi.OutputState } +// Specifies the IP version type for the private IPs of the private endpoint. If not defined, this defaults to IPv4. +func (o PrivateEndpointResponseV1Output) IpVersionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) *string { return v.IpVersionType }).(pulumi.StringPtrOutput) +} -func (ResourceNavigationLinkResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ResourceNavigationLinkResponse)(nil)).Elem() +// Resource location. +func (o PrivateEndpointResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o ResourceNavigationLinkResponseArrayOutput) ToResourceNavigationLinkResponseArrayOutput() ResourceNavigationLinkResponseArrayOutput { - return o +// A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. +func (o PrivateEndpointResponseV1Output) ManualPrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) []PrivateLinkServiceConnectionResponse { + return v.ManualPrivateLinkServiceConnections + }).(PrivateLinkServiceConnectionResponseArrayOutput) } -func (o ResourceNavigationLinkResponseArrayOutput) ToResourceNavigationLinkResponseArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkResponseArrayOutput { - return o +// Resource name. +func (o PrivateEndpointResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) string { return v.Name }).(pulumi.StringOutput) } -func (o ResourceNavigationLinkResponseArrayOutput) Index(i pulumi.IntInput) ResourceNavigationLinkResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceNavigationLinkResponse { - return vs[0].([]ResourceNavigationLinkResponse)[vs[1].(int)] - }).(ResourceNavigationLinkResponseOutput) +// An array of references to the network interfaces created for this private endpoint. +func (o PrivateEndpointResponseV1Output) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -// Parameters that define the retention policy for flow log. -type RetentionPolicyParameters struct { - // Number of days to retain flow log records. - Days *int `pulumi:"days"` - // Flag to enable/disable retention. - Enabled *bool `pulumi:"enabled"` +// A grouping of information about the connection to the remote resource. +func (o PrivateEndpointResponseV1Output) PrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) []PrivateLinkServiceConnectionResponse { + return v.PrivateLinkServiceConnections + }).(PrivateLinkServiceConnectionResponseArrayOutput) } -// Defaults sets the appropriate defaults for RetentionPolicyParameters -func (val *RetentionPolicyParameters) Defaults() *RetentionPolicyParameters { - if val == nil { - return nil - } - tmp := *val - if tmp.Days == nil { - days_ := 0 - tmp.Days = &days_ - } - if tmp.Enabled == nil { - enabled_ := false - tmp.Enabled = &enabled_ - } - return &tmp +// The provisioning state of the private endpoint resource. +func (o PrivateEndpointResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// RetentionPolicyParametersInput is an input type that accepts RetentionPolicyParametersArgs and RetentionPolicyParametersOutput values. -// You can construct a concrete instance of `RetentionPolicyParametersInput` via: -// -// RetentionPolicyParametersArgs{...} -type RetentionPolicyParametersInput interface { - pulumi.Input +// The ID of the subnet from which the private IP will be allocated. +func (o PrivateEndpointResponseV1Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} - ToRetentionPolicyParametersOutput() RetentionPolicyParametersOutput - ToRetentionPolicyParametersOutputWithContext(context.Context) RetentionPolicyParametersOutput +// Resource tags. +func (o PrivateEndpointResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// Parameters that define the retention policy for flow log. -type RetentionPolicyParametersArgs struct { - // Number of days to retain flow log records. - Days pulumi.IntPtrInput `pulumi:"days"` - // Flag to enable/disable retention. - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +// Resource type. +func (o PrivateEndpointResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV1) string { return v.Type }).(pulumi.StringOutput) +} + +// Private endpoint resource. +type PrivateEndpointResponseV2 struct { + // Application security groups in which the private endpoint IP configuration is included. + ApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"applicationSecurityGroups"` + // An array of custom dns configurations. + CustomDnsConfigs []CustomDnsConfigPropertiesFormatResponse `pulumi:"customDnsConfigs"` + // The custom name of the network interface attached to the private endpoint. + CustomNetworkInterfaceName *string `pulumi:"customNetworkInterfaceName"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // Resource ID. + Id *string `pulumi:"id"` + // A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. + IpConfigurations []PrivateEndpointIPConfigurationResponse `pulumi:"ipConfigurations"` + // Specifies the IP version type for the private IPs of the private endpoint. If not defined, this defaults to IPv4. + IpVersionType *string `pulumi:"ipVersionType"` + // Resource location. + Location *string `pulumi:"location"` + // A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. + ManualPrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"manualPrivateLinkServiceConnections"` + // Resource name. + Name string `pulumi:"name"` + // An array of references to the network interfaces created for this private endpoint. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // A grouping of information about the connection to the remote resource. + PrivateLinkServiceConnections []PrivateLinkServiceConnectionResponse `pulumi:"privateLinkServiceConnections"` + // The provisioning state of the private endpoint resource. + ProvisioningState string `pulumi:"provisioningState"` + // The ID of the subnet from which the private IP will be allocated. + Subnet *SubnetResponse `pulumi:"subnet"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` } -// Defaults sets the appropriate defaults for RetentionPolicyParametersArgs -func (val *RetentionPolicyParametersArgs) Defaults() *RetentionPolicyParametersArgs { +// Defaults sets the appropriate defaults for PrivateEndpointResponseV2 +func (val *PrivateEndpointResponseV2) Defaults() *PrivateEndpointResponseV2 { if val == nil { return nil } tmp := *val - if tmp.Days == nil { - tmp.Days = pulumi.IntPtr(0) - } - if tmp.Enabled == nil { - tmp.Enabled = pulumi.BoolPtr(false) + if tmp.IpVersionType == nil { + ipVersionType_ := "IPv4" + tmp.IpVersionType = &ipVersionType_ } + tmp.Subnet = tmp.Subnet.Defaults() + return &tmp } -func (RetentionPolicyParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RetentionPolicyParameters)(nil)).Elem() -} -func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersOutput() RetentionPolicyParametersOutput { - return i.ToRetentionPolicyParametersOutputWithContext(context.Background()) -} +// Private endpoint resource. +type PrivateEndpointResponseV2Output struct{ *pulumi.OutputState } -func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersOutputWithContext(ctx context.Context) RetentionPolicyParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(RetentionPolicyParametersOutput) +func (PrivateEndpointResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateEndpointResponseV2)(nil)).Elem() } -func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { - return i.ToRetentionPolicyParametersPtrOutputWithContext(context.Background()) +func (o PrivateEndpointResponseV2Output) ToPrivateEndpointResponseV2Output() PrivateEndpointResponseV2Output { + return o } -func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RetentionPolicyParametersOutput).ToRetentionPolicyParametersPtrOutputWithContext(ctx) +func (o PrivateEndpointResponseV2Output) ToPrivateEndpointResponseV2OutputWithContext(ctx context.Context) PrivateEndpointResponseV2Output { + return o } -// RetentionPolicyParametersPtrInput is an input type that accepts RetentionPolicyParametersArgs, RetentionPolicyParametersPtr and RetentionPolicyParametersPtrOutput values. -// You can construct a concrete instance of `RetentionPolicyParametersPtrInput` via: -// -// RetentionPolicyParametersArgs{...} -// -// or: -// -// nil -type RetentionPolicyParametersPtrInput interface { - pulumi.Input - - ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput - ToRetentionPolicyParametersPtrOutputWithContext(context.Context) RetentionPolicyParametersPtrOutput +// Application security groups in which the private endpoint IP configuration is included. +func (o PrivateEndpointResponseV2Output) ApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) []ApplicationSecurityGroupResponse { + return v.ApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) } -type retentionPolicyParametersPtrType RetentionPolicyParametersArgs - -func RetentionPolicyParametersPtr(v *RetentionPolicyParametersArgs) RetentionPolicyParametersPtrInput { - return (*retentionPolicyParametersPtrType)(v) +// An array of custom dns configurations. +func (o PrivateEndpointResponseV2Output) CustomDnsConfigs() CustomDnsConfigPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) []CustomDnsConfigPropertiesFormatResponse { return v.CustomDnsConfigs }).(CustomDnsConfigPropertiesFormatResponseArrayOutput) } -func (*retentionPolicyParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RetentionPolicyParameters)(nil)).Elem() +// The custom name of the network interface attached to the private endpoint. +func (o PrivateEndpointResponseV2Output) CustomNetworkInterfaceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) *string { return v.CustomNetworkInterfaceName }).(pulumi.StringPtrOutput) } -func (i *retentionPolicyParametersPtrType) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { - return i.ToRetentionPolicyParametersPtrOutputWithContext(context.Background()) +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateEndpointResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) string { return v.Etag }).(pulumi.StringOutput) } -func (i *retentionPolicyParametersPtrType) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RetentionPolicyParametersPtrOutput) +// The extended location of the load balancer. +func (o PrivateEndpointResponseV2Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -// Parameters that define the retention policy for flow log. -type RetentionPolicyParametersOutput struct{ *pulumi.OutputState } - -func (RetentionPolicyParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RetentionPolicyParameters)(nil)).Elem() +// Resource ID. +func (o PrivateEndpointResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersOutput() RetentionPolicyParametersOutput { - return o +// A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints. +func (o PrivateEndpointResponseV2Output) IpConfigurations() PrivateEndpointIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) []PrivateEndpointIPConfigurationResponse { return v.IpConfigurations }).(PrivateEndpointIPConfigurationResponseArrayOutput) } -func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersOutputWithContext(ctx context.Context) RetentionPolicyParametersOutput { - return o +// Specifies the IP version type for the private IPs of the private endpoint. If not defined, this defaults to IPv4. +func (o PrivateEndpointResponseV2Output) IpVersionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) *string { return v.IpVersionType }).(pulumi.StringPtrOutput) } -func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { - return o.ToRetentionPolicyParametersPtrOutputWithContext(context.Background()) +// Resource location. +func (o PrivateEndpointResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RetentionPolicyParameters) *RetentionPolicyParameters { - return &v - }).(RetentionPolicyParametersPtrOutput) +// A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. +func (o PrivateEndpointResponseV2Output) ManualPrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) []PrivateLinkServiceConnectionResponse { + return v.ManualPrivateLinkServiceConnections + }).(PrivateLinkServiceConnectionResponseArrayOutput) } -// Number of days to retain flow log records. -func (o RetentionPolicyParametersOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v RetentionPolicyParameters) *int { return v.Days }).(pulumi.IntPtrOutput) +// Resource name. +func (o PrivateEndpointResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) string { return v.Name }).(pulumi.StringOutput) } -// Flag to enable/disable retention. -func (o RetentionPolicyParametersOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RetentionPolicyParameters) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// An array of references to the network interfaces created for this private endpoint. +func (o PrivateEndpointResponseV2Output) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -type RetentionPolicyParametersPtrOutput struct{ *pulumi.OutputState } +// A grouping of information about the connection to the remote resource. +func (o PrivateEndpointResponseV2Output) PrivateLinkServiceConnections() PrivateLinkServiceConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) []PrivateLinkServiceConnectionResponse { + return v.PrivateLinkServiceConnections + }).(PrivateLinkServiceConnectionResponseArrayOutput) +} -func (RetentionPolicyParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RetentionPolicyParameters)(nil)).Elem() +// The provisioning state of the private endpoint resource. +func (o PrivateEndpointResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (o RetentionPolicyParametersPtrOutput) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { - return o +// The ID of the subnet from which the private IP will be allocated. +func (o PrivateEndpointResponseV2Output) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) } -func (o RetentionPolicyParametersPtrOutput) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { - return o +// Resource tags. +func (o PrivateEndpointResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -func (o RetentionPolicyParametersPtrOutput) Elem() RetentionPolicyParametersOutput { - return o.ApplyT(func(v *RetentionPolicyParameters) RetentionPolicyParameters { - if v != nil { - return *v - } - var ret RetentionPolicyParameters - return ret - }).(RetentionPolicyParametersOutput) +// Resource type. +func (o PrivateEndpointResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateEndpointResponseV2) string { return v.Type }).(pulumi.StringOutput) +} + +// Private link service resource. +type PrivateLinkServiceType struct { + // The auto-approval list of the private link service. + AutoApproval *PrivateLinkServicePropertiesAutoApproval `pulumi:"autoApproval"` + // The destination IP address of the private link service. + DestinationIPAddress *string `pulumi:"destinationIPAddress"` + // Whether the private link service is enabled for proxy protocol or not. + EnableProxyProtocol *bool `pulumi:"enableProxyProtocol"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocation `pulumi:"extendedLocation"` + // The list of Fqdn. + Fqdns []string `pulumi:"fqdns"` + // Resource ID. + Id *string `pulumi:"id"` + // An array of private link service IP configurations. + IpConfigurations []PrivateLinkServiceIpConfiguration `pulumi:"ipConfigurations"` + // An array of references to the load balancer IP configurations. + LoadBalancerFrontendIpConfigurations []FrontendIPConfiguration `pulumi:"loadBalancerFrontendIpConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // The visibility list of the private link service. + Visibility *PrivateLinkServicePropertiesVisibility `pulumi:"visibility"` } -// Number of days to retain flow log records. -func (o RetentionPolicyParametersPtrOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RetentionPolicyParameters) *int { - if v == nil { - return nil - } - return v.Days - }).(pulumi.IntPtrOutput) +// PrivateLinkServiceTypeInput is an input type that accepts PrivateLinkServiceTypeArgs and PrivateLinkServiceTypeOutput values. +// You can construct a concrete instance of `PrivateLinkServiceTypeInput` via: +// +// PrivateLinkServiceTypeArgs{...} +type PrivateLinkServiceTypeInput interface { + pulumi.Input + + ToPrivateLinkServiceTypeOutput() PrivateLinkServiceTypeOutput + ToPrivateLinkServiceTypeOutputWithContext(context.Context) PrivateLinkServiceTypeOutput } -// Flag to enable/disable retention. -func (o RetentionPolicyParametersPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RetentionPolicyParameters) *bool { - if v == nil { - return nil - } - return v.Enabled - }).(pulumi.BoolPtrOutput) +// Private link service resource. +type PrivateLinkServiceTypeArgs struct { + // The auto-approval list of the private link service. + AutoApproval PrivateLinkServicePropertiesAutoApprovalPtrInput `pulumi:"autoApproval"` + // The destination IP address of the private link service. + DestinationIPAddress pulumi.StringPtrInput `pulumi:"destinationIPAddress"` + // Whether the private link service is enabled for proxy protocol or not. + EnableProxyProtocol pulumi.BoolPtrInput `pulumi:"enableProxyProtocol"` + // The extended location of the load balancer. + ExtendedLocation ExtendedLocationPtrInput `pulumi:"extendedLocation"` + // The list of Fqdn. + Fqdns pulumi.StringArrayInput `pulumi:"fqdns"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // An array of private link service IP configurations. + IpConfigurations PrivateLinkServiceIpConfigurationArrayInput `pulumi:"ipConfigurations"` + // An array of references to the load balancer IP configurations. + LoadBalancerFrontendIpConfigurations FrontendIPConfigurationArrayInput `pulumi:"loadBalancerFrontendIpConfigurations"` + // Resource location. + Location pulumi.StringPtrInput `pulumi:"location"` + // Resource tags. + Tags pulumi.StringMapInput `pulumi:"tags"` + // The visibility list of the private link service. + Visibility PrivateLinkServicePropertiesVisibilityPtrInput `pulumi:"visibility"` } -// Parameters that define the retention policy for flow log. -type RetentionPolicyParametersResponse struct { - // Number of days to retain flow log records. - Days *int `pulumi:"days"` - // Flag to enable/disable retention. - Enabled *bool `pulumi:"enabled"` +func (PrivateLinkServiceTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceType)(nil)).Elem() } -// Defaults sets the appropriate defaults for RetentionPolicyParametersResponse -func (val *RetentionPolicyParametersResponse) Defaults() *RetentionPolicyParametersResponse { - if val == nil { - return nil - } - tmp := *val - if tmp.Days == nil { - days_ := 0 - tmp.Days = &days_ - } - if tmp.Enabled == nil { - enabled_ := false - tmp.Enabled = &enabled_ - } - return &tmp +func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypeOutput() PrivateLinkServiceTypeOutput { + return i.ToPrivateLinkServiceTypeOutputWithContext(context.Background()) } -// Parameters that define the retention policy for flow log. -type RetentionPolicyParametersResponseOutput struct{ *pulumi.OutputState } +func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypeOutputWithContext(ctx context.Context) PrivateLinkServiceTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceTypeOutput) +} -func (RetentionPolicyParametersResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RetentionPolicyParametersResponse)(nil)).Elem() +func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { + return i.ToPrivateLinkServiceTypePtrOutputWithContext(context.Background()) } -func (o RetentionPolicyParametersResponseOutput) ToRetentionPolicyParametersResponseOutput() RetentionPolicyParametersResponseOutput { +func (i PrivateLinkServiceTypeArgs) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceTypeOutput).ToPrivateLinkServiceTypePtrOutputWithContext(ctx) +} + +// PrivateLinkServiceTypePtrInput is an input type that accepts PrivateLinkServiceTypeArgs, PrivateLinkServiceTypePtr and PrivateLinkServiceTypePtrOutput values. +// You can construct a concrete instance of `PrivateLinkServiceTypePtrInput` via: +// +// PrivateLinkServiceTypeArgs{...} +// +// or: +// +// nil +type PrivateLinkServiceTypePtrInput interface { + pulumi.Input + + ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput + ToPrivateLinkServiceTypePtrOutputWithContext(context.Context) PrivateLinkServiceTypePtrOutput +} + +type privateLinkServiceTypePtrType PrivateLinkServiceTypeArgs + +func PrivateLinkServiceTypePtr(v *PrivateLinkServiceTypeArgs) PrivateLinkServiceTypePtrInput { + return (*privateLinkServiceTypePtrType)(v) +} + +func (*privateLinkServiceTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceType)(nil)).Elem() +} + +func (i *privateLinkServiceTypePtrType) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { + return i.ToPrivateLinkServiceTypePtrOutputWithContext(context.Background()) +} + +func (i *privateLinkServiceTypePtrType) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceTypePtrOutput) +} + +// Private link service resource. +type PrivateLinkServiceTypeOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceType)(nil)).Elem() +} + +func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypeOutput() PrivateLinkServiceTypeOutput { return o } -func (o RetentionPolicyParametersResponseOutput) ToRetentionPolicyParametersResponseOutputWithContext(ctx context.Context) RetentionPolicyParametersResponseOutput { +func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypeOutputWithContext(ctx context.Context) PrivateLinkServiceTypeOutput { return o } -// Number of days to retain flow log records. -func (o RetentionPolicyParametersResponseOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v RetentionPolicyParametersResponse) *int { return v.Days }).(pulumi.IntPtrOutput) +func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { + return o.ToPrivateLinkServiceTypePtrOutputWithContext(context.Background()) } -// Flag to enable/disable retention. -func (o RetentionPolicyParametersResponseOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RetentionPolicyParametersResponse) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +func (o PrivateLinkServiceTypeOutput) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServiceType) *PrivateLinkServiceType { + return &v + }).(PrivateLinkServiceTypePtrOutput) } -type RetentionPolicyParametersResponsePtrOutput struct{ *pulumi.OutputState } +// The auto-approval list of the private link service. +func (o PrivateLinkServiceTypeOutput) AutoApproval() PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *PrivateLinkServicePropertiesAutoApproval { return v.AutoApproval }).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) +} -func (RetentionPolicyParametersResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RetentionPolicyParametersResponse)(nil)).Elem() +// The destination IP address of the private link service. +func (o PrivateLinkServiceTypeOutput) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *string { return v.DestinationIPAddress }).(pulumi.StringPtrOutput) } -func (o RetentionPolicyParametersResponsePtrOutput) ToRetentionPolicyParametersResponsePtrOutput() RetentionPolicyParametersResponsePtrOutput { +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceTypeOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *bool { return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) +} + +// The extended location of the load balancer. +func (o PrivateLinkServiceTypeOutput) ExtendedLocation() ExtendedLocationPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *ExtendedLocation { return v.ExtendedLocation }).(ExtendedLocationPtrOutput) +} + +// The list of Fqdn. +func (o PrivateLinkServiceTypeOutput) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceType) []string { return v.Fqdns }).(pulumi.StringArrayOutput) +} + +// Resource ID. +func (o PrivateLinkServiceTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// An array of private link service IP configurations. +func (o PrivateLinkServiceTypeOutput) IpConfigurations() PrivateLinkServiceIpConfigurationArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceType) []PrivateLinkServiceIpConfiguration { return v.IpConfigurations }).(PrivateLinkServiceIpConfigurationArrayOutput) +} + +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceTypeOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceType) []FrontendIPConfiguration { + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationArrayOutput) +} + +// Resource location. +func (o PrivateLinkServiceTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource tags. +func (o PrivateLinkServiceTypeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateLinkServiceType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// The visibility list of the private link service. +func (o PrivateLinkServiceTypeOutput) Visibility() PrivateLinkServicePropertiesVisibilityPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceType) *PrivateLinkServicePropertiesVisibility { return v.Visibility }).(PrivateLinkServicePropertiesVisibilityPtrOutput) +} + +type PrivateLinkServiceTypePtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceType)(nil)).Elem() +} + +func (o PrivateLinkServiceTypePtrOutput) ToPrivateLinkServiceTypePtrOutput() PrivateLinkServiceTypePtrOutput { return o } -func (o RetentionPolicyParametersResponsePtrOutput) ToRetentionPolicyParametersResponsePtrOutputWithContext(ctx context.Context) RetentionPolicyParametersResponsePtrOutput { +func (o PrivateLinkServiceTypePtrOutput) ToPrivateLinkServiceTypePtrOutputWithContext(ctx context.Context) PrivateLinkServiceTypePtrOutput { return o } -func (o RetentionPolicyParametersResponsePtrOutput) Elem() RetentionPolicyParametersResponseOutput { - return o.ApplyT(func(v *RetentionPolicyParametersResponse) RetentionPolicyParametersResponse { +func (o PrivateLinkServiceTypePtrOutput) Elem() PrivateLinkServiceTypeOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) PrivateLinkServiceType { if v != nil { return *v } - var ret RetentionPolicyParametersResponse + var ret PrivateLinkServiceType return ret - }).(RetentionPolicyParametersResponseOutput) + }).(PrivateLinkServiceTypeOutput) } -// Number of days to retain flow log records. -func (o RetentionPolicyParametersResponsePtrOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RetentionPolicyParametersResponse) *int { +// The auto-approval list of the private link service. +func (o PrivateLinkServiceTypePtrOutput) AutoApproval() PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *PrivateLinkServicePropertiesAutoApproval { if v == nil { return nil } - return v.Days - }).(pulumi.IntPtrOutput) + return v.AutoApproval + }).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) } -// Flag to enable/disable retention. -func (o RetentionPolicyParametersResponsePtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RetentionPolicyParametersResponse) *bool { +// The destination IP address of the private link service. +func (o PrivateLinkServiceTypePtrOutput) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *string { if v == nil { return nil } - return v.Enabled + return v.DestinationIPAddress + }).(pulumi.StringPtrOutput) +} + +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceTypePtrOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *bool { + if v == nil { + return nil + } + return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) } -// Route resource. -type RouteType struct { - // The destination CIDR to which the route applies. - AddressPrefix *string `pulumi:"addressPrefix"` - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` +// The extended location of the load balancer. +func (o PrivateLinkServiceTypePtrOutput) ExtendedLocation() ExtendedLocationPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *ExtendedLocation { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationPtrOutput) +} + +// The list of Fqdn. +func (o PrivateLinkServiceTypePtrOutput) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) []string { + if v == nil { + return nil + } + return v.Fqdns + }).(pulumi.StringArrayOutput) +} + +// Resource ID. +func (o PrivateLinkServiceTypePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// An array of private link service IP configurations. +func (o PrivateLinkServiceTypePtrOutput) IpConfigurations() PrivateLinkServiceIpConfigurationArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) []PrivateLinkServiceIpConfiguration { + if v == nil { + return nil + } + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationArrayOutput) +} + +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceTypePtrOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) []FrontendIPConfiguration { + if v == nil { + return nil + } + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationArrayOutput) +} + +// Resource location. +func (o PrivateLinkServiceTypePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Resource tags. +func (o PrivateLinkServiceTypePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// The visibility list of the private link service. +func (o PrivateLinkServiceTypePtrOutput) Visibility() PrivateLinkServicePropertiesVisibilityPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceType) *PrivateLinkServicePropertiesVisibility { + if v == nil { + return nil + } + return v.Visibility + }).(PrivateLinkServicePropertiesVisibilityPtrOutput) +} + +// PrivateLinkServiceConnection resource. +type PrivateLinkServiceConnection struct { + // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. + GroupIds []string `pulumi:"groupIds"` // Resource ID. Id *string `pulumi:"id"` // 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 IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - NextHopIpAddress *string `pulumi:"nextHopIpAddress"` - // The type of Azure hop the packet should be sent to. - NextHopType string `pulumi:"nextHopType"` - // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState *string `pulumi:"provisioningState"` - // The type of the resource. - Type *string `pulumi:"type"` + // A collection of read-only information about the state of the connection to the remote resource. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `pulumi:"privateLinkServiceConnectionState"` + // The resource id of private link service. + PrivateLinkServiceId *string `pulumi:"privateLinkServiceId"` + // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. + RequestMessage *string `pulumi:"requestMessage"` } -// RouteTypeInput is an input type that accepts RouteTypeArgs and RouteTypeOutput values. -// You can construct a concrete instance of `RouteTypeInput` via: +// PrivateLinkServiceConnectionInput is an input type that accepts PrivateLinkServiceConnectionArgs and PrivateLinkServiceConnectionOutput values. +// You can construct a concrete instance of `PrivateLinkServiceConnectionInput` via: // -// RouteTypeArgs{...} -type RouteTypeInput interface { +// PrivateLinkServiceConnectionArgs{...} +type PrivateLinkServiceConnectionInput interface { pulumi.Input - ToRouteTypeOutput() RouteTypeOutput - ToRouteTypeOutputWithContext(context.Context) RouteTypeOutput + ToPrivateLinkServiceConnectionOutput() PrivateLinkServiceConnectionOutput + ToPrivateLinkServiceConnectionOutputWithContext(context.Context) PrivateLinkServiceConnectionOutput } -// Route resource. -type RouteTypeArgs struct { - // The destination CIDR to which the route applies. - AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` +// PrivateLinkServiceConnection resource. +type PrivateLinkServiceConnectionArgs struct { + // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. + GroupIds pulumi.StringArrayInput `pulumi:"groupIds"` // Resource ID. Id pulumi.StringPtrInput `pulumi:"id"` // 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 IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - NextHopIpAddress pulumi.StringPtrInput `pulumi:"nextHopIpAddress"` - // The type of Azure hop the packet should be sent to. - NextHopType pulumi.StringInput `pulumi:"nextHopType"` - // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` - // The type of the resource. - Type pulumi.StringPtrInput `pulumi:"type"` + // A collection of read-only information about the state of the connection to the remote resource. + PrivateLinkServiceConnectionState PrivateLinkServiceConnectionStatePtrInput `pulumi:"privateLinkServiceConnectionState"` + // The resource id of private link service. + PrivateLinkServiceId pulumi.StringPtrInput `pulumi:"privateLinkServiceId"` + // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. + RequestMessage pulumi.StringPtrInput `pulumi:"requestMessage"` } -func (RouteTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteType)(nil)).Elem() +func (PrivateLinkServiceConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceConnection)(nil)).Elem() } -func (i RouteTypeArgs) ToRouteTypeOutput() RouteTypeOutput { - return i.ToRouteTypeOutputWithContext(context.Background()) +func (i PrivateLinkServiceConnectionArgs) ToPrivateLinkServiceConnectionOutput() PrivateLinkServiceConnectionOutput { + return i.ToPrivateLinkServiceConnectionOutputWithContext(context.Background()) } -func (i RouteTypeArgs) ToRouteTypeOutputWithContext(ctx context.Context) RouteTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTypeOutput) +func (i PrivateLinkServiceConnectionArgs) ToPrivateLinkServiceConnectionOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionOutput) } -// RouteTypeArrayInput is an input type that accepts RouteTypeArray and RouteTypeArrayOutput values. -// You can construct a concrete instance of `RouteTypeArrayInput` via: +// PrivateLinkServiceConnectionArrayInput is an input type that accepts PrivateLinkServiceConnectionArray and PrivateLinkServiceConnectionArrayOutput values. +// You can construct a concrete instance of `PrivateLinkServiceConnectionArrayInput` via: // -// RouteTypeArray{ RouteTypeArgs{...} } -type RouteTypeArrayInput interface { +// PrivateLinkServiceConnectionArray{ PrivateLinkServiceConnectionArgs{...} } +type PrivateLinkServiceConnectionArrayInput interface { pulumi.Input - ToRouteTypeArrayOutput() RouteTypeArrayOutput - ToRouteTypeArrayOutputWithContext(context.Context) RouteTypeArrayOutput + ToPrivateLinkServiceConnectionArrayOutput() PrivateLinkServiceConnectionArrayOutput + ToPrivateLinkServiceConnectionArrayOutputWithContext(context.Context) PrivateLinkServiceConnectionArrayOutput } -type RouteTypeArray []RouteTypeInput +type PrivateLinkServiceConnectionArray []PrivateLinkServiceConnectionInput -func (RouteTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteType)(nil)).Elem() +func (PrivateLinkServiceConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateLinkServiceConnection)(nil)).Elem() } -func (i RouteTypeArray) ToRouteTypeArrayOutput() RouteTypeArrayOutput { - return i.ToRouteTypeArrayOutputWithContext(context.Background()) +func (i PrivateLinkServiceConnectionArray) ToPrivateLinkServiceConnectionArrayOutput() PrivateLinkServiceConnectionArrayOutput { + return i.ToPrivateLinkServiceConnectionArrayOutputWithContext(context.Background()) } -func (i RouteTypeArray) ToRouteTypeArrayOutputWithContext(ctx context.Context) RouteTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTypeArrayOutput) +func (i PrivateLinkServiceConnectionArray) ToPrivateLinkServiceConnectionArrayOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionArrayOutput) } -// Route resource. -type RouteTypeOutput struct{ *pulumi.OutputState } +// PrivateLinkServiceConnection resource. +type PrivateLinkServiceConnectionOutput struct{ *pulumi.OutputState } -func (RouteTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteType)(nil)).Elem() +func (PrivateLinkServiceConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceConnection)(nil)).Elem() } -func (o RouteTypeOutput) ToRouteTypeOutput() RouteTypeOutput { +func (o PrivateLinkServiceConnectionOutput) ToPrivateLinkServiceConnectionOutput() PrivateLinkServiceConnectionOutput { return o } -func (o RouteTypeOutput) ToRouteTypeOutputWithContext(ctx context.Context) RouteTypeOutput { +func (o PrivateLinkServiceConnectionOutput) ToPrivateLinkServiceConnectionOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionOutput { return o } -// The destination CIDR to which the route applies. -func (o RouteTypeOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) -} - -// A unique read-only string that changes whenever the resource is updated. -func (o RouteTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.Etag }).(pulumi.StringPtrOutput) +// The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. +func (o PrivateLinkServiceConnectionOutput) GroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceConnection) []string { return v.GroupIds }).(pulumi.StringArrayOutput) } // Resource ID. -func (o RouteTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceConnectionOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.Id }).(pulumi.StringPtrOutput) } // The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o RouteTypeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. -func (o RouteTypeOutput) NextHopIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceConnectionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The type of Azure hop the packet should be sent to. -func (o RouteTypeOutput) NextHopType() pulumi.StringOutput { - return o.ApplyT(func(v RouteType) string { return v.NextHopType }).(pulumi.StringOutput) +// A collection of read-only information about the state of the connection to the remote resource. +func (o PrivateLinkServiceConnectionOutput) PrivateLinkServiceConnectionState() PrivateLinkServiceConnectionStatePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnection) *PrivateLinkServiceConnectionState { + return v.PrivateLinkServiceConnectionState + }).(PrivateLinkServiceConnectionStatePtrOutput) } -// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o RouteTypeOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +// The resource id of private link service. +func (o PrivateLinkServiceConnectionOutput) PrivateLinkServiceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.PrivateLinkServiceId }).(pulumi.StringPtrOutput) } -// The type of the resource. -func (o RouteTypeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteType) *string { return v.Type }).(pulumi.StringPtrOutput) +// A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. +func (o PrivateLinkServiceConnectionOutput) RequestMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnection) *string { return v.RequestMessage }).(pulumi.StringPtrOutput) } -type RouteTypeArrayOutput struct{ *pulumi.OutputState } +type PrivateLinkServiceConnectionArrayOutput struct{ *pulumi.OutputState } -func (RouteTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteType)(nil)).Elem() +func (PrivateLinkServiceConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateLinkServiceConnection)(nil)).Elem() } -func (o RouteTypeArrayOutput) ToRouteTypeArrayOutput() RouteTypeArrayOutput { +func (o PrivateLinkServiceConnectionArrayOutput) ToPrivateLinkServiceConnectionArrayOutput() PrivateLinkServiceConnectionArrayOutput { return o } -func (o RouteTypeArrayOutput) ToRouteTypeArrayOutputWithContext(ctx context.Context) RouteTypeArrayOutput { +func (o PrivateLinkServiceConnectionArrayOutput) ToPrivateLinkServiceConnectionArrayOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionArrayOutput { return o } -func (o RouteTypeArrayOutput) Index(i pulumi.IntInput) RouteTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteType { - return vs[0].([]RouteType)[vs[1].(int)] - }).(RouteTypeOutput) +func (o PrivateLinkServiceConnectionArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceConnection { + return vs[0].([]PrivateLinkServiceConnection)[vs[1].(int)] + }).(PrivateLinkServiceConnectionOutput) } -// Route Filter Rule Resource. -type RouteFilterRuleType struct { - // The access type of the rule. - Access string `pulumi:"access"` - // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. - Communities []string `pulumi:"communities"` +// PrivateLinkServiceConnection resource. +type PrivateLinkServiceConnectionResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. + GroupIds []string `pulumi:"groupIds"` // Resource ID. Id *string `pulumi:"id"` - // Resource location. - Location *string `pulumi:"location"` // 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 rule type of the rule. - RouteFilterRuleType string `pulumi:"routeFilterRuleType"` + // A collection of read-only information about the state of the connection to the remote resource. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionStateResponse `pulumi:"privateLinkServiceConnectionState"` + // The resource id of private link service. + PrivateLinkServiceId *string `pulumi:"privateLinkServiceId"` + // The provisioning state of the private link service connection resource. + ProvisioningState string `pulumi:"provisioningState"` + // A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. + RequestMessage *string `pulumi:"requestMessage"` + // The resource type. + Type string `pulumi:"type"` } -// RouteFilterRuleTypeInput is an input type that accepts RouteFilterRuleTypeArgs and RouteFilterRuleTypeOutput values. -// You can construct a concrete instance of `RouteFilterRuleTypeInput` via: -// -// RouteFilterRuleTypeArgs{...} -type RouteFilterRuleTypeInput interface { - pulumi.Input +// PrivateLinkServiceConnection resource. +type PrivateLinkServiceConnectionResponseOutput struct{ *pulumi.OutputState } - ToRouteFilterRuleTypeOutput() RouteFilterRuleTypeOutput - ToRouteFilterRuleTypeOutputWithContext(context.Context) RouteFilterRuleTypeOutput +func (PrivateLinkServiceConnectionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceConnectionResponse)(nil)).Elem() } -// Route Filter Rule Resource. -type RouteFilterRuleTypeArgs struct { - // The access type of the rule. - Access pulumi.StringInput `pulumi:"access"` - // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. - Communities pulumi.StringArrayInput `pulumi:"communities"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Resource location. - Location pulumi.StringPtrInput `pulumi:"location"` - // 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 rule type of the rule. - RouteFilterRuleType pulumi.StringInput `pulumi:"routeFilterRuleType"` +func (o PrivateLinkServiceConnectionResponseOutput) ToPrivateLinkServiceConnectionResponseOutput() PrivateLinkServiceConnectionResponseOutput { + return o } -func (RouteFilterRuleTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteFilterRuleType)(nil)).Elem() +func (o PrivateLinkServiceConnectionResponseOutput) ToPrivateLinkServiceConnectionResponseOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionResponseOutput { + return o } -func (i RouteFilterRuleTypeArgs) ToRouteFilterRuleTypeOutput() RouteFilterRuleTypeOutput { - return i.ToRouteFilterRuleTypeOutputWithContext(context.Background()) +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateLinkServiceConnectionResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) string { return v.Etag }).(pulumi.StringOutput) } -func (i RouteFilterRuleTypeArgs) ToRouteFilterRuleTypeOutputWithContext(ctx context.Context) RouteFilterRuleTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteFilterRuleTypeOutput) +// The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. +func (o PrivateLinkServiceConnectionResponseOutput) GroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) []string { return v.GroupIds }).(pulumi.StringArrayOutput) } -// RouteFilterRuleTypeArrayInput is an input type that accepts RouteFilterRuleTypeArray and RouteFilterRuleTypeArrayOutput values. -// You can construct a concrete instance of `RouteFilterRuleTypeArrayInput` via: -// -// RouteFilterRuleTypeArray{ RouteFilterRuleTypeArgs{...} } -type RouteFilterRuleTypeArrayInput interface { - pulumi.Input +// Resource ID. +func (o PrivateLinkServiceConnectionResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} - ToRouteFilterRuleTypeArrayOutput() RouteFilterRuleTypeArrayOutput - ToRouteFilterRuleTypeArrayOutputWithContext(context.Context) RouteFilterRuleTypeArrayOutput +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o PrivateLinkServiceConnectionResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -type RouteFilterRuleTypeArray []RouteFilterRuleTypeInput +// A collection of read-only information about the state of the connection to the remote resource. +func (o PrivateLinkServiceConnectionResponseOutput) PrivateLinkServiceConnectionState() PrivateLinkServiceConnectionStateResponsePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *PrivateLinkServiceConnectionStateResponse { + return v.PrivateLinkServiceConnectionState + }).(PrivateLinkServiceConnectionStateResponsePtrOutput) +} -func (RouteFilterRuleTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteFilterRuleType)(nil)).Elem() +// The resource id of private link service. +func (o PrivateLinkServiceConnectionResponseOutput) PrivateLinkServiceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.PrivateLinkServiceId }).(pulumi.StringPtrOutput) } -func (i RouteFilterRuleTypeArray) ToRouteFilterRuleTypeArrayOutput() RouteFilterRuleTypeArrayOutput { - return i.ToRouteFilterRuleTypeArrayOutputWithContext(context.Background()) +// The provisioning state of the private link service connection resource. +func (o PrivateLinkServiceConnectionResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (i RouteFilterRuleTypeArray) ToRouteFilterRuleTypeArrayOutputWithContext(ctx context.Context) RouteFilterRuleTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteFilterRuleTypeArrayOutput) +// A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. +func (o PrivateLinkServiceConnectionResponseOutput) RequestMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) *string { return v.RequestMessage }).(pulumi.StringPtrOutput) } -// Route Filter Rule Resource. -type RouteFilterRuleTypeOutput struct{ *pulumi.OutputState } +// The resource type. +func (o PrivateLinkServiceConnectionResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionResponse) string { return v.Type }).(pulumi.StringOutput) +} -func (RouteFilterRuleTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteFilterRuleType)(nil)).Elem() +type PrivateLinkServiceConnectionResponseArrayOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceConnectionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateLinkServiceConnectionResponse)(nil)).Elem() } -func (o RouteFilterRuleTypeOutput) ToRouteFilterRuleTypeOutput() RouteFilterRuleTypeOutput { +func (o PrivateLinkServiceConnectionResponseArrayOutput) ToPrivateLinkServiceConnectionResponseArrayOutput() PrivateLinkServiceConnectionResponseArrayOutput { return o } -func (o RouteFilterRuleTypeOutput) ToRouteFilterRuleTypeOutputWithContext(ctx context.Context) RouteFilterRuleTypeOutput { +func (o PrivateLinkServiceConnectionResponseArrayOutput) ToPrivateLinkServiceConnectionResponseArrayOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionResponseArrayOutput { return o } -// The access type of the rule. -func (o RouteFilterRuleTypeOutput) Access() pulumi.StringOutput { - return o.ApplyT(func(v RouteFilterRuleType) string { return v.Access }).(pulumi.StringOutput) +func (o PrivateLinkServiceConnectionResponseArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceConnectionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceConnectionResponse { + return vs[0].([]PrivateLinkServiceConnectionResponse)[vs[1].(int)] + }).(PrivateLinkServiceConnectionResponseOutput) } -// The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. -func (o RouteFilterRuleTypeOutput) Communities() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteFilterRuleType) []string { return v.Communities }).(pulumi.StringArrayOutput) +// A collection of information about the state of the connection between service consumer and provider. +type PrivateLinkServiceConnectionState struct { + // A message indicating if changes on the service provider require any updates on the consumer. + ActionsRequired *string `pulumi:"actionsRequired"` + // The reason for approval/rejection of the connection. + Description *string `pulumi:"description"` + // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + Status *string `pulumi:"status"` } -// Resource ID. -func (o RouteFilterRuleTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteFilterRuleType) *string { return v.Id }).(pulumi.StringPtrOutput) -} +// PrivateLinkServiceConnectionStateInput is an input type that accepts PrivateLinkServiceConnectionStateArgs and PrivateLinkServiceConnectionStateOutput values. +// You can construct a concrete instance of `PrivateLinkServiceConnectionStateInput` via: +// +// PrivateLinkServiceConnectionStateArgs{...} +type PrivateLinkServiceConnectionStateInput interface { + pulumi.Input -// Resource location. -func (o RouteFilterRuleTypeOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteFilterRuleType) *string { return v.Location }).(pulumi.StringPtrOutput) + ToPrivateLinkServiceConnectionStateOutput() PrivateLinkServiceConnectionStateOutput + ToPrivateLinkServiceConnectionStateOutputWithContext(context.Context) PrivateLinkServiceConnectionStateOutput } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o RouteFilterRuleTypeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteFilterRuleType) *string { return v.Name }).(pulumi.StringPtrOutput) +// A collection of information about the state of the connection between service consumer and provider. +type PrivateLinkServiceConnectionStateArgs struct { + // A message indicating if changes on the service provider require any updates on the consumer. + ActionsRequired pulumi.StringPtrInput `pulumi:"actionsRequired"` + // The reason for approval/rejection of the connection. + Description pulumi.StringPtrInput `pulumi:"description"` + // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + Status pulumi.StringPtrInput `pulumi:"status"` } -// The rule type of the rule. -func (o RouteFilterRuleTypeOutput) RouteFilterRuleType() pulumi.StringOutput { - return o.ApplyT(func(v RouteFilterRuleType) string { return v.RouteFilterRuleType }).(pulumi.StringOutput) +func (PrivateLinkServiceConnectionStateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceConnectionState)(nil)).Elem() } -type RouteFilterRuleTypeArrayOutput struct{ *pulumi.OutputState } - -func (RouteFilterRuleTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteFilterRuleType)(nil)).Elem() +func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStateOutput() PrivateLinkServiceConnectionStateOutput { + return i.ToPrivateLinkServiceConnectionStateOutputWithContext(context.Background()) } -func (o RouteFilterRuleTypeArrayOutput) ToRouteFilterRuleTypeArrayOutput() RouteFilterRuleTypeArrayOutput { - return o +func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStateOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionStateOutput) } -func (o RouteFilterRuleTypeArrayOutput) ToRouteFilterRuleTypeArrayOutputWithContext(ctx context.Context) RouteFilterRuleTypeArrayOutput { - return o +func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { + return i.ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Background()) } -func (o RouteFilterRuleTypeArrayOutput) Index(i pulumi.IntInput) RouteFilterRuleTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteFilterRuleType { - return vs[0].([]RouteFilterRuleType)[vs[1].(int)] - }).(RouteFilterRuleTypeOutput) +func (i PrivateLinkServiceConnectionStateArgs) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionStateOutput).ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx) } -// Route Filter Rule Resource. -type RouteFilterRuleResponse struct { - // The access type of the rule. - Access string `pulumi:"access"` - // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. - Communities []string `pulumi:"communities"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // Resource location. - Location *string `pulumi:"location"` - // 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 provisioning state of the route filter rule resource. - ProvisioningState string `pulumi:"provisioningState"` - // The rule type of the rule. - RouteFilterRuleType string `pulumi:"routeFilterRuleType"` +// PrivateLinkServiceConnectionStatePtrInput is an input type that accepts PrivateLinkServiceConnectionStateArgs, PrivateLinkServiceConnectionStatePtr and PrivateLinkServiceConnectionStatePtrOutput values. +// You can construct a concrete instance of `PrivateLinkServiceConnectionStatePtrInput` via: +// +// PrivateLinkServiceConnectionStateArgs{...} +// +// or: +// +// nil +type PrivateLinkServiceConnectionStatePtrInput interface { + pulumi.Input + + ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput + ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Context) PrivateLinkServiceConnectionStatePtrOutput } -// Route Filter Rule Resource. -type RouteFilterRuleResponseOutput struct{ *pulumi.OutputState } +type privateLinkServiceConnectionStatePtrType PrivateLinkServiceConnectionStateArgs -func (RouteFilterRuleResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteFilterRuleResponse)(nil)).Elem() +func PrivateLinkServiceConnectionStatePtr(v *PrivateLinkServiceConnectionStateArgs) PrivateLinkServiceConnectionStatePtrInput { + return (*privateLinkServiceConnectionStatePtrType)(v) } -func (o RouteFilterRuleResponseOutput) ToRouteFilterRuleResponseOutput() RouteFilterRuleResponseOutput { - return o +func (*privateLinkServiceConnectionStatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceConnectionState)(nil)).Elem() } -func (o RouteFilterRuleResponseOutput) ToRouteFilterRuleResponseOutputWithContext(ctx context.Context) RouteFilterRuleResponseOutput { - return o +func (i *privateLinkServiceConnectionStatePtrType) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { + return i.ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Background()) } -// The access type of the rule. -func (o RouteFilterRuleResponseOutput) Access() pulumi.StringOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.Access }).(pulumi.StringOutput) +func (i *privateLinkServiceConnectionStatePtrType) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceConnectionStatePtrOutput) } -// The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. -func (o RouteFilterRuleResponseOutput) Communities() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) []string { return v.Communities }).(pulumi.StringArrayOutput) +// A collection of information about the state of the connection between service consumer and provider. +type PrivateLinkServiceConnectionStateOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceConnectionStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceConnectionState)(nil)).Elem() } -// A unique read-only string that changes whenever the resource is updated. -func (o RouteFilterRuleResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStateOutput() PrivateLinkServiceConnectionStateOutput { + return o } -// Resource ID. -func (o RouteFilterRuleResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStateOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateOutput { + return o } -// Resource location. -func (o RouteFilterRuleResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { + return o.ToPrivateLinkServiceConnectionStatePtrOutputWithContext(context.Background()) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o RouteFilterRuleResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceConnectionStateOutput) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServiceConnectionState) *PrivateLinkServiceConnectionState { + return &v + }).(PrivateLinkServiceConnectionStatePtrOutput) } -// The provisioning state of the route filter rule resource. -func (o RouteFilterRuleResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// A message indicating if changes on the service provider require any updates on the consumer. +func (o PrivateLinkServiceConnectionStateOutput) ActionsRequired() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionState) *string { return v.ActionsRequired }).(pulumi.StringPtrOutput) } -// The rule type of the rule. -func (o RouteFilterRuleResponseOutput) RouteFilterRuleType() pulumi.StringOutput { - return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.RouteFilterRuleType }).(pulumi.StringOutput) +// The reason for approval/rejection of the connection. +func (o PrivateLinkServiceConnectionStateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionState) *string { return v.Description }).(pulumi.StringPtrOutput) } -type RouteFilterRuleResponseArrayOutput struct{ *pulumi.OutputState } +// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. +func (o PrivateLinkServiceConnectionStateOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionState) *string { return v.Status }).(pulumi.StringPtrOutput) +} -func (RouteFilterRuleResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteFilterRuleResponse)(nil)).Elem() +type PrivateLinkServiceConnectionStatePtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceConnectionStatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceConnectionState)(nil)).Elem() } -func (o RouteFilterRuleResponseArrayOutput) ToRouteFilterRuleResponseArrayOutput() RouteFilterRuleResponseArrayOutput { +func (o PrivateLinkServiceConnectionStatePtrOutput) ToPrivateLinkServiceConnectionStatePtrOutput() PrivateLinkServiceConnectionStatePtrOutput { return o } -func (o RouteFilterRuleResponseArrayOutput) ToRouteFilterRuleResponseArrayOutputWithContext(ctx context.Context) RouteFilterRuleResponseArrayOutput { +func (o PrivateLinkServiceConnectionStatePtrOutput) ToPrivateLinkServiceConnectionStatePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStatePtrOutput { return o } -func (o RouteFilterRuleResponseArrayOutput) Index(i pulumi.IntInput) RouteFilterRuleResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteFilterRuleResponse { - return vs[0].([]RouteFilterRuleResponse)[vs[1].(int)] - }).(RouteFilterRuleResponseOutput) +func (o PrivateLinkServiceConnectionStatePtrOutput) Elem() PrivateLinkServiceConnectionStateOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionState) PrivateLinkServiceConnectionState { + if v != nil { + return *v + } + var ret PrivateLinkServiceConnectionState + return ret + }).(PrivateLinkServiceConnectionStateOutput) } -// A RouteMap Rule. -type RouteMapRule struct { - // List of actions which will be applied on a match. - Actions []Action `pulumi:"actions"` - // List of matching criterion which will be applied to traffic. - MatchCriteria []Criterion `pulumi:"matchCriteria"` - // The unique name for the rule. - Name *string `pulumi:"name"` - // Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. - NextStepIfMatched *string `pulumi:"nextStepIfMatched"` +// A message indicating if changes on the service provider require any updates on the consumer. +func (o PrivateLinkServiceConnectionStatePtrOutput) ActionsRequired() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionState) *string { + if v == nil { + return nil + } + return v.ActionsRequired + }).(pulumi.StringPtrOutput) } -// RouteMapRuleInput is an input type that accepts RouteMapRuleArgs and RouteMapRuleOutput values. -// You can construct a concrete instance of `RouteMapRuleInput` via: -// -// RouteMapRuleArgs{...} -type RouteMapRuleInput interface { - pulumi.Input +// The reason for approval/rejection of the connection. +func (o PrivateLinkServiceConnectionStatePtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionState) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} - ToRouteMapRuleOutput() RouteMapRuleOutput - ToRouteMapRuleOutputWithContext(context.Context) RouteMapRuleOutput +// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. +func (o PrivateLinkServiceConnectionStatePtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionState) *string { + if v == nil { + return nil + } + return v.Status + }).(pulumi.StringPtrOutput) } -// A RouteMap Rule. -type RouteMapRuleArgs struct { - // List of actions which will be applied on a match. - Actions ActionArrayInput `pulumi:"actions"` - // List of matching criterion which will be applied to traffic. - MatchCriteria CriterionArrayInput `pulumi:"matchCriteria"` - // The unique name for the rule. - Name pulumi.StringPtrInput `pulumi:"name"` - // Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. - NextStepIfMatched pulumi.StringPtrInput `pulumi:"nextStepIfMatched"` +// A collection of information about the state of the connection between service consumer and provider. +type PrivateLinkServiceConnectionStateResponse struct { + // A message indicating if changes on the service provider require any updates on the consumer. + ActionsRequired *string `pulumi:"actionsRequired"` + // The reason for approval/rejection of the connection. + Description *string `pulumi:"description"` + // Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + Status *string `pulumi:"status"` } -func (RouteMapRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteMapRule)(nil)).Elem() +// A collection of information about the state of the connection between service consumer and provider. +type PrivateLinkServiceConnectionStateResponseOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceConnectionStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceConnectionStateResponse)(nil)).Elem() } -func (i RouteMapRuleArgs) ToRouteMapRuleOutput() RouteMapRuleOutput { - return i.ToRouteMapRuleOutputWithContext(context.Background()) +func (o PrivateLinkServiceConnectionStateResponseOutput) ToPrivateLinkServiceConnectionStateResponseOutput() PrivateLinkServiceConnectionStateResponseOutput { + return o } -func (i RouteMapRuleArgs) ToRouteMapRuleOutputWithContext(ctx context.Context) RouteMapRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteMapRuleOutput) +func (o PrivateLinkServiceConnectionStateResponseOutput) ToPrivateLinkServiceConnectionStateResponseOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateResponseOutput { + return o } -// RouteMapRuleArrayInput is an input type that accepts RouteMapRuleArray and RouteMapRuleArrayOutput values. -// You can construct a concrete instance of `RouteMapRuleArrayInput` via: -// -// RouteMapRuleArray{ RouteMapRuleArgs{...} } -type RouteMapRuleArrayInput interface { - pulumi.Input +// A message indicating if changes on the service provider require any updates on the consumer. +func (o PrivateLinkServiceConnectionStateResponseOutput) ActionsRequired() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionStateResponse) *string { return v.ActionsRequired }).(pulumi.StringPtrOutput) +} - ToRouteMapRuleArrayOutput() RouteMapRuleArrayOutput - ToRouteMapRuleArrayOutputWithContext(context.Context) RouteMapRuleArrayOutput +// The reason for approval/rejection of the connection. +func (o PrivateLinkServiceConnectionStateResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionStateResponse) *string { return v.Description }).(pulumi.StringPtrOutput) } -type RouteMapRuleArray []RouteMapRuleInput +// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. +func (o PrivateLinkServiceConnectionStateResponseOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceConnectionStateResponse) *string { return v.Status }).(pulumi.StringPtrOutput) +} -func (RouteMapRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteMapRule)(nil)).Elem() +type PrivateLinkServiceConnectionStateResponsePtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceConnectionStateResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceConnectionStateResponse)(nil)).Elem() } -func (i RouteMapRuleArray) ToRouteMapRuleArrayOutput() RouteMapRuleArrayOutput { - return i.ToRouteMapRuleArrayOutputWithContext(context.Background()) +func (o PrivateLinkServiceConnectionStateResponsePtrOutput) ToPrivateLinkServiceConnectionStateResponsePtrOutput() PrivateLinkServiceConnectionStateResponsePtrOutput { + return o } -func (i RouteMapRuleArray) ToRouteMapRuleArrayOutputWithContext(ctx context.Context) RouteMapRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteMapRuleArrayOutput) +func (o PrivateLinkServiceConnectionStateResponsePtrOutput) ToPrivateLinkServiceConnectionStateResponsePtrOutputWithContext(ctx context.Context) PrivateLinkServiceConnectionStateResponsePtrOutput { + return o } -// A RouteMap Rule. -type RouteMapRuleOutput struct{ *pulumi.OutputState } +func (o PrivateLinkServiceConnectionStateResponsePtrOutput) Elem() PrivateLinkServiceConnectionStateResponseOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) PrivateLinkServiceConnectionStateResponse { + if v != nil { + return *v + } + var ret PrivateLinkServiceConnectionStateResponse + return ret + }).(PrivateLinkServiceConnectionStateResponseOutput) +} -func (RouteMapRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteMapRule)(nil)).Elem() +// A message indicating if changes on the service provider require any updates on the consumer. +func (o PrivateLinkServiceConnectionStateResponsePtrOutput) ActionsRequired() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) *string { + if v == nil { + return nil + } + return v.ActionsRequired + }).(pulumi.StringPtrOutput) } -func (o RouteMapRuleOutput) ToRouteMapRuleOutput() RouteMapRuleOutput { - return o +// The reason for approval/rejection of the connection. +func (o PrivateLinkServiceConnectionStateResponsePtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) } -func (o RouteMapRuleOutput) ToRouteMapRuleOutputWithContext(ctx context.Context) RouteMapRuleOutput { - return o +// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. +func (o PrivateLinkServiceConnectionStateResponsePtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceConnectionStateResponse) *string { + if v == nil { + return nil + } + return v.Status + }).(pulumi.StringPtrOutput) } -// List of actions which will be applied on a match. -func (o RouteMapRuleOutput) Actions() ActionArrayOutput { - return o.ApplyT(func(v RouteMapRule) []Action { return v.Actions }).(ActionArrayOutput) +// The private link service ip configuration. +type PrivateLinkServiceIpConfiguration struct { + // Resource ID. + Id *string `pulumi:"id"` + // The name of private link service ip configuration. + Name *string `pulumi:"name"` + // Whether the ip configuration is primary or not. + Primary *bool `pulumi:"primary"` + // The private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. + PrivateIPAddressVersion *string `pulumi:"privateIPAddressVersion"` + // The private IP address allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The reference to the subnet resource. + Subnet *SubnetType `pulumi:"subnet"` } -// List of matching criterion which will be applied to traffic. -func (o RouteMapRuleOutput) MatchCriteria() CriterionArrayOutput { - return o.ApplyT(func(v RouteMapRule) []Criterion { return v.MatchCriteria }).(CriterionArrayOutput) +// Defaults sets the appropriate defaults for PrivateLinkServiceIpConfiguration +func (val *PrivateLinkServiceIpConfiguration) Defaults() *PrivateLinkServiceIpConfiguration { + if val == nil { + return nil + } + tmp := *val + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp } -// The unique name for the rule. -func (o RouteMapRuleOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteMapRule) *string { return v.Name }).(pulumi.StringPtrOutput) +// PrivateLinkServiceIpConfigurationInput is an input type that accepts PrivateLinkServiceIpConfigurationArgs and PrivateLinkServiceIpConfigurationOutput values. +// You can construct a concrete instance of `PrivateLinkServiceIpConfigurationInput` via: +// +// PrivateLinkServiceIpConfigurationArgs{...} +type PrivateLinkServiceIpConfigurationInput interface { + pulumi.Input + + ToPrivateLinkServiceIpConfigurationOutput() PrivateLinkServiceIpConfigurationOutput + ToPrivateLinkServiceIpConfigurationOutputWithContext(context.Context) PrivateLinkServiceIpConfigurationOutput } -// Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. -func (o RouteMapRuleOutput) NextStepIfMatched() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteMapRule) *string { return v.NextStepIfMatched }).(pulumi.StringPtrOutput) +// The private link service ip configuration. +type PrivateLinkServiceIpConfigurationArgs struct { + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name of private link service ip configuration. + Name pulumi.StringPtrInput `pulumi:"name"` + // Whether the ip configuration is primary or not. + Primary pulumi.BoolPtrInput `pulumi:"primary"` + // The private IP address of the IP configuration. + PrivateIPAddress pulumi.StringPtrInput `pulumi:"privateIPAddress"` + // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. + PrivateIPAddressVersion pulumi.StringPtrInput `pulumi:"privateIPAddressVersion"` + // The private IP address allocation method. + PrivateIPAllocationMethod pulumi.StringPtrInput `pulumi:"privateIPAllocationMethod"` + // The reference to the subnet resource. + Subnet SubnetTypePtrInput `pulumi:"subnet"` } -type RouteMapRuleArrayOutput struct{ *pulumi.OutputState } +// Defaults sets the appropriate defaults for PrivateLinkServiceIpConfigurationArgs +func (val *PrivateLinkServiceIpConfigurationArgs) Defaults() *PrivateLinkServiceIpConfigurationArgs { + if val == nil { + return nil + } + tmp := *val -func (RouteMapRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteMapRule)(nil)).Elem() + return &tmp +} +func (PrivateLinkServiceIpConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceIpConfiguration)(nil)).Elem() } -func (o RouteMapRuleArrayOutput) ToRouteMapRuleArrayOutput() RouteMapRuleArrayOutput { - return o +func (i PrivateLinkServiceIpConfigurationArgs) ToPrivateLinkServiceIpConfigurationOutput() PrivateLinkServiceIpConfigurationOutput { + return i.ToPrivateLinkServiceIpConfigurationOutputWithContext(context.Background()) } -func (o RouteMapRuleArrayOutput) ToRouteMapRuleArrayOutputWithContext(ctx context.Context) RouteMapRuleArrayOutput { - return o +func (i PrivateLinkServiceIpConfigurationArgs) ToPrivateLinkServiceIpConfigurationOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceIpConfigurationOutput) } -func (o RouteMapRuleArrayOutput) Index(i pulumi.IntInput) RouteMapRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteMapRule { - return vs[0].([]RouteMapRule)[vs[1].(int)] - }).(RouteMapRuleOutput) +// PrivateLinkServiceIpConfigurationArrayInput is an input type that accepts PrivateLinkServiceIpConfigurationArray and PrivateLinkServiceIpConfigurationArrayOutput values. +// You can construct a concrete instance of `PrivateLinkServiceIpConfigurationArrayInput` via: +// +// PrivateLinkServiceIpConfigurationArray{ PrivateLinkServiceIpConfigurationArgs{...} } +type PrivateLinkServiceIpConfigurationArrayInput interface { + pulumi.Input + + ToPrivateLinkServiceIpConfigurationArrayOutput() PrivateLinkServiceIpConfigurationArrayOutput + ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(context.Context) PrivateLinkServiceIpConfigurationArrayOutput } -// A RouteMap Rule. -type RouteMapRuleResponse struct { - // List of actions which will be applied on a match. - Actions []ActionResponse `pulumi:"actions"` - // List of matching criterion which will be applied to traffic. - MatchCriteria []CriterionResponse `pulumi:"matchCriteria"` - // The unique name for the rule. - Name *string `pulumi:"name"` - // Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. - NextStepIfMatched *string `pulumi:"nextStepIfMatched"` +type PrivateLinkServiceIpConfigurationArray []PrivateLinkServiceIpConfigurationInput + +func (PrivateLinkServiceIpConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateLinkServiceIpConfiguration)(nil)).Elem() } -// A RouteMap Rule. -type RouteMapRuleResponseOutput struct{ *pulumi.OutputState } +func (i PrivateLinkServiceIpConfigurationArray) ToPrivateLinkServiceIpConfigurationArrayOutput() PrivateLinkServiceIpConfigurationArrayOutput { + return i.ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(context.Background()) +} -func (RouteMapRuleResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteMapRuleResponse)(nil)).Elem() +func (i PrivateLinkServiceIpConfigurationArray) ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServiceIpConfigurationArrayOutput) } -func (o RouteMapRuleResponseOutput) ToRouteMapRuleResponseOutput() RouteMapRuleResponseOutput { +// The private link service ip configuration. +type PrivateLinkServiceIpConfigurationOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceIpConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceIpConfiguration)(nil)).Elem() +} + +func (o PrivateLinkServiceIpConfigurationOutput) ToPrivateLinkServiceIpConfigurationOutput() PrivateLinkServiceIpConfigurationOutput { return o } -func (o RouteMapRuleResponseOutput) ToRouteMapRuleResponseOutputWithContext(ctx context.Context) RouteMapRuleResponseOutput { +func (o PrivateLinkServiceIpConfigurationOutput) ToPrivateLinkServiceIpConfigurationOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationOutput { return o } -// List of actions which will be applied on a match. -func (o RouteMapRuleResponseOutput) Actions() ActionResponseArrayOutput { - return o.ApplyT(func(v RouteMapRuleResponse) []ActionResponse { return v.Actions }).(ActionResponseArrayOutput) +// Resource ID. +func (o PrivateLinkServiceIpConfigurationOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.Id }).(pulumi.StringPtrOutput) } -// List of matching criterion which will be applied to traffic. -func (o RouteMapRuleResponseOutput) MatchCriteria() CriterionResponseArrayOutput { - return o.ApplyT(func(v RouteMapRuleResponse) []CriterionResponse { return v.MatchCriteria }).(CriterionResponseArrayOutput) +// The name of private link service ip configuration. +func (o PrivateLinkServiceIpConfigurationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The unique name for the rule. -func (o RouteMapRuleResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteMapRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Whether the ip configuration is primary or not. +func (o PrivateLinkServiceIpConfigurationOutput) Primary() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *bool { return v.Primary }).(pulumi.BoolPtrOutput) } -// Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. -func (o RouteMapRuleResponseOutput) NextStepIfMatched() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteMapRuleResponse) *string { return v.NextStepIfMatched }).(pulumi.StringPtrOutput) +// The private IP address of the IP configuration. +func (o PrivateLinkServiceIpConfigurationOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) } -type RouteMapRuleResponseArrayOutput struct{ *pulumi.OutputState } +// Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. +func (o PrivateLinkServiceIpConfigurationOutput) PrivateIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.PrivateIPAddressVersion }).(pulumi.StringPtrOutput) +} -func (RouteMapRuleResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteMapRuleResponse)(nil)).Elem() +// The private IP address allocation method. +func (o PrivateLinkServiceIpConfigurationOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) } -func (o RouteMapRuleResponseArrayOutput) ToRouteMapRuleResponseArrayOutput() RouteMapRuleResponseArrayOutput { +// The reference to the subnet resource. +func (o PrivateLinkServiceIpConfigurationOutput) Subnet() SubnetTypePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfiguration) *SubnetType { return v.Subnet }).(SubnetTypePtrOutput) +} + +type PrivateLinkServiceIpConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceIpConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateLinkServiceIpConfiguration)(nil)).Elem() +} + +func (o PrivateLinkServiceIpConfigurationArrayOutput) ToPrivateLinkServiceIpConfigurationArrayOutput() PrivateLinkServiceIpConfigurationArrayOutput { return o } -func (o RouteMapRuleResponseArrayOutput) ToRouteMapRuleResponseArrayOutputWithContext(ctx context.Context) RouteMapRuleResponseArrayOutput { +func (o PrivateLinkServiceIpConfigurationArrayOutput) ToPrivateLinkServiceIpConfigurationArrayOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationArrayOutput { return o } -func (o RouteMapRuleResponseArrayOutput) Index(i pulumi.IntInput) RouteMapRuleResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteMapRuleResponse { - return vs[0].([]RouteMapRuleResponse)[vs[1].(int)] - }).(RouteMapRuleResponseOutput) +func (o PrivateLinkServiceIpConfigurationArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceIpConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceIpConfiguration { + return vs[0].([]PrivateLinkServiceIpConfiguration)[vs[1].(int)] + }).(PrivateLinkServiceIpConfigurationOutput) } -// Route resource. -type RouteResponse struct { - // The destination CIDR to which the route applies. - AddressPrefix *string `pulumi:"addressPrefix"` +// The private link service ip configuration. +type PrivateLinkServiceIpConfigurationResponse struct { // A unique read-only string that changes whenever the resource is updated. Etag string `pulumi:"etag"` - // A value indicating whether this route overrides overlapping BGP routes regardless of LPM. - HasBgpOverride bool `pulumi:"hasBgpOverride"` // Resource ID. Id *string `pulumi:"id"` - // The name of the resource that is unique within a resource group. This name can be used to access the resource. + // The name of private link service ip configuration. Name *string `pulumi:"name"` - // The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - NextHopIpAddress *string `pulumi:"nextHopIpAddress"` - // The type of Azure hop the packet should be sent to. - NextHopType string `pulumi:"nextHopType"` - // The provisioning state of the route resource. + // Whether the ip configuration is primary or not. + Primary *bool `pulumi:"primary"` + // The private IP address of the IP configuration. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. + PrivateIPAddressVersion *string `pulumi:"privateIPAddressVersion"` + // The private IP address allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The provisioning state of the private link service IP configuration resource. ProvisioningState string `pulumi:"provisioningState"` - // The type of the resource. - Type *string `pulumi:"type"` + // The reference to the subnet resource. + Subnet *SubnetResponse `pulumi:"subnet"` + // The resource type. + Type string `pulumi:"type"` } -// Route resource. -type RouteResponseOutput struct{ *pulumi.OutputState } +// Defaults sets the appropriate defaults for PrivateLinkServiceIpConfigurationResponse +func (val *PrivateLinkServiceIpConfigurationResponse) Defaults() *PrivateLinkServiceIpConfigurationResponse { + if val == nil { + return nil + } + tmp := *val + tmp.Subnet = tmp.Subnet.Defaults() -func (RouteResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteResponse)(nil)).Elem() + return &tmp } -func (o RouteResponseOutput) ToRouteResponseOutput() RouteResponseOutput { - return o +// The private link service ip configuration. +type PrivateLinkServiceIpConfigurationResponseOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceIpConfigurationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceIpConfigurationResponse)(nil)).Elem() } -func (o RouteResponseOutput) ToRouteResponseOutputWithContext(ctx context.Context) RouteResponseOutput { +func (o PrivateLinkServiceIpConfigurationResponseOutput) ToPrivateLinkServiceIpConfigurationResponseOutput() PrivateLinkServiceIpConfigurationResponseOutput { return o } -// The destination CIDR to which the route applies. -func (o RouteResponseOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteResponse) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceIpConfigurationResponseOutput) ToPrivateLinkServiceIpConfigurationResponseOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationResponseOutput { + return o } // A unique read-only string that changes whenever the resource is updated. -func (o RouteResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v RouteResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o PrivateLinkServiceIpConfigurationResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) string { return v.Etag }).(pulumi.StringOutput) } -// A value indicating whether this route overrides overlapping BGP routes regardless of LPM. -func (o RouteResponseOutput) HasBgpOverride() pulumi.BoolOutput { - return o.ApplyT(func(v RouteResponse) bool { return v.HasBgpOverride }).(pulumi.BoolOutput) +// Resource ID. +func (o PrivateLinkServiceIpConfigurationResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Resource ID. -func (o RouteResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// The name of private link service ip configuration. +func (o PrivateLinkServiceIpConfigurationResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o RouteResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Whether the ip configuration is primary or not. +func (o PrivateLinkServiceIpConfigurationResponseOutput) Primary() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *bool { return v.Primary }).(pulumi.BoolPtrOutput) } -// The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. -func (o RouteResponseOutput) NextHopIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteResponse) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +// The private IP address of the IP configuration. +func (o PrivateLinkServiceIpConfigurationResponseOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) } -// The type of Azure hop the packet should be sent to. -func (o RouteResponseOutput) NextHopType() pulumi.StringOutput { - return o.ApplyT(func(v RouteResponse) string { return v.NextHopType }).(pulumi.StringOutput) +// Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. +func (o PrivateLinkServiceIpConfigurationResponseOutput) PrivateIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.PrivateIPAddressVersion }).(pulumi.StringPtrOutput) } -// The provisioning state of the route resource. -func (o RouteResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v RouteResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The private IP address allocation method. +func (o PrivateLinkServiceIpConfigurationResponseOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) } -// The type of the resource. -func (o RouteResponseOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +// The provisioning state of the private link service IP configuration resource. +func (o PrivateLinkServiceIpConfigurationResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -type RouteResponseArrayOutput struct{ *pulumi.OutputState } +// The reference to the subnet resource. +func (o PrivateLinkServiceIpConfigurationResponseOutput) Subnet() SubnetResponsePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +} -func (RouteResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteResponse)(nil)).Elem() +// The resource type. +func (o PrivateLinkServiceIpConfigurationResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceIpConfigurationResponse) string { return v.Type }).(pulumi.StringOutput) } -func (o RouteResponseArrayOutput) ToRouteResponseArrayOutput() RouteResponseArrayOutput { +type PrivateLinkServiceIpConfigurationResponseArrayOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceIpConfigurationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PrivateLinkServiceIpConfigurationResponse)(nil)).Elem() +} + +func (o PrivateLinkServiceIpConfigurationResponseArrayOutput) ToPrivateLinkServiceIpConfigurationResponseArrayOutput() PrivateLinkServiceIpConfigurationResponseArrayOutput { return o } -func (o RouteResponseArrayOutput) ToRouteResponseArrayOutputWithContext(ctx context.Context) RouteResponseArrayOutput { +func (o PrivateLinkServiceIpConfigurationResponseArrayOutput) ToPrivateLinkServiceIpConfigurationResponseArrayOutputWithContext(ctx context.Context) PrivateLinkServiceIpConfigurationResponseArrayOutput { return o } -func (o RouteResponseArrayOutput) Index(i pulumi.IntInput) RouteResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteResponse { - return vs[0].([]RouteResponse)[vs[1].(int)] - }).(RouteResponseOutput) +func (o PrivateLinkServiceIpConfigurationResponseArrayOutput) Index(i pulumi.IntInput) PrivateLinkServiceIpConfigurationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PrivateLinkServiceIpConfigurationResponse { + return vs[0].([]PrivateLinkServiceIpConfigurationResponse)[vs[1].(int)] + }).(PrivateLinkServiceIpConfigurationResponseOutput) } -type RouteSourceDetailsResponse struct { - // Express Route Circuit identifier - Circuit *string `pulumi:"circuit"` - // Flag to indicate if the route learned from the primary device is active or passive - Pri *string `pulumi:"pri"` - // Flag to indicate if the route learned from the secondary device is active or passive - Sec *string `pulumi:"sec"` +// The auto-approval list of the private link service. +type PrivateLinkServicePropertiesAutoApproval struct { + // The list of subscriptions. + Subscriptions []string `pulumi:"subscriptions"` } -type RouteSourceDetailsResponseOutput struct{ *pulumi.OutputState } +// PrivateLinkServicePropertiesAutoApprovalInput is an input type that accepts PrivateLinkServicePropertiesAutoApprovalArgs and PrivateLinkServicePropertiesAutoApprovalOutput values. +// You can construct a concrete instance of `PrivateLinkServicePropertiesAutoApprovalInput` via: +// +// PrivateLinkServicePropertiesAutoApprovalArgs{...} +type PrivateLinkServicePropertiesAutoApprovalInput interface { + pulumi.Input -func (RouteSourceDetailsResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSourceDetailsResponse)(nil)).Elem() + ToPrivateLinkServicePropertiesAutoApprovalOutput() PrivateLinkServicePropertiesAutoApprovalOutput + ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(context.Context) PrivateLinkServicePropertiesAutoApprovalOutput } -func (o RouteSourceDetailsResponseOutput) ToRouteSourceDetailsResponseOutput() RouteSourceDetailsResponseOutput { - return o +// The auto-approval list of the private link service. +type PrivateLinkServicePropertiesAutoApprovalArgs struct { + // The list of subscriptions. + Subscriptions pulumi.StringArrayInput `pulumi:"subscriptions"` } -func (o RouteSourceDetailsResponseOutput) ToRouteSourceDetailsResponseOutputWithContext(ctx context.Context) RouteSourceDetailsResponseOutput { - return o +func (PrivateLinkServicePropertiesAutoApprovalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() } -// Express Route Circuit identifier -func (o RouteSourceDetailsResponseOutput) Circuit() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSourceDetailsResponse) *string { return v.Circuit }).(pulumi.StringPtrOutput) +func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalOutput() PrivateLinkServicePropertiesAutoApprovalOutput { + return i.ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(context.Background()) } -// Flag to indicate if the route learned from the primary device is active or passive -func (o RouteSourceDetailsResponseOutput) Pri() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSourceDetailsResponse) *string { return v.Pri }).(pulumi.StringPtrOutput) +func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesAutoApprovalOutput) } -// Flag to indicate if the route learned from the secondary device is active or passive -func (o RouteSourceDetailsResponseOutput) Sec() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSourceDetailsResponse) *string { return v.Sec }).(pulumi.StringPtrOutput) +func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return i.ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Background()) } -type RouteSourceDetailsResponseArrayOutput struct{ *pulumi.OutputState } - -func (RouteSourceDetailsResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSourceDetailsResponse)(nil)).Elem() +func (i PrivateLinkServicePropertiesAutoApprovalArgs) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesAutoApprovalOutput).ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx) } -func (o RouteSourceDetailsResponseArrayOutput) ToRouteSourceDetailsResponseArrayOutput() RouteSourceDetailsResponseArrayOutput { - return o -} +// PrivateLinkServicePropertiesAutoApprovalPtrInput is an input type that accepts PrivateLinkServicePropertiesAutoApprovalArgs, PrivateLinkServicePropertiesAutoApprovalPtr and PrivateLinkServicePropertiesAutoApprovalPtrOutput values. +// You can construct a concrete instance of `PrivateLinkServicePropertiesAutoApprovalPtrInput` via: +// +// PrivateLinkServicePropertiesAutoApprovalArgs{...} +// +// or: +// +// nil +type PrivateLinkServicePropertiesAutoApprovalPtrInput interface { + pulumi.Input -func (o RouteSourceDetailsResponseArrayOutput) ToRouteSourceDetailsResponseArrayOutputWithContext(ctx context.Context) RouteSourceDetailsResponseArrayOutput { - return o + ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput + ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput } -func (o RouteSourceDetailsResponseArrayOutput) Index(i pulumi.IntInput) RouteSourceDetailsResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSourceDetailsResponse { - return vs[0].([]RouteSourceDetailsResponse)[vs[1].(int)] - }).(RouteSourceDetailsResponseOutput) +type privateLinkServicePropertiesAutoApprovalPtrType PrivateLinkServicePropertiesAutoApprovalArgs + +func PrivateLinkServicePropertiesAutoApprovalPtr(v *PrivateLinkServicePropertiesAutoApprovalArgs) PrivateLinkServicePropertiesAutoApprovalPtrInput { + return (*privateLinkServicePropertiesAutoApprovalPtrType)(v) } -// Route table resource. -type RouteTableType struct { - // Whether to disable the routes learned by BGP on that route table. True means disable. - DisableBgpRoutePropagation *bool `pulumi:"disableBgpRoutePropagation"` - // Gets a unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // Resource location. - Location *string `pulumi:"location"` - // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState *string `pulumi:"provisioningState"` - // Collection of routes contained within a route table. - Routes []RouteType `pulumi:"routes"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` +func (*privateLinkServicePropertiesAutoApprovalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() } -// RouteTableTypeInput is an input type that accepts RouteTableTypeArgs and RouteTableTypeOutput values. -// You can construct a concrete instance of `RouteTableTypeInput` via: -// -// RouteTableTypeArgs{...} -type RouteTableTypeInput interface { - pulumi.Input +func (i *privateLinkServicePropertiesAutoApprovalPtrType) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return i.ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Background()) +} - ToRouteTableTypeOutput() RouteTableTypeOutput - ToRouteTableTypeOutputWithContext(context.Context) RouteTableTypeOutput +func (i *privateLinkServicePropertiesAutoApprovalPtrType) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) } -// Route table resource. -type RouteTableTypeArgs struct { - // Whether to disable the routes learned by BGP on that route table. True means disable. - DisableBgpRoutePropagation pulumi.BoolPtrInput `pulumi:"disableBgpRoutePropagation"` - // Gets a unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Resource location. - Location pulumi.StringPtrInput `pulumi:"location"` - // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` - // Collection of routes contained within a route table. - Routes RouteTypeArrayInput `pulumi:"routes"` - // Resource tags. - Tags pulumi.StringMapInput `pulumi:"tags"` +// The auto-approval list of the private link service. +type PrivateLinkServicePropertiesAutoApprovalOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServicePropertiesAutoApprovalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() } -func (RouteTableTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTableType)(nil)).Elem() +func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalOutput() PrivateLinkServicePropertiesAutoApprovalOutput { + return o } -func (i RouteTableTypeArgs) ToRouteTableTypeOutput() RouteTableTypeOutput { - return i.ToRouteTableTypeOutputWithContext(context.Background()) +func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalOutput { + return o } -func (i RouteTableTypeArgs) ToRouteTableTypeOutputWithContext(ctx context.Context) RouteTableTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTableTypeOutput) +func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return o.ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(context.Background()) } -func (i RouteTableTypeArgs) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { - return i.ToRouteTableTypePtrOutputWithContext(context.Background()) +func (o PrivateLinkServicePropertiesAutoApprovalOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServicePropertiesAutoApproval) *PrivateLinkServicePropertiesAutoApproval { + return &v + }).(PrivateLinkServicePropertiesAutoApprovalPtrOutput) } -func (i RouteTableTypeArgs) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTableTypeOutput).ToRouteTableTypePtrOutputWithContext(ctx) +// The list of subscriptions. +func (o PrivateLinkServicePropertiesAutoApprovalOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServicePropertiesAutoApproval) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) } -// RouteTableTypePtrInput is an input type that accepts RouteTableTypeArgs, RouteTableTypePtr and RouteTableTypePtrOutput values. -// You can construct a concrete instance of `RouteTableTypePtrInput` via: -// -// RouteTableTypeArgs{...} -// -// or: -// -// nil -type RouteTableTypePtrInput interface { - pulumi.Input +type PrivateLinkServicePropertiesAutoApprovalPtrOutput struct{ *pulumi.OutputState } - ToRouteTableTypePtrOutput() RouteTableTypePtrOutput - ToRouteTableTypePtrOutputWithContext(context.Context) RouteTableTypePtrOutput +func (PrivateLinkServicePropertiesAutoApprovalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServicePropertiesAutoApproval)(nil)).Elem() } -type routeTableTypePtrType RouteTableTypeArgs +func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutput() PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return o +} -func RouteTableTypePtr(v *RouteTableTypeArgs) RouteTableTypePtrInput { - return (*routeTableTypePtrType)(v) +func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesAutoApprovalPtrOutput { + return o } -func (*routeTableTypePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteTableType)(nil)).Elem() +func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) Elem() PrivateLinkServicePropertiesAutoApprovalOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesAutoApproval) PrivateLinkServicePropertiesAutoApproval { + if v != nil { + return *v + } + var ret PrivateLinkServicePropertiesAutoApproval + return ret + }).(PrivateLinkServicePropertiesAutoApprovalOutput) } -func (i *routeTableTypePtrType) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { - return i.ToRouteTableTypePtrOutputWithContext(context.Background()) +// The list of subscriptions. +func (o PrivateLinkServicePropertiesAutoApprovalPtrOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesAutoApproval) []string { + if v == nil { + return nil + } + return v.Subscriptions + }).(pulumi.StringArrayOutput) } -func (i *routeTableTypePtrType) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTableTypePtrOutput) +// The auto-approval list of the private link service. +type PrivateLinkServicePropertiesResponseAutoApproval struct { + // The list of subscriptions. + Subscriptions []string `pulumi:"subscriptions"` } -// Route table resource. -type RouteTableTypeOutput struct{ *pulumi.OutputState } +// The auto-approval list of the private link service. +type PrivateLinkServicePropertiesResponseAutoApprovalOutput struct{ *pulumi.OutputState } -func (RouteTableTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTableType)(nil)).Elem() +func (PrivateLinkServicePropertiesResponseAutoApprovalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServicePropertiesResponseAutoApproval)(nil)).Elem() } -func (o RouteTableTypeOutput) ToRouteTableTypeOutput() RouteTableTypeOutput { +func (o PrivateLinkServicePropertiesResponseAutoApprovalOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalOutput() PrivateLinkServicePropertiesResponseAutoApprovalOutput { return o } -func (o RouteTableTypeOutput) ToRouteTableTypeOutputWithContext(ctx context.Context) RouteTableTypeOutput { +func (o PrivateLinkServicePropertiesResponseAutoApprovalOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseAutoApprovalOutput { return o } -func (o RouteTableTypeOutput) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { - return o.ToRouteTableTypePtrOutputWithContext(context.Background()) +// The list of subscriptions. +func (o PrivateLinkServicePropertiesResponseAutoApprovalOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServicePropertiesResponseAutoApproval) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) } -func (o RouteTableTypeOutput) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteTableType) *RouteTableType { - return &v - }).(RouteTableTypePtrOutput) +type PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServicePropertiesResponseAutoApproval)(nil)).Elem() } -// Whether to disable the routes learned by BGP on that route table. True means disable. -func (o RouteTableTypeOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RouteTableType) *bool { return v.DisableBgpRoutePropagation }).(pulumi.BoolPtrOutput) +func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalPtrOutput() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o } -// Gets a unique read-only string that changes whenever the resource is updated. -func (o RouteTableTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableType) *string { return v.Etag }).(pulumi.StringPtrOutput) +func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) ToPrivateLinkServicePropertiesResponseAutoApprovalPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o } -// Resource ID. -func (o RouteTableTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableType) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) Elem() PrivateLinkServicePropertiesResponseAutoApprovalOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseAutoApproval) PrivateLinkServicePropertiesResponseAutoApproval { + if v != nil { + return *v + } + var ret PrivateLinkServicePropertiesResponseAutoApproval + return ret + }).(PrivateLinkServicePropertiesResponseAutoApprovalOutput) } -// Resource location. -func (o RouteTableTypeOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableType) *string { return v.Location }).(pulumi.StringPtrOutput) +// The list of subscriptions. +func (o PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseAutoApproval) []string { + if v == nil { + return nil + } + return v.Subscriptions + }).(pulumi.StringArrayOutput) } -// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o RouteTableTypeOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +// The visibility list of the private link service. +type PrivateLinkServicePropertiesResponseVisibility struct { + // The list of subscriptions. + Subscriptions []string `pulumi:"subscriptions"` } -// Collection of routes contained within a route table. -func (o RouteTableTypeOutput) Routes() RouteTypeArrayOutput { - return o.ApplyT(func(v RouteTableType) []RouteType { return v.Routes }).(RouteTypeArrayOutput) +// The visibility list of the private link service. +type PrivateLinkServicePropertiesResponseVisibilityOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServicePropertiesResponseVisibilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServicePropertiesResponseVisibility)(nil)).Elem() } -// Resource tags. -func (o RouteTableTypeOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v RouteTableType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o PrivateLinkServicePropertiesResponseVisibilityOutput) ToPrivateLinkServicePropertiesResponseVisibilityOutput() PrivateLinkServicePropertiesResponseVisibilityOutput { + return o } -type RouteTableTypePtrOutput struct{ *pulumi.OutputState } +func (o PrivateLinkServicePropertiesResponseVisibilityOutput) ToPrivateLinkServicePropertiesResponseVisibilityOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseVisibilityOutput { + return o +} -func (RouteTableTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteTableType)(nil)).Elem() +// The list of subscriptions. +func (o PrivateLinkServicePropertiesResponseVisibilityOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServicePropertiesResponseVisibility) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) } -func (o RouteTableTypePtrOutput) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { +type PrivateLinkServicePropertiesResponseVisibilityPtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServicePropertiesResponseVisibilityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServicePropertiesResponseVisibility)(nil)).Elem() +} + +func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) ToPrivateLinkServicePropertiesResponseVisibilityPtrOutput() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { return o } -func (o RouteTableTypePtrOutput) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { +func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) ToPrivateLinkServicePropertiesResponseVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesResponseVisibilityPtrOutput { return o } -func (o RouteTableTypePtrOutput) Elem() RouteTableTypeOutput { - return o.ApplyT(func(v *RouteTableType) RouteTableType { +func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) Elem() PrivateLinkServicePropertiesResponseVisibilityOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseVisibility) PrivateLinkServicePropertiesResponseVisibility { if v != nil { return *v } - var ret RouteTableType + var ret PrivateLinkServicePropertiesResponseVisibility return ret - }).(RouteTableTypeOutput) + }).(PrivateLinkServicePropertiesResponseVisibilityOutput) } -// Whether to disable the routes learned by BGP on that route table. True means disable. -func (o RouteTableTypePtrOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RouteTableType) *bool { +// The list of subscriptions. +func (o PrivateLinkServicePropertiesResponseVisibilityPtrOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesResponseVisibility) []string { if v == nil { return nil } - return v.DisableBgpRoutePropagation - }).(pulumi.BoolPtrOutput) + return v.Subscriptions + }).(pulumi.StringArrayOutput) } -// Gets a unique read-only string that changes whenever the resource is updated. -func (o RouteTableTypePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableType) *string { - if v == nil { - return nil - } - return v.Etag - }).(pulumi.StringPtrOutput) +// The visibility list of the private link service. +type PrivateLinkServicePropertiesVisibility struct { + // The list of subscriptions. + Subscriptions []string `pulumi:"subscriptions"` } -// Resource ID. -func (o RouteTableTypePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableType) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +// PrivateLinkServicePropertiesVisibilityInput is an input type that accepts PrivateLinkServicePropertiesVisibilityArgs and PrivateLinkServicePropertiesVisibilityOutput values. +// You can construct a concrete instance of `PrivateLinkServicePropertiesVisibilityInput` via: +// +// PrivateLinkServicePropertiesVisibilityArgs{...} +type PrivateLinkServicePropertiesVisibilityInput interface { + pulumi.Input + + ToPrivateLinkServicePropertiesVisibilityOutput() PrivateLinkServicePropertiesVisibilityOutput + ToPrivateLinkServicePropertiesVisibilityOutputWithContext(context.Context) PrivateLinkServicePropertiesVisibilityOutput } -// Resource location. -func (o RouteTableTypePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableType) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) +// The visibility list of the private link service. +type PrivateLinkServicePropertiesVisibilityArgs struct { + // The list of subscriptions. + Subscriptions pulumi.StringArrayInput `pulumi:"subscriptions"` } -// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o RouteTableTypePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableType) *string { - if v == nil { - return nil - } - return v.ProvisioningState - }).(pulumi.StringPtrOutput) +func (PrivateLinkServicePropertiesVisibilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServicePropertiesVisibility)(nil)).Elem() } -// Collection of routes contained within a route table. -func (o RouteTableTypePtrOutput) Routes() RouteTypeArrayOutput { - return o.ApplyT(func(v *RouteTableType) []RouteType { - if v == nil { - return nil +func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityOutput() PrivateLinkServicePropertiesVisibilityOutput { + return i.ToPrivateLinkServicePropertiesVisibilityOutputWithContext(context.Background()) +} + +func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesVisibilityOutput) +} + +func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { + return i.ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Background()) +} + +func (i PrivateLinkServicePropertiesVisibilityArgs) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesVisibilityOutput).ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx) +} + +// PrivateLinkServicePropertiesVisibilityPtrInput is an input type that accepts PrivateLinkServicePropertiesVisibilityArgs, PrivateLinkServicePropertiesVisibilityPtr and PrivateLinkServicePropertiesVisibilityPtrOutput values. +// You can construct a concrete instance of `PrivateLinkServicePropertiesVisibilityPtrInput` via: +// +// PrivateLinkServicePropertiesVisibilityArgs{...} +// +// or: +// +// nil +type PrivateLinkServicePropertiesVisibilityPtrInput interface { + pulumi.Input + + ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput + ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput +} + +type privateLinkServicePropertiesVisibilityPtrType PrivateLinkServicePropertiesVisibilityArgs + +func PrivateLinkServicePropertiesVisibilityPtr(v *PrivateLinkServicePropertiesVisibilityArgs) PrivateLinkServicePropertiesVisibilityPtrInput { + return (*privateLinkServicePropertiesVisibilityPtrType)(v) +} + +func (*privateLinkServicePropertiesVisibilityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServicePropertiesVisibility)(nil)).Elem() +} + +func (i *privateLinkServicePropertiesVisibilityPtrType) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { + return i.ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Background()) +} + +func (i *privateLinkServicePropertiesVisibilityPtrType) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkServicePropertiesVisibilityPtrOutput) +} + +// The visibility list of the private link service. +type PrivateLinkServicePropertiesVisibilityOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServicePropertiesVisibilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServicePropertiesVisibility)(nil)).Elem() +} + +func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityOutput() PrivateLinkServicePropertiesVisibilityOutput { + return o +} + +func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityOutput { + return o +} + +func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { + return o.ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(context.Background()) +} + +func (o PrivateLinkServicePropertiesVisibilityOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkServicePropertiesVisibility) *PrivateLinkServicePropertiesVisibility { + return &v + }).(PrivateLinkServicePropertiesVisibilityPtrOutput) +} + +// The list of subscriptions. +func (o PrivateLinkServicePropertiesVisibilityOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServicePropertiesVisibility) []string { return v.Subscriptions }).(pulumi.StringArrayOutput) +} + +type PrivateLinkServicePropertiesVisibilityPtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServicePropertiesVisibilityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServicePropertiesVisibility)(nil)).Elem() +} + +func (o PrivateLinkServicePropertiesVisibilityPtrOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutput() PrivateLinkServicePropertiesVisibilityPtrOutput { + return o +} + +func (o PrivateLinkServicePropertiesVisibilityPtrOutput) ToPrivateLinkServicePropertiesVisibilityPtrOutputWithContext(ctx context.Context) PrivateLinkServicePropertiesVisibilityPtrOutput { + return o +} + +func (o PrivateLinkServicePropertiesVisibilityPtrOutput) Elem() PrivateLinkServicePropertiesVisibilityOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesVisibility) PrivateLinkServicePropertiesVisibility { + if v != nil { + return *v } - return v.Routes - }).(RouteTypeArrayOutput) + var ret PrivateLinkServicePropertiesVisibility + return ret + }).(PrivateLinkServicePropertiesVisibilityOutput) } -// Resource tags. -func (o RouteTableTypePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *RouteTableType) map[string]string { +// The list of subscriptions. +func (o PrivateLinkServicePropertiesVisibilityPtrOutput) Subscriptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServicePropertiesVisibility) []string { if v == nil { return nil } - return v.Tags - }).(pulumi.StringMapOutput) + return v.Subscriptions + }).(pulumi.StringArrayOutput) } -// Route table resource. -type RouteTableResponse struct { - // Whether to disable the routes learned by BGP on that route table. True means disable. - DisableBgpRoutePropagation *bool `pulumi:"disableBgpRoutePropagation"` +// Private link service resource. +type PrivateLinkServiceResponse struct { + // The alias of the private link service. + Alias string `pulumi:"alias"` + // The auto-approval list of the private link service. + AutoApproval *PrivateLinkServicePropertiesResponseAutoApproval `pulumi:"autoApproval"` + // The destination IP address of the private link service. + DestinationIPAddress *string `pulumi:"destinationIPAddress"` + // Whether the private link service is enabled for proxy protocol or not. + EnableProxyProtocol *bool `pulumi:"enableProxyProtocol"` // A unique read-only string that changes whenever the resource is updated. Etag string `pulumi:"etag"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // The list of Fqdn. + Fqdns []string `pulumi:"fqdns"` // Resource ID. Id *string `pulumi:"id"` + // An array of private link service IP configurations. + IpConfigurations []PrivateLinkServiceIpConfigurationResponse `pulumi:"ipConfigurations"` + // An array of references to the load balancer IP configurations. + LoadBalancerFrontendIpConfigurations []FrontendIPConfigurationResponse `pulumi:"loadBalancerFrontendIpConfigurations"` // Resource location. Location *string `pulumi:"location"` // Resource name. Name string `pulumi:"name"` - // The provisioning state of the route table resource. + // An array of references to the network interfaces created for this private link service. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // An array of list about connections to the private endpoint. + PrivateEndpointConnections []PrivateEndpointConnectionResponse `pulumi:"privateEndpointConnections"` + // The provisioning state of the private link service resource. ProvisioningState string `pulumi:"provisioningState"` - // The resource GUID property of the route table. - ResourceGuid string `pulumi:"resourceGuid"` - // Collection of routes contained within a route table. - Routes []RouteResponse `pulumi:"routes"` - // A collection of references to subnets. - Subnets []SubnetResponse `pulumi:"subnets"` // Resource tags. Tags map[string]string `pulumi:"tags"` // Resource type. Type string `pulumi:"type"` + // The visibility list of the private link service. + Visibility *PrivateLinkServicePropertiesResponseVisibility `pulumi:"visibility"` } -// Route table resource. -type RouteTableResponseOutput struct{ *pulumi.OutputState } +// Private link service resource. +type PrivateLinkServiceResponseOutput struct{ *pulumi.OutputState } -func (RouteTableResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTableResponse)(nil)).Elem() +func (PrivateLinkServiceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceResponse)(nil)).Elem() } -func (o RouteTableResponseOutput) ToRouteTableResponseOutput() RouteTableResponseOutput { +func (o PrivateLinkServiceResponseOutput) ToPrivateLinkServiceResponseOutput() PrivateLinkServiceResponseOutput { return o } -func (o RouteTableResponseOutput) ToRouteTableResponseOutputWithContext(ctx context.Context) RouteTableResponseOutput { +func (o PrivateLinkServiceResponseOutput) ToPrivateLinkServiceResponseOutputWithContext(ctx context.Context) PrivateLinkServiceResponseOutput { return o } -// Whether to disable the routes learned by BGP on that route table. True means disable. -func (o RouteTableResponseOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RouteTableResponse) *bool { return v.DisableBgpRoutePropagation }).(pulumi.BoolPtrOutput) +// The alias of the private link service. +func (o PrivateLinkServiceResponseOutput) Alias() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Alias }).(pulumi.StringOutput) +} + +// The auto-approval list of the private link service. +func (o PrivateLinkServiceResponseOutput) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseAutoApproval { + return v.AutoApproval + }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) +} + +// The destination IP address of the private link service. +func (o PrivateLinkServiceResponseOutput) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.DestinationIPAddress }).(pulumi.StringPtrOutput) +} + +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceResponseOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *bool { return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o RouteTableResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v RouteTableResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o PrivateLinkServiceResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// The extended location of the load balancer. +func (o PrivateLinkServiceResponseOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) +} + +// The list of Fqdn. +func (o PrivateLinkServiceResponseOutput) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) []string { return v.Fqdns }).(pulumi.StringArrayOutput) } // Resource ID. -func (o RouteTableResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o PrivateLinkServiceResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Resource location. -func (o RouteTableResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +// An array of private link service IP configurations. +func (o PrivateLinkServiceResponseOutput) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) []PrivateLinkServiceIpConfigurationResponse { + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) } -// Resource name. -func (o RouteTableResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v RouteTableResponse) string { return v.Name }).(pulumi.StringOutput) +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceResponseOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) []FrontendIPConfigurationResponse { + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationResponseArrayOutput) } -// The provisioning state of the route table resource. -func (o RouteTableResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v RouteTableResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// Resource location. +func (o PrivateLinkServiceResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *string { return v.Location }).(pulumi.StringPtrOutput) } -// The resource GUID property of the route table. -func (o RouteTableResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v RouteTableResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +// Resource name. +func (o PrivateLinkServiceResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Name }).(pulumi.StringOutput) } -// Collection of routes contained within a route table. -func (o RouteTableResponseOutput) Routes() RouteResponseArrayOutput { - return o.ApplyT(func(v RouteTableResponse) []RouteResponse { return v.Routes }).(RouteResponseArrayOutput) +// An array of references to the network interfaces created for this private link service. +func (o PrivateLinkServiceResponseOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -// A collection of references to subnets. -func (o RouteTableResponseOutput) Subnets() SubnetResponseArrayOutput { - return o.ApplyT(func(v RouteTableResponse) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +// An array of list about connections to the private endpoint. +func (o PrivateLinkServiceResponseOutput) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) []PrivateEndpointConnectionResponse { + return v.PrivateEndpointConnections + }).(PrivateEndpointConnectionResponseArrayOutput) +} + +// The provisioning state of the private link service resource. +func (o PrivateLinkServiceResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } // Resource tags. -func (o RouteTableResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v RouteTableResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o PrivateLinkServiceResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } // Resource type. -func (o RouteTableResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v RouteTableResponse) string { return v.Type }).(pulumi.StringOutput) +func (o PrivateLinkServiceResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) string { return v.Type }).(pulumi.StringOutput) } -type RouteTableResponsePtrOutput struct{ *pulumi.OutputState } +// The visibility list of the private link service. +func (o PrivateLinkServiceResponseOutput) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseVisibility { + return v.Visibility + }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) +} -func (RouteTableResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteTableResponse)(nil)).Elem() +type PrivateLinkServiceResponsePtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkServiceResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceResponse)(nil)).Elem() } -func (o RouteTableResponsePtrOutput) ToRouteTableResponsePtrOutput() RouteTableResponsePtrOutput { +func (o PrivateLinkServiceResponsePtrOutput) ToPrivateLinkServiceResponsePtrOutput() PrivateLinkServiceResponsePtrOutput { return o } -func (o RouteTableResponsePtrOutput) ToRouteTableResponsePtrOutputWithContext(ctx context.Context) RouteTableResponsePtrOutput { +func (o PrivateLinkServiceResponsePtrOutput) ToPrivateLinkServiceResponsePtrOutputWithContext(ctx context.Context) PrivateLinkServiceResponsePtrOutput { return o } -func (o RouteTableResponsePtrOutput) Elem() RouteTableResponseOutput { - return o.ApplyT(func(v *RouteTableResponse) RouteTableResponse { +func (o PrivateLinkServiceResponsePtrOutput) Elem() PrivateLinkServiceResponseOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) PrivateLinkServiceResponse { if v != nil { return *v } - var ret RouteTableResponse + var ret PrivateLinkServiceResponse return ret - }).(RouteTableResponseOutput) + }).(PrivateLinkServiceResponseOutput) } -// Whether to disable the routes learned by BGP on that route table. True means disable. -func (o RouteTableResponsePtrOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *bool { +// The alias of the private link service. +func (o PrivateLinkServiceResponsePtrOutput) Alias() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { if v == nil { return nil } - return v.DisableBgpRoutePropagation + return &v.Alias + }).(pulumi.StringPtrOutput) +} + +// The auto-approval list of the private link service. +func (o PrivateLinkServiceResponsePtrOutput) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseAutoApproval { + if v == nil { + return nil + } + return v.AutoApproval + }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) +} + +// The destination IP address of the private link service. +func (o PrivateLinkServiceResponsePtrOutput) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { + if v == nil { + return nil + } + return v.DestinationIPAddress + }).(pulumi.StringPtrOutput) +} + +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceResponsePtrOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *bool { + if v == nil { + return nil + } + return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o RouteTableResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +func (o PrivateLinkServiceResponsePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { if v == nil { return nil } @@ -1912,9 +2598,29 @@ func (o RouteTableResponsePtrOutput) Etag() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// The extended location of the load balancer. +func (o PrivateLinkServiceResponsePtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *ExtendedLocationResponse { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationResponsePtrOutput) +} + +// The list of Fqdn. +func (o PrivateLinkServiceResponsePtrOutput) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) []string { + if v == nil { + return nil + } + return v.Fqdns + }).(pulumi.StringArrayOutput) +} + // Resource ID. -func (o RouteTableResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +func (o PrivateLinkServiceResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { if v == nil { return nil } @@ -1922,69 +2628,79 @@ func (o RouteTableResponsePtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Resource location. -func (o RouteTableResponsePtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +// An array of private link service IP configurations. +func (o PrivateLinkServiceResponsePtrOutput) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) []PrivateLinkServiceIpConfigurationResponse { if v == nil { return nil } - return v.Location - }).(pulumi.StringPtrOutput) + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) } -// Resource name. -func (o RouteTableResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceResponsePtrOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) []FrontendIPConfigurationResponse { if v == nil { return nil } - return &v.Name - }).(pulumi.StringPtrOutput) + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationResponseArrayOutput) } -// The provisioning state of the route table resource. -func (o RouteTableResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +// Resource location. +func (o PrivateLinkServiceResponsePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { if v == nil { return nil } - return &v.ProvisioningState + return v.Location }).(pulumi.StringPtrOutput) } -// The resource GUID property of the route table. -func (o RouteTableResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +// Resource name. +func (o PrivateLinkServiceResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { if v == nil { return nil } - return &v.ResourceGuid + return &v.Name }).(pulumi.StringPtrOutput) } -// Collection of routes contained within a route table. -func (o RouteTableResponsePtrOutput) Routes() RouteResponseArrayOutput { - return o.ApplyT(func(v *RouteTableResponse) []RouteResponse { +// An array of references to the network interfaces created for this private link service. +func (o PrivateLinkServiceResponsePtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) []NetworkInterfaceResponse { if v == nil { return nil } - return v.Routes - }).(RouteResponseArrayOutput) + return v.NetworkInterfaces + }).(NetworkInterfaceResponseArrayOutput) } -// A collection of references to subnets. -func (o RouteTableResponsePtrOutput) Subnets() SubnetResponseArrayOutput { - return o.ApplyT(func(v *RouteTableResponse) []SubnetResponse { +// An array of list about connections to the private endpoint. +func (o PrivateLinkServiceResponsePtrOutput) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) []PrivateEndpointConnectionResponse { if v == nil { return nil } - return v.Subnets - }).(SubnetResponseArrayOutput) + return v.PrivateEndpointConnections + }).(PrivateEndpointConnectionResponseArrayOutput) +} + +// The provisioning state of the private link service resource. +func (o PrivateLinkServiceResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) } // Resource tags. -func (o RouteTableResponsePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *RouteTableResponse) map[string]string { +func (o PrivateLinkServiceResponsePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) map[string]string { if v == nil { return nil } @@ -1993,8 +2709,8 @@ func (o RouteTableResponsePtrOutput) Tags() pulumi.StringMapOutput { } // Resource type. -func (o RouteTableResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTableResponse) *string { +func (o PrivateLinkServiceResponsePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *string { if v == nil { return nil } @@ -2002,4497 +2718,14330 @@ func (o RouteTableResponsePtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Properties of route target address -type RouteTargetAddressPropertiesFormat struct { - // The private IPv4 or IPv6 address of the service gateway route target address. - PrivateIPAddress *string `pulumi:"privateIPAddress"` - // The Private IP allocation method. - PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` - // The reference to the subnet resource. - Subnet *SubnetType `pulumi:"subnet"` +// The visibility list of the private link service. +func (o PrivateLinkServiceResponsePtrOutput) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponse) *PrivateLinkServicePropertiesResponseVisibility { + if v == nil { + return nil + } + return v.Visibility + }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) } -// Defaults sets the appropriate defaults for RouteTargetAddressPropertiesFormat -func (val *RouteTargetAddressPropertiesFormat) Defaults() *RouteTargetAddressPropertiesFormat { - if val == nil { - return nil - } - tmp := *val - tmp.Subnet = tmp.Subnet.Defaults() +// Private link service resource. +type PrivateLinkServiceResponseV1 struct { + // The access mode of the private link service. + AccessMode *string `pulumi:"accessMode"` + // The alias of the private link service. + Alias string `pulumi:"alias"` + // The auto-approval list of the private link service. + AutoApproval *PrivateLinkServicePropertiesResponseAutoApproval `pulumi:"autoApproval"` + // The destination IP address of the private link service. + DestinationIPAddress *string `pulumi:"destinationIPAddress"` + // Whether the private link service is enabled for proxy protocol or not. + EnableProxyProtocol *bool `pulumi:"enableProxyProtocol"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // The list of Fqdn. + Fqdns []string `pulumi:"fqdns"` + // Resource ID. + Id *string `pulumi:"id"` + // An array of private link service IP configurations. + IpConfigurations []PrivateLinkServiceIpConfigurationResponse `pulumi:"ipConfigurations"` + // An array of references to the load balancer IP configurations. + LoadBalancerFrontendIpConfigurations []FrontendIPConfigurationResponse `pulumi:"loadBalancerFrontendIpConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // An array of references to the network interfaces created for this private link service. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // An array of list about connections to the private endpoint. + PrivateEndpointConnections []PrivateEndpointConnectionResponse `pulumi:"privateEndpointConnections"` + // The provisioning state of the private link service resource. + ProvisioningState string `pulumi:"provisioningState"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // The visibility list of the private link service. + Visibility *PrivateLinkServicePropertiesResponseVisibility `pulumi:"visibility"` +} - return &tmp +// Private link service resource. +type PrivateLinkServiceResponseV1Output struct{ *pulumi.OutputState } + +func (PrivateLinkServiceResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceResponseV1)(nil)).Elem() } -// RouteTargetAddressPropertiesFormatInput is an input type that accepts RouteTargetAddressPropertiesFormatArgs and RouteTargetAddressPropertiesFormatOutput values. -// You can construct a concrete instance of `RouteTargetAddressPropertiesFormatInput` via: -// -// RouteTargetAddressPropertiesFormatArgs{...} -type RouteTargetAddressPropertiesFormatInput interface { - pulumi.Input - - ToRouteTargetAddressPropertiesFormatOutput() RouteTargetAddressPropertiesFormatOutput - ToRouteTargetAddressPropertiesFormatOutputWithContext(context.Context) RouteTargetAddressPropertiesFormatOutput +func (o PrivateLinkServiceResponseV1Output) ToPrivateLinkServiceResponseV1Output() PrivateLinkServiceResponseV1Output { + return o } -// Properties of route target address -type RouteTargetAddressPropertiesFormatArgs struct { - // The private IPv4 or IPv6 address of the service gateway route target address. - PrivateIPAddress pulumi.StringPtrInput `pulumi:"privateIPAddress"` - // The Private IP allocation method. - PrivateIPAllocationMethod pulumi.StringPtrInput `pulumi:"privateIPAllocationMethod"` - // The reference to the subnet resource. - Subnet SubnetTypePtrInput `pulumi:"subnet"` +func (o PrivateLinkServiceResponseV1Output) ToPrivateLinkServiceResponseV1OutputWithContext(ctx context.Context) PrivateLinkServiceResponseV1Output { + return o } -// Defaults sets the appropriate defaults for RouteTargetAddressPropertiesFormatArgs -func (val *RouteTargetAddressPropertiesFormatArgs) Defaults() *RouteTargetAddressPropertiesFormatArgs { - if val == nil { - return nil - } - tmp := *val - - return &tmp -} -func (RouteTargetAddressPropertiesFormatArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTargetAddressPropertiesFormat)(nil)).Elem() +// The access mode of the private link service. +func (o PrivateLinkServiceResponseV1Output) AccessMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *string { return v.AccessMode }).(pulumi.StringPtrOutput) } -func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatOutput() RouteTargetAddressPropertiesFormatOutput { - return i.ToRouteTargetAddressPropertiesFormatOutputWithContext(context.Background()) +// The alias of the private link service. +func (o PrivateLinkServiceResponseV1Output) Alias() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) string { return v.Alias }).(pulumi.StringOutput) } -func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTargetAddressPropertiesFormatOutput) +// The auto-approval list of the private link service. +func (o PrivateLinkServiceResponseV1Output) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *PrivateLinkServicePropertiesResponseAutoApproval { + return v.AutoApproval + }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) } -func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { - return i.ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Background()) +// The destination IP address of the private link service. +func (o PrivateLinkServiceResponseV1Output) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *string { return v.DestinationIPAddress }).(pulumi.StringPtrOutput) } -func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTargetAddressPropertiesFormatOutput).ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx) +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceResponseV1Output) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *bool { return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) } -// RouteTargetAddressPropertiesFormatPtrInput is an input type that accepts RouteTargetAddressPropertiesFormatArgs, RouteTargetAddressPropertiesFormatPtr and RouteTargetAddressPropertiesFormatPtrOutput values. -// You can construct a concrete instance of `RouteTargetAddressPropertiesFormatPtrInput` via: -// -// RouteTargetAddressPropertiesFormatArgs{...} -// -// or: -// -// nil -type RouteTargetAddressPropertiesFormatPtrInput interface { - pulumi.Input - - ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput - ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Context) RouteTargetAddressPropertiesFormatPtrOutput +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateLinkServiceResponseV1Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) string { return v.Etag }).(pulumi.StringOutput) } -type routeTargetAddressPropertiesFormatPtrType RouteTargetAddressPropertiesFormatArgs - -func RouteTargetAddressPropertiesFormatPtr(v *RouteTargetAddressPropertiesFormatArgs) RouteTargetAddressPropertiesFormatPtrInput { - return (*routeTargetAddressPropertiesFormatPtrType)(v) +// The extended location of the load balancer. +func (o PrivateLinkServiceResponseV1Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (*routeTargetAddressPropertiesFormatPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteTargetAddressPropertiesFormat)(nil)).Elem() +// The list of Fqdn. +func (o PrivateLinkServiceResponseV1Output) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) []string { return v.Fqdns }).(pulumi.StringArrayOutput) } -func (i *routeTargetAddressPropertiesFormatPtrType) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { - return i.ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Background()) +// Resource ID. +func (o PrivateLinkServiceResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (i *routeTargetAddressPropertiesFormatPtrType) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTargetAddressPropertiesFormatPtrOutput) +// An array of private link service IP configurations. +func (o PrivateLinkServiceResponseV1Output) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) []PrivateLinkServiceIpConfigurationResponse { + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) } -// Properties of route target address -type RouteTargetAddressPropertiesFormatOutput struct{ *pulumi.OutputState } +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceResponseV1Output) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) []FrontendIPConfigurationResponse { + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationResponseArrayOutput) +} -func (RouteTargetAddressPropertiesFormatOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTargetAddressPropertiesFormat)(nil)).Elem() +// Resource location. +func (o PrivateLinkServiceResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatOutput() RouteTargetAddressPropertiesFormatOutput { - return o +// Resource name. +func (o PrivateLinkServiceResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) string { return v.Name }).(pulumi.StringOutput) } -func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatOutput { - return o +// An array of references to the network interfaces created for this private link service. +func (o PrivateLinkServiceResponseV1Output) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { - return o.ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Background()) +// An array of list about connections to the private endpoint. +func (o PrivateLinkServiceResponseV1Output) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) []PrivateEndpointConnectionResponse { + return v.PrivateEndpointConnections + }).(PrivateEndpointConnectionResponseArrayOutput) } -func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteTargetAddressPropertiesFormat) *RouteTargetAddressPropertiesFormat { - return &v - }).(RouteTargetAddressPropertiesFormatPtrOutput) +// The provisioning state of the private link service resource. +func (o PrivateLinkServiceResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The private IPv4 or IPv6 address of the service gateway route target address. -func (o RouteTargetAddressPropertiesFormatOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTargetAddressPropertiesFormat) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +// Resource tags. +func (o PrivateLinkServiceResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// The Private IP allocation method. -func (o RouteTargetAddressPropertiesFormatOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTargetAddressPropertiesFormat) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +// Resource type. +func (o PrivateLinkServiceResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) string { return v.Type }).(pulumi.StringOutput) } -// The reference to the subnet resource. -func (o RouteTargetAddressPropertiesFormatOutput) Subnet() SubnetTypePtrOutput { - return o.ApplyT(func(v RouteTargetAddressPropertiesFormat) *SubnetType { return v.Subnet }).(SubnetTypePtrOutput) +// The visibility list of the private link service. +func (o PrivateLinkServiceResponseV1Output) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV1) *PrivateLinkServicePropertiesResponseVisibility { + return v.Visibility + }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) } -type RouteTargetAddressPropertiesFormatPtrOutput struct{ *pulumi.OutputState } +type PrivateLinkServiceResponseV1PtrOutput struct{ *pulumi.OutputState } -func (RouteTargetAddressPropertiesFormatPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteTargetAddressPropertiesFormat)(nil)).Elem() +func (PrivateLinkServiceResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceResponseV1)(nil)).Elem() } -func (o RouteTargetAddressPropertiesFormatPtrOutput) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { +func (o PrivateLinkServiceResponseV1PtrOutput) ToPrivateLinkServiceResponseV1PtrOutput() PrivateLinkServiceResponseV1PtrOutput { return o } -func (o RouteTargetAddressPropertiesFormatPtrOutput) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { +func (o PrivateLinkServiceResponseV1PtrOutput) ToPrivateLinkServiceResponseV1PtrOutputWithContext(ctx context.Context) PrivateLinkServiceResponseV1PtrOutput { return o } -func (o RouteTargetAddressPropertiesFormatPtrOutput) Elem() RouteTargetAddressPropertiesFormatOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) RouteTargetAddressPropertiesFormat { +func (o PrivateLinkServiceResponseV1PtrOutput) Elem() PrivateLinkServiceResponseV1Output { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) PrivateLinkServiceResponseV1 { if v != nil { return *v } - var ret RouteTargetAddressPropertiesFormat + var ret PrivateLinkServiceResponseV1 return ret - }).(RouteTargetAddressPropertiesFormatOutput) + }).(PrivateLinkServiceResponseV1Output) } -// The private IPv4 or IPv6 address of the service gateway route target address. -func (o RouteTargetAddressPropertiesFormatPtrOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) *string { +// The access mode of the private link service. +func (o PrivateLinkServiceResponseV1PtrOutput) AccessMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { if v == nil { return nil } - return v.PrivateIPAddress + return v.AccessMode }).(pulumi.StringPtrOutput) } -// The Private IP allocation method. -func (o RouteTargetAddressPropertiesFormatPtrOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) *string { +// The alias of the private link service. +func (o PrivateLinkServiceResponseV1PtrOutput) Alias() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { if v == nil { return nil } - return v.PrivateIPAllocationMethod + return &v.Alias }).(pulumi.StringPtrOutput) } -// The reference to the subnet resource. -func (o RouteTargetAddressPropertiesFormatPtrOutput) Subnet() SubnetTypePtrOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) *SubnetType { +// The auto-approval list of the private link service. +func (o PrivateLinkServiceResponseV1PtrOutput) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *PrivateLinkServicePropertiesResponseAutoApproval { if v == nil { return nil } - return v.Subnet - }).(SubnetTypePtrOutput) -} - -// Properties of route target address -type RouteTargetAddressPropertiesFormatResponse struct { - // The private IPv4 or IPv6 address of the service gateway route target address. - PrivateIPAddress *string `pulumi:"privateIPAddress"` - // The Private IP allocation method. - PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` - // The reference to the subnet resource. - Subnet *SubnetResponse `pulumi:"subnet"` + return v.AutoApproval + }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) } -// Defaults sets the appropriate defaults for RouteTargetAddressPropertiesFormatResponse -func (val *RouteTargetAddressPropertiesFormatResponse) Defaults() *RouteTargetAddressPropertiesFormatResponse { - if val == nil { - return nil - } - tmp := *val - tmp.Subnet = tmp.Subnet.Defaults() - - return &tmp +// The destination IP address of the private link service. +func (o PrivateLinkServiceResponseV1PtrOutput) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { + if v == nil { + return nil + } + return v.DestinationIPAddress + }).(pulumi.StringPtrOutput) } -// Properties of route target address -type RouteTargetAddressPropertiesFormatResponseOutput struct{ *pulumi.OutputState } - -func (RouteTargetAddressPropertiesFormatResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTargetAddressPropertiesFormatResponse)(nil)).Elem() +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceResponseV1PtrOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *bool { + if v == nil { + return nil + } + return v.EnableProxyProtocol + }).(pulumi.BoolPtrOutput) } -func (o RouteTargetAddressPropertiesFormatResponseOutput) ToRouteTargetAddressPropertiesFormatResponseOutput() RouteTargetAddressPropertiesFormatResponseOutput { - return o +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateLinkServiceResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) } -func (o RouteTargetAddressPropertiesFormatResponseOutput) ToRouteTargetAddressPropertiesFormatResponseOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatResponseOutput { - return o +// The extended location of the load balancer. +func (o PrivateLinkServiceResponseV1PtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *ExtendedLocationResponse { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationResponsePtrOutput) } -// The private IPv4 or IPv6 address of the service gateway route target address. -func (o RouteTargetAddressPropertiesFormatResponseOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTargetAddressPropertiesFormatResponse) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +// The list of Fqdn. +func (o PrivateLinkServiceResponseV1PtrOutput) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) []string { + if v == nil { + return nil + } + return v.Fqdns + }).(pulumi.StringArrayOutput) } -// The Private IP allocation method. -func (o RouteTargetAddressPropertiesFormatResponseOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTargetAddressPropertiesFormatResponse) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +// Resource ID. +func (o PrivateLinkServiceResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -// The reference to the subnet resource. -func (o RouteTargetAddressPropertiesFormatResponseOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v RouteTargetAddressPropertiesFormatResponse) *SubnetResponse { return v.Subnet }).(SubnetResponsePtrOutput) +// An array of private link service IP configurations. +func (o PrivateLinkServiceResponseV1PtrOutput) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) []PrivateLinkServiceIpConfigurationResponse { + if v == nil { + return nil + } + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) } -type RouteTargetAddressPropertiesFormatResponsePtrOutput struct{ *pulumi.OutputState } - -func (RouteTargetAddressPropertiesFormatResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteTargetAddressPropertiesFormatResponse)(nil)).Elem() +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceResponseV1PtrOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) []FrontendIPConfigurationResponse { + if v == nil { + return nil + } + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationResponseArrayOutput) } -func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) ToRouteTargetAddressPropertiesFormatResponsePtrOutput() RouteTargetAddressPropertiesFormatResponsePtrOutput { - return o +// Resource location. +func (o PrivateLinkServiceResponseV1PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) ToRouteTargetAddressPropertiesFormatResponsePtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatResponsePtrOutput { - return o +// Resource name. +func (o PrivateLinkServiceResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) Elem() RouteTargetAddressPropertiesFormatResponseOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) RouteTargetAddressPropertiesFormatResponse { - if v != nil { - return *v +// An array of references to the network interfaces created for this private link service. +func (o PrivateLinkServiceResponseV1PtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) []NetworkInterfaceResponse { + if v == nil { + return nil } - var ret RouteTargetAddressPropertiesFormatResponse - return ret - }).(RouteTargetAddressPropertiesFormatResponseOutput) + return v.NetworkInterfaces + }).(NetworkInterfaceResponseArrayOutput) } -// The private IPv4 or IPv6 address of the service gateway route target address. -func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) PrivateIPAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) *string { +// An array of list about connections to the private endpoint. +func (o PrivateLinkServiceResponseV1PtrOutput) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) []PrivateEndpointConnectionResponse { if v == nil { return nil } - return v.PrivateIPAddress - }).(pulumi.StringPtrOutput) + return v.PrivateEndpointConnections + }).(PrivateEndpointConnectionResponseArrayOutput) } -// The Private IP allocation method. -func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) *string { +// The provisioning state of the private link service resource. +func (o PrivateLinkServiceResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { if v == nil { return nil } - return v.PrivateIPAllocationMethod + return &v.ProvisioningState }).(pulumi.StringPtrOutput) } -// The reference to the subnet resource. -func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) *SubnetResponse { +// Resource tags. +func (o PrivateLinkServiceResponseV1PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) map[string]string { if v == nil { return nil } - return v.Subnet - }).(SubnetResponsePtrOutput) + return v.Tags + }).(pulumi.StringMapOutput) } -// Routing Configuration indicating the associated and propagated route tables for this connection. -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. - InboundRouteMap *SubResource `pulumi:"inboundRouteMap"` - // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. - OutboundRouteMap *SubResource `pulumi:"outboundRouteMap"` - // The list of RouteTables to advertise the routes to. - PropagatedRouteTables *PropagatedRouteTable `pulumi:"propagatedRouteTables"` - // List of routes that control routing from VirtualHub into a virtual network connection. - VnetRoutes *VnetRoute `pulumi:"vnetRoutes"` +// Resource type. +func (o PrivateLinkServiceResponseV1PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// RoutingConfigurationTypeInput is an input type that accepts RoutingConfigurationTypeArgs and RoutingConfigurationTypeOutput values. -// You can construct a concrete instance of `RoutingConfigurationTypeInput` via: -// -// RoutingConfigurationTypeArgs{...} -type RoutingConfigurationTypeInput interface { - pulumi.Input - - ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput - ToRoutingConfigurationTypeOutputWithContext(context.Context) RoutingConfigurationTypeOutput +// The visibility list of the private link service. +func (o PrivateLinkServiceResponseV1PtrOutput) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV1) *PrivateLinkServicePropertiesResponseVisibility { + if v == nil { + return nil + } + return v.Visibility + }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) } -// Routing Configuration indicating the associated and propagated route tables for this connection. -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. - InboundRouteMap SubResourcePtrInput `pulumi:"inboundRouteMap"` - // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. - OutboundRouteMap SubResourcePtrInput `pulumi:"outboundRouteMap"` - // The list of RouteTables to advertise the routes to. - PropagatedRouteTables PropagatedRouteTablePtrInput `pulumi:"propagatedRouteTables"` - // List of routes that control routing from VirtualHub into a virtual network connection. - VnetRoutes VnetRoutePtrInput `pulumi:"vnetRoutes"` +// Private link service resource. +type PrivateLinkServiceResponseV2 struct { + // The access mode of the private link service. + AccessMode *string `pulumi:"accessMode"` + // The alias of the private link service. + Alias string `pulumi:"alias"` + // The auto-approval list of the private link service. + AutoApproval *PrivateLinkServicePropertiesResponseAutoApproval `pulumi:"autoApproval"` + // The destination IP address of the private link service. + DestinationIPAddress *string `pulumi:"destinationIPAddress"` + // Whether the private link service is enabled for proxy protocol or not. + EnableProxyProtocol *bool `pulumi:"enableProxyProtocol"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the load balancer. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // The list of Fqdn. + Fqdns []string `pulumi:"fqdns"` + // Resource ID. + Id *string `pulumi:"id"` + // An array of private link service IP configurations. + IpConfigurations []PrivateLinkServiceIpConfigurationResponse `pulumi:"ipConfigurations"` + // An array of references to the load balancer IP configurations. + LoadBalancerFrontendIpConfigurations []FrontendIPConfigurationResponse `pulumi:"loadBalancerFrontendIpConfigurations"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // An array of references to the network interfaces created for this private link service. + NetworkInterfaces []NetworkInterfaceResponse `pulumi:"networkInterfaces"` + // An array of list about connections to the private endpoint. + PrivateEndpointConnections []PrivateEndpointConnectionResponse `pulumi:"privateEndpointConnections"` + // The provisioning state of the private link service resource. + ProvisioningState string `pulumi:"provisioningState"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // The visibility list of the private link service. + Visibility *PrivateLinkServicePropertiesResponseVisibility `pulumi:"visibility"` } -func (RoutingConfigurationTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingConfigurationType)(nil)).Elem() -} +// Private link service resource. +type PrivateLinkServiceResponseV2Output struct{ *pulumi.OutputState } -func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput { - return i.ToRoutingConfigurationTypeOutputWithContext(context.Background()) +func (PrivateLinkServiceResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkServiceResponseV2)(nil)).Elem() } -func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypeOutputWithContext(ctx context.Context) RoutingConfigurationTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypeOutput) +func (o PrivateLinkServiceResponseV2Output) ToPrivateLinkServiceResponseV2Output() PrivateLinkServiceResponseV2Output { + return o } -func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { - return i.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) +func (o PrivateLinkServiceResponseV2Output) ToPrivateLinkServiceResponseV2OutputWithContext(ctx context.Context) PrivateLinkServiceResponseV2Output { + return o } -func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypeOutput).ToRoutingConfigurationTypePtrOutputWithContext(ctx) +// The access mode of the private link service. +func (o PrivateLinkServiceResponseV2Output) AccessMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *string { return v.AccessMode }).(pulumi.StringPtrOutput) } -// RoutingConfigurationTypePtrInput is an input type that accepts RoutingConfigurationTypeArgs, RoutingConfigurationTypePtr and RoutingConfigurationTypePtrOutput values. -// You can construct a concrete instance of `RoutingConfigurationTypePtrInput` via: -// -// RoutingConfigurationTypeArgs{...} -// -// or: -// -// nil -type RoutingConfigurationTypePtrInput interface { - pulumi.Input +// The alias of the private link service. +func (o PrivateLinkServiceResponseV2Output) Alias() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) string { return v.Alias }).(pulumi.StringOutput) +} - ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput - ToRoutingConfigurationTypePtrOutputWithContext(context.Context) RoutingConfigurationTypePtrOutput +// The auto-approval list of the private link service. +func (o PrivateLinkServiceResponseV2Output) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *PrivateLinkServicePropertiesResponseAutoApproval { + return v.AutoApproval + }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) } -type routingConfigurationTypePtrType RoutingConfigurationTypeArgs +// The destination IP address of the private link service. +func (o PrivateLinkServiceResponseV2Output) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *string { return v.DestinationIPAddress }).(pulumi.StringPtrOutput) +} -func RoutingConfigurationTypePtr(v *RoutingConfigurationTypeArgs) RoutingConfigurationTypePtrInput { - return (*routingConfigurationTypePtrType)(v) +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceResponseV2Output) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *bool { return v.EnableProxyProtocol }).(pulumi.BoolPtrOutput) } -func (*routingConfigurationTypePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingConfigurationType)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateLinkServiceResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) string { return v.Etag }).(pulumi.StringOutput) } -func (i *routingConfigurationTypePtrType) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { - return i.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) +// The extended location of the load balancer. +func (o PrivateLinkServiceResponseV2Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (i *routingConfigurationTypePtrType) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypePtrOutput) +// The list of Fqdn. +func (o PrivateLinkServiceResponseV2Output) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) []string { return v.Fqdns }).(pulumi.StringArrayOutput) } -// Routing Configuration indicating the associated and propagated route tables for this connection. -type RoutingConfigurationTypeOutput struct{ *pulumi.OutputState } +// Resource ID. +func (o PrivateLinkServiceResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) +} -func (RoutingConfigurationTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingConfigurationType)(nil)).Elem() +// An array of private link service IP configurations. +func (o PrivateLinkServiceResponseV2Output) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) []PrivateLinkServiceIpConfigurationResponse { + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) } -func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput { - return o +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceResponseV2Output) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) []FrontendIPConfigurationResponse { + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationResponseArrayOutput) } -func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypeOutputWithContext(ctx context.Context) RoutingConfigurationTypeOutput { - return o +// Resource location. +func (o PrivateLinkServiceResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { - return o.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) +// Resource name. +func (o PrivateLinkServiceResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) string { return v.Name }).(pulumi.StringOutput) } -func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingConfigurationType) *RoutingConfigurationType { - return &v - }).(RoutingConfigurationTypePtrOutput) +// An array of references to the network interfaces created for this private link service. +func (o PrivateLinkServiceResponseV2Output) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) []NetworkInterfaceResponse { return v.NetworkInterfaces }).(NetworkInterfaceResponseArrayOutput) } -// The resource id RouteTable associated with this RoutingConfiguration. -func (o RoutingConfigurationTypeOutput) AssociatedRouteTable() SubResourcePtrOutput { - return o.ApplyT(func(v RoutingConfigurationType) *SubResource { return v.AssociatedRouteTable }).(SubResourcePtrOutput) +// An array of list about connections to the private endpoint. +func (o PrivateLinkServiceResponseV2Output) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) []PrivateEndpointConnectionResponse { + return v.PrivateEndpointConnections + }).(PrivateEndpointConnectionResponseArrayOutput) } -// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. -func (o RoutingConfigurationTypeOutput) InboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v RoutingConfigurationType) *SubResource { return v.InboundRouteMap }).(SubResourcePtrOutput) +// The provisioning state of the private link service resource. +func (o PrivateLinkServiceResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. -func (o RoutingConfigurationTypeOutput) OutboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v RoutingConfigurationType) *SubResource { return v.OutboundRouteMap }).(SubResourcePtrOutput) +// Resource tags. +func (o PrivateLinkServiceResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// The list of RouteTables to advertise the routes to. -func (o RoutingConfigurationTypeOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { - return o.ApplyT(func(v RoutingConfigurationType) *PropagatedRouteTable { return v.PropagatedRouteTables }).(PropagatedRouteTablePtrOutput) +// Resource type. +func (o PrivateLinkServiceResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) string { return v.Type }).(pulumi.StringOutput) } -// List of routes that control routing from VirtualHub into a virtual network connection. -func (o RoutingConfigurationTypeOutput) VnetRoutes() VnetRoutePtrOutput { - return o.ApplyT(func(v RoutingConfigurationType) *VnetRoute { return v.VnetRoutes }).(VnetRoutePtrOutput) +// The visibility list of the private link service. +func (o PrivateLinkServiceResponseV2Output) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { + return o.ApplyT(func(v PrivateLinkServiceResponseV2) *PrivateLinkServicePropertiesResponseVisibility { + return v.Visibility + }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) } -type RoutingConfigurationTypePtrOutput struct{ *pulumi.OutputState } +type PrivateLinkServiceResponseV2PtrOutput struct{ *pulumi.OutputState } -func (RoutingConfigurationTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingConfigurationType)(nil)).Elem() +func (PrivateLinkServiceResponseV2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkServiceResponseV2)(nil)).Elem() } -func (o RoutingConfigurationTypePtrOutput) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { +func (o PrivateLinkServiceResponseV2PtrOutput) ToPrivateLinkServiceResponseV2PtrOutput() PrivateLinkServiceResponseV2PtrOutput { return o } -func (o RoutingConfigurationTypePtrOutput) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { +func (o PrivateLinkServiceResponseV2PtrOutput) ToPrivateLinkServiceResponseV2PtrOutputWithContext(ctx context.Context) PrivateLinkServiceResponseV2PtrOutput { return o } -func (o RoutingConfigurationTypePtrOutput) Elem() RoutingConfigurationTypeOutput { - return o.ApplyT(func(v *RoutingConfigurationType) RoutingConfigurationType { +func (o PrivateLinkServiceResponseV2PtrOutput) Elem() PrivateLinkServiceResponseV2Output { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) PrivateLinkServiceResponseV2 { if v != nil { return *v } - var ret RoutingConfigurationType + var ret PrivateLinkServiceResponseV2 return ret - }).(RoutingConfigurationTypeOutput) + }).(PrivateLinkServiceResponseV2Output) } -// The resource id RouteTable associated with this RoutingConfiguration. -func (o RoutingConfigurationTypePtrOutput) AssociatedRouteTable() SubResourcePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { +// The access mode of the private link service. +func (o PrivateLinkServiceResponseV2PtrOutput) AccessMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { if v == nil { return nil } - return v.AssociatedRouteTable - }).(SubResourcePtrOutput) + return v.AccessMode + }).(pulumi.StringPtrOutput) } -// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. -func (o RoutingConfigurationTypePtrOutput) InboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { +// The alias of the private link service. +func (o PrivateLinkServiceResponseV2PtrOutput) Alias() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { if v == nil { return nil } - return v.InboundRouteMap - }).(SubResourcePtrOutput) + return &v.Alias + }).(pulumi.StringPtrOutput) } -// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. -func (o RoutingConfigurationTypePtrOutput) OutboundRouteMap() SubResourcePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { +// The auto-approval list of the private link service. +func (o PrivateLinkServiceResponseV2PtrOutput) AutoApproval() PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *PrivateLinkServicePropertiesResponseAutoApproval { if v == nil { return nil } - return v.OutboundRouteMap - }).(SubResourcePtrOutput) + return v.AutoApproval + }).(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput) } -// The list of RouteTables to advertise the routes to. -func (o RoutingConfigurationTypePtrOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationType) *PropagatedRouteTable { +// The destination IP address of the private link service. +func (o PrivateLinkServiceResponseV2PtrOutput) DestinationIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { if v == nil { return nil } - return v.PropagatedRouteTables - }).(PropagatedRouteTablePtrOutput) + return v.DestinationIPAddress + }).(pulumi.StringPtrOutput) } -// List of routes that control routing from VirtualHub into a virtual network connection. -func (o RoutingConfigurationTypePtrOutput) VnetRoutes() VnetRoutePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationType) *VnetRoute { +// Whether the private link service is enabled for proxy protocol or not. +func (o PrivateLinkServiceResponseV2PtrOutput) EnableProxyProtocol() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *bool { if v == nil { return nil } - return v.VnetRoutes - }).(VnetRoutePtrOutput) -} - -// Routing Configuration indicating the associated and propagated route tables for this connection. -type RoutingConfigurationResponse struct { - // The resource id RouteTable associated with this RoutingConfiguration. - AssociatedRouteTable *SubResourceResponse `pulumi:"associatedRouteTable"` - // The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. - InboundRouteMap *SubResourceResponse `pulumi:"inboundRouteMap"` - // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. - OutboundRouteMap *SubResourceResponse `pulumi:"outboundRouteMap"` - // The list of RouteTables to advertise the routes to. - PropagatedRouteTables *PropagatedRouteTableResponse `pulumi:"propagatedRouteTables"` - // List of routes that control routing from VirtualHub into a virtual network connection. - VnetRoutes *VnetRouteResponse `pulumi:"vnetRoutes"` -} - -// Routing Configuration indicating the associated and propagated route tables for this connection. -type RoutingConfigurationResponseOutput struct{ *pulumi.OutputState } - -func (RoutingConfigurationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingConfigurationResponse)(nil)).Elem() -} - -func (o RoutingConfigurationResponseOutput) ToRoutingConfigurationResponseOutput() RoutingConfigurationResponseOutput { - return o -} - -func (o RoutingConfigurationResponseOutput) ToRoutingConfigurationResponseOutputWithContext(ctx context.Context) RoutingConfigurationResponseOutput { - return o -} - -// The resource id RouteTable associated with this RoutingConfiguration. -func (o RoutingConfigurationResponseOutput) AssociatedRouteTable() SubResourceResponsePtrOutput { - return o.ApplyT(func(v RoutingConfigurationResponse) *SubResourceResponse { return v.AssociatedRouteTable }).(SubResourceResponsePtrOutput) -} - -// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. -func (o RoutingConfigurationResponseOutput) InboundRouteMap() SubResourceResponsePtrOutput { - return o.ApplyT(func(v RoutingConfigurationResponse) *SubResourceResponse { return v.InboundRouteMap }).(SubResourceResponsePtrOutput) -} - -// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. -func (o RoutingConfigurationResponseOutput) OutboundRouteMap() SubResourceResponsePtrOutput { - return o.ApplyT(func(v RoutingConfigurationResponse) *SubResourceResponse { return v.OutboundRouteMap }).(SubResourceResponsePtrOutput) -} - -// The list of RouteTables to advertise the routes to. -func (o RoutingConfigurationResponseOutput) PropagatedRouteTables() PropagatedRouteTableResponsePtrOutput { - return o.ApplyT(func(v RoutingConfigurationResponse) *PropagatedRouteTableResponse { return v.PropagatedRouteTables }).(PropagatedRouteTableResponsePtrOutput) + return v.EnableProxyProtocol + }).(pulumi.BoolPtrOutput) } -// List of routes that control routing from VirtualHub into a virtual network connection. -func (o RoutingConfigurationResponseOutput) VnetRoutes() VnetRouteResponsePtrOutput { - return o.ApplyT(func(v RoutingConfigurationResponse) *VnetRouteResponse { return v.VnetRoutes }).(VnetRouteResponsePtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o PrivateLinkServiceResponseV2PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) } -type RoutingConfigurationResponsePtrOutput struct{ *pulumi.OutputState } - -func (RoutingConfigurationResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingConfigurationResponse)(nil)).Elem() +// The extended location of the load balancer. +func (o PrivateLinkServiceResponseV2PtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *ExtendedLocationResponse { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationResponsePtrOutput) } -func (o RoutingConfigurationResponsePtrOutput) ToRoutingConfigurationResponsePtrOutput() RoutingConfigurationResponsePtrOutput { - return o +// The list of Fqdn. +func (o PrivateLinkServiceResponseV2PtrOutput) Fqdns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) []string { + if v == nil { + return nil + } + return v.Fqdns + }).(pulumi.StringArrayOutput) } -func (o RoutingConfigurationResponsePtrOutput) ToRoutingConfigurationResponsePtrOutputWithContext(ctx context.Context) RoutingConfigurationResponsePtrOutput { - return o +// Resource ID. +func (o PrivateLinkServiceResponseV2PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -func (o RoutingConfigurationResponsePtrOutput) Elem() RoutingConfigurationResponseOutput { - return o.ApplyT(func(v *RoutingConfigurationResponse) RoutingConfigurationResponse { - if v != nil { - return *v +// An array of private link service IP configurations. +func (o PrivateLinkServiceResponseV2PtrOutput) IpConfigurations() PrivateLinkServiceIpConfigurationResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) []PrivateLinkServiceIpConfigurationResponse { + if v == nil { + return nil } - var ret RoutingConfigurationResponse - return ret - }).(RoutingConfigurationResponseOutput) + return v.IpConfigurations + }).(PrivateLinkServiceIpConfigurationResponseArrayOutput) } -// The resource id RouteTable associated with this RoutingConfiguration. -func (o RoutingConfigurationResponsePtrOutput) AssociatedRouteTable() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationResponse) *SubResourceResponse { +// An array of references to the load balancer IP configurations. +func (o PrivateLinkServiceResponseV2PtrOutput) LoadBalancerFrontendIpConfigurations() FrontendIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) []FrontendIPConfigurationResponse { if v == nil { return nil } - return v.AssociatedRouteTable - }).(SubResourceResponsePtrOutput) + return v.LoadBalancerFrontendIpConfigurations + }).(FrontendIPConfigurationResponseArrayOutput) } -// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. -func (o RoutingConfigurationResponsePtrOutput) InboundRouteMap() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationResponse) *SubResourceResponse { +// Resource location. +func (o PrivateLinkServiceResponseV2PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { if v == nil { return nil } - return v.InboundRouteMap - }).(SubResourceResponsePtrOutput) + return v.Location + }).(pulumi.StringPtrOutput) } -// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. -func (o RoutingConfigurationResponsePtrOutput) OutboundRouteMap() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationResponse) *SubResourceResponse { +// Resource name. +func (o PrivateLinkServiceResponseV2PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { if v == nil { return nil } - return v.OutboundRouteMap - }).(SubResourceResponsePtrOutput) + return &v.Name + }).(pulumi.StringPtrOutput) } -// The list of RouteTables to advertise the routes to. -func (o RoutingConfigurationResponsePtrOutput) PropagatedRouteTables() PropagatedRouteTableResponsePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationResponse) *PropagatedRouteTableResponse { +// An array of references to the network interfaces created for this private link service. +func (o PrivateLinkServiceResponseV2PtrOutput) NetworkInterfaces() NetworkInterfaceResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) []NetworkInterfaceResponse { if v == nil { return nil } - return v.PropagatedRouteTables - }).(PropagatedRouteTableResponsePtrOutput) + return v.NetworkInterfaces + }).(NetworkInterfaceResponseArrayOutput) } -// List of routes that control routing from VirtualHub into a virtual network connection. -func (o RoutingConfigurationResponsePtrOutput) VnetRoutes() VnetRouteResponsePtrOutput { - return o.ApplyT(func(v *RoutingConfigurationResponse) *VnetRouteResponse { +// An array of list about connections to the private endpoint. +func (o PrivateLinkServiceResponseV2PtrOutput) PrivateEndpointConnections() PrivateEndpointConnectionResponseArrayOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) []PrivateEndpointConnectionResponse { if v == nil { return nil } - return v.VnetRoutes - }).(VnetRouteResponsePtrOutput) + return v.PrivateEndpointConnections + }).(PrivateEndpointConnectionResponseArrayOutput) } -// The routing policy object used in a RoutingIntent resource. -type RoutingPolicy struct { - // List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). - Destinations []string `pulumi:"destinations"` - // The unique name for the routing policy. - Name string `pulumi:"name"` - // The next hop resource id on which this routing policy is applicable to. - NextHop string `pulumi:"nextHop"` +// The provisioning state of the private link service resource. +func (o PrivateLinkServiceResponseV2PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) } -// RoutingPolicyInput is an input type that accepts RoutingPolicyArgs and RoutingPolicyOutput values. -// You can construct a concrete instance of `RoutingPolicyInput` via: +// Resource tags. +func (o PrivateLinkServiceResponseV2PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o PrivateLinkServiceResponseV2PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// The visibility list of the private link service. +func (o PrivateLinkServiceResponseV2PtrOutput) Visibility() PrivateLinkServicePropertiesResponseVisibilityPtrOutput { + return o.ApplyT(func(v *PrivateLinkServiceResponseV2) *PrivateLinkServicePropertiesResponseVisibility { + if v == nil { + return nil + } + return v.Visibility + }).(PrivateLinkServicePropertiesResponseVisibilityPtrOutput) +} + +// A load balancer probe. +type Probe struct { + // Resource ID. + Id *string `pulumi:"id"` + // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. + IntervalInSeconds *int `pulumi:"intervalInSeconds"` + // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + Name *string `pulumi:"name"` + // Determines how new connections are handled by the load balancer when all backend instances are probed down. + NoHealthyBackendsBehavior *string `pulumi:"noHealthyBackendsBehavior"` + // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. + NumberOfProbes *int `pulumi:"numberOfProbes"` + // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. + Port int `pulumi:"port"` + // The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + ProbeThreshold *int `pulumi:"probeThreshold"` + // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. + Protocol string `pulumi:"protocol"` + // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. + RequestPath *string `pulumi:"requestPath"` +} + +// ProbeInput is an input type that accepts ProbeArgs and ProbeOutput values. +// You can construct a concrete instance of `ProbeInput` via: // -// RoutingPolicyArgs{...} -type RoutingPolicyInput interface { +// ProbeArgs{...} +type ProbeInput interface { pulumi.Input - ToRoutingPolicyOutput() RoutingPolicyOutput - ToRoutingPolicyOutputWithContext(context.Context) RoutingPolicyOutput + ToProbeOutput() ProbeOutput + ToProbeOutputWithContext(context.Context) ProbeOutput } -// The routing policy object used in a RoutingIntent resource. -type RoutingPolicyArgs struct { - // List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). - Destinations pulumi.StringArrayInput `pulumi:"destinations"` - // The unique name for the routing policy. - Name pulumi.StringInput `pulumi:"name"` - // The next hop resource id on which this routing policy is applicable to. - NextHop pulumi.StringInput `pulumi:"nextHop"` +// A load balancer probe. +type ProbeArgs struct { + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. + IntervalInSeconds pulumi.IntPtrInput `pulumi:"intervalInSeconds"` + // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + Name pulumi.StringPtrInput `pulumi:"name"` + // Determines how new connections are handled by the load balancer when all backend instances are probed down. + NoHealthyBackendsBehavior pulumi.StringPtrInput `pulumi:"noHealthyBackendsBehavior"` + // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. + NumberOfProbes pulumi.IntPtrInput `pulumi:"numberOfProbes"` + // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. + Port pulumi.IntInput `pulumi:"port"` + // The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + ProbeThreshold pulumi.IntPtrInput `pulumi:"probeThreshold"` + // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. + RequestPath pulumi.StringPtrInput `pulumi:"requestPath"` } -func (RoutingPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingPolicy)(nil)).Elem() +func (ProbeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Probe)(nil)).Elem() } -func (i RoutingPolicyArgs) ToRoutingPolicyOutput() RoutingPolicyOutput { - return i.ToRoutingPolicyOutputWithContext(context.Background()) +func (i ProbeArgs) ToProbeOutput() ProbeOutput { + return i.ToProbeOutputWithContext(context.Background()) } -func (i RoutingPolicyArgs) ToRoutingPolicyOutputWithContext(ctx context.Context) RoutingPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingPolicyOutput) +func (i ProbeArgs) ToProbeOutputWithContext(ctx context.Context) ProbeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProbeOutput) } -// RoutingPolicyArrayInput is an input type that accepts RoutingPolicyArray and RoutingPolicyArrayOutput values. -// You can construct a concrete instance of `RoutingPolicyArrayInput` via: +// ProbeArrayInput is an input type that accepts ProbeArray and ProbeArrayOutput values. +// You can construct a concrete instance of `ProbeArrayInput` via: // -// RoutingPolicyArray{ RoutingPolicyArgs{...} } -type RoutingPolicyArrayInput interface { +// ProbeArray{ ProbeArgs{...} } +type ProbeArrayInput interface { pulumi.Input - ToRoutingPolicyArrayOutput() RoutingPolicyArrayOutput - ToRoutingPolicyArrayOutputWithContext(context.Context) RoutingPolicyArrayOutput + ToProbeArrayOutput() ProbeArrayOutput + ToProbeArrayOutputWithContext(context.Context) ProbeArrayOutput } -type RoutingPolicyArray []RoutingPolicyInput +type ProbeArray []ProbeInput -func (RoutingPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RoutingPolicy)(nil)).Elem() +func (ProbeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Probe)(nil)).Elem() } -func (i RoutingPolicyArray) ToRoutingPolicyArrayOutput() RoutingPolicyArrayOutput { - return i.ToRoutingPolicyArrayOutputWithContext(context.Background()) +func (i ProbeArray) ToProbeArrayOutput() ProbeArrayOutput { + return i.ToProbeArrayOutputWithContext(context.Background()) } -func (i RoutingPolicyArray) ToRoutingPolicyArrayOutputWithContext(ctx context.Context) RoutingPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingPolicyArrayOutput) +func (i ProbeArray) ToProbeArrayOutputWithContext(ctx context.Context) ProbeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProbeArrayOutput) } -// The routing policy object used in a RoutingIntent resource. -type RoutingPolicyOutput struct{ *pulumi.OutputState } +// A load balancer probe. +type ProbeOutput struct{ *pulumi.OutputState } -func (RoutingPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingPolicy)(nil)).Elem() +func (ProbeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Probe)(nil)).Elem() } -func (o RoutingPolicyOutput) ToRoutingPolicyOutput() RoutingPolicyOutput { +func (o ProbeOutput) ToProbeOutput() ProbeOutput { return o } -func (o RoutingPolicyOutput) ToRoutingPolicyOutputWithContext(ctx context.Context) RoutingPolicyOutput { +func (o ProbeOutput) ToProbeOutputWithContext(ctx context.Context) ProbeOutput { return o } -// List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). -func (o RoutingPolicyOutput) Destinations() pulumi.StringArrayOutput { - return o.ApplyT(func(v RoutingPolicy) []string { return v.Destinations }).(pulumi.StringArrayOutput) +// Resource ID. +func (o ProbeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v Probe) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The unique name for the routing policy. -func (o RoutingPolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v RoutingPolicy) string { return v.Name }).(pulumi.StringOutput) +// The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. +func (o ProbeOutput) IntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v Probe) *int { return v.IntervalInSeconds }).(pulumi.IntPtrOutput) } -// The next hop resource id on which this routing policy is applicable to. -func (o RoutingPolicyOutput) NextHop() pulumi.StringOutput { - return o.ApplyT(func(v RoutingPolicy) string { return v.NextHop }).(pulumi.StringOutput) +// The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. +func (o ProbeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v Probe) *string { return v.Name }).(pulumi.StringPtrOutput) } -type RoutingPolicyArrayOutput struct{ *pulumi.OutputState } +// Determines how new connections are handled by the load balancer when all backend instances are probed down. +func (o ProbeOutput) NoHealthyBackendsBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v Probe) *string { return v.NoHealthyBackendsBehavior }).(pulumi.StringPtrOutput) +} -func (RoutingPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RoutingPolicy)(nil)).Elem() +// The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. +func (o ProbeOutput) NumberOfProbes() pulumi.IntPtrOutput { + return o.ApplyT(func(v Probe) *int { return v.NumberOfProbes }).(pulumi.IntPtrOutput) } -func (o RoutingPolicyArrayOutput) ToRoutingPolicyArrayOutput() RoutingPolicyArrayOutput { - return o +// The port for communicating the probe. Possible values range from 1 to 65535, inclusive. +func (o ProbeOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v Probe) int { return v.Port }).(pulumi.IntOutput) } -func (o RoutingPolicyArrayOutput) ToRoutingPolicyArrayOutputWithContext(ctx context.Context) RoutingPolicyArrayOutput { - return o +// The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. +func (o ProbeOutput) ProbeThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v Probe) *int { return v.ProbeThreshold }).(pulumi.IntPtrOutput) } -func (o RoutingPolicyArrayOutput) Index(i pulumi.IntInput) RoutingPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RoutingPolicy { - return vs[0].([]RoutingPolicy)[vs[1].(int)] - }).(RoutingPolicyOutput) +// The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. +func (o ProbeOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v Probe) string { return v.Protocol }).(pulumi.StringOutput) } -// The routing policy object used in a RoutingIntent resource. -type RoutingPolicyResponse struct { - // List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). - Destinations []string `pulumi:"destinations"` - // The unique name for the routing policy. - Name string `pulumi:"name"` - // The next hop resource id on which this routing policy is applicable to. - NextHop string `pulumi:"nextHop"` +// The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. +func (o ProbeOutput) RequestPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v Probe) *string { return v.RequestPath }).(pulumi.StringPtrOutput) } -// The routing policy object used in a RoutingIntent resource. -type RoutingPolicyResponseOutput struct{ *pulumi.OutputState } +type ProbeArrayOutput struct{ *pulumi.OutputState } -func (RoutingPolicyResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingPolicyResponse)(nil)).Elem() +func (ProbeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Probe)(nil)).Elem() } -func (o RoutingPolicyResponseOutput) ToRoutingPolicyResponseOutput() RoutingPolicyResponseOutput { +func (o ProbeArrayOutput) ToProbeArrayOutput() ProbeArrayOutput { return o } -func (o RoutingPolicyResponseOutput) ToRoutingPolicyResponseOutputWithContext(ctx context.Context) RoutingPolicyResponseOutput { +func (o ProbeArrayOutput) ToProbeArrayOutputWithContext(ctx context.Context) ProbeArrayOutput { return o } -// List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). -func (o RoutingPolicyResponseOutput) Destinations() pulumi.StringArrayOutput { - return o.ApplyT(func(v RoutingPolicyResponse) []string { return v.Destinations }).(pulumi.StringArrayOutput) -} - -// The unique name for the routing policy. -func (o RoutingPolicyResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v RoutingPolicyResponse) string { return v.Name }).(pulumi.StringOutput) +func (o ProbeArrayOutput) Index(i pulumi.IntInput) ProbeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Probe { + return vs[0].([]Probe)[vs[1].(int)] + }).(ProbeOutput) } -// The next hop resource id on which this routing policy is applicable to. -func (o RoutingPolicyResponseOutput) NextHop() pulumi.StringOutput { - return o.ApplyT(func(v RoutingPolicyResponse) string { return v.NextHop }).(pulumi.StringOutput) +// A load balancer probe. +type ProbeResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. + IntervalInSeconds *int `pulumi:"intervalInSeconds"` + // The load balancer rules that use this probe. + LoadBalancingRules []SubResourceResponse `pulumi:"loadBalancingRules"` + // The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + Name *string `pulumi:"name"` + // Determines how new connections are handled by the load balancer when all backend instances are probed down. + NoHealthyBackendsBehavior *string `pulumi:"noHealthyBackendsBehavior"` + // The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. + NumberOfProbes *int `pulumi:"numberOfProbes"` + // The port for communicating the probe. Possible values range from 1 to 65535, inclusive. + Port int `pulumi:"port"` + // The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + ProbeThreshold *int `pulumi:"probeThreshold"` + // The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. + Protocol string `pulumi:"protocol"` + // The provisioning state of the probe resource. + ProvisioningState string `pulumi:"provisioningState"` + // The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. + RequestPath *string `pulumi:"requestPath"` + // Type of the resource. + Type string `pulumi:"type"` } -type RoutingPolicyResponseArrayOutput struct{ *pulumi.OutputState } +// A load balancer probe. +type ProbeResponseOutput struct{ *pulumi.OutputState } -func (RoutingPolicyResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RoutingPolicyResponse)(nil)).Elem() +func (ProbeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProbeResponse)(nil)).Elem() } -func (o RoutingPolicyResponseArrayOutput) ToRoutingPolicyResponseArrayOutput() RoutingPolicyResponseArrayOutput { +func (o ProbeResponseOutput) ToProbeResponseOutput() ProbeResponseOutput { return o } -func (o RoutingPolicyResponseArrayOutput) ToRoutingPolicyResponseArrayOutputWithContext(ctx context.Context) RoutingPolicyResponseArrayOutput { +func (o ProbeResponseOutput) ToProbeResponseOutputWithContext(ctx context.Context) ProbeResponseOutput { return o } -func (o RoutingPolicyResponseArrayOutput) Index(i pulumi.IntInput) RoutingPolicyResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RoutingPolicyResponse { - return vs[0].([]RoutingPolicyResponse)[vs[1].(int)] - }).(RoutingPolicyResponseOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o ProbeResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ProbeResponse) string { return v.Etag }).(pulumi.StringOutput) } -// Next hop. -type RoutingRuleNextHop struct { - // Next hop address. Only required if the next hop type is VirtualAppliance. - NextHopAddress *string `pulumi:"nextHopAddress"` - // Next hop type. - NextHopType string `pulumi:"nextHopType"` +// Resource ID. +func (o ProbeResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProbeResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -// RoutingRuleNextHopInput is an input type that accepts RoutingRuleNextHopArgs and RoutingRuleNextHopOutput values. -// You can construct a concrete instance of `RoutingRuleNextHopInput` via: -// -// RoutingRuleNextHopArgs{...} -type RoutingRuleNextHopInput interface { - pulumi.Input - - ToRoutingRuleNextHopOutput() RoutingRuleNextHopOutput - ToRoutingRuleNextHopOutputWithContext(context.Context) RoutingRuleNextHopOutput +// The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. +func (o ProbeResponseOutput) IntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProbeResponse) *int { return v.IntervalInSeconds }).(pulumi.IntPtrOutput) } -// Next hop. -type RoutingRuleNextHopArgs struct { - // Next hop address. Only required if the next hop type is VirtualAppliance. - NextHopAddress pulumi.StringPtrInput `pulumi:"nextHopAddress"` - // Next hop type. - NextHopType pulumi.StringInput `pulumi:"nextHopType"` +// The load balancer rules that use this probe. +func (o ProbeResponseOutput) LoadBalancingRules() SubResourceResponseArrayOutput { + return o.ApplyT(func(v ProbeResponse) []SubResourceResponse { return v.LoadBalancingRules }).(SubResourceResponseArrayOutput) } -func (RoutingRuleNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingRuleNextHop)(nil)).Elem() +// The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. +func (o ProbeResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProbeResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (i RoutingRuleNextHopArgs) ToRoutingRuleNextHopOutput() RoutingRuleNextHopOutput { - return i.ToRoutingRuleNextHopOutputWithContext(context.Background()) +// Determines how new connections are handled by the load balancer when all backend instances are probed down. +func (o ProbeResponseOutput) NoHealthyBackendsBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProbeResponse) *string { return v.NoHealthyBackendsBehavior }).(pulumi.StringPtrOutput) } -func (i RoutingRuleNextHopArgs) ToRoutingRuleNextHopOutputWithContext(ctx context.Context) RoutingRuleNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingRuleNextHopOutput) +// The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. +func (o ProbeResponseOutput) NumberOfProbes() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProbeResponse) *int { return v.NumberOfProbes }).(pulumi.IntPtrOutput) } -// Next hop. -type RoutingRuleNextHopOutput struct{ *pulumi.OutputState } - -func (RoutingRuleNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingRuleNextHop)(nil)).Elem() +// The port for communicating the probe. Possible values range from 1 to 65535, inclusive. +func (o ProbeResponseOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v ProbeResponse) int { return v.Port }).(pulumi.IntOutput) } -func (o RoutingRuleNextHopOutput) ToRoutingRuleNextHopOutput() RoutingRuleNextHopOutput { - return o +// The number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. +func (o ProbeResponseOutput) ProbeThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v ProbeResponse) *int { return v.ProbeThreshold }).(pulumi.IntPtrOutput) } -func (o RoutingRuleNextHopOutput) ToRoutingRuleNextHopOutputWithContext(ctx context.Context) RoutingRuleNextHopOutput { - return o +// The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. +func (o ProbeResponseOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v ProbeResponse) string { return v.Protocol }).(pulumi.StringOutput) } -// Next hop address. Only required if the next hop type is VirtualAppliance. -func (o RoutingRuleNextHopOutput) NextHopAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RoutingRuleNextHop) *string { return v.NextHopAddress }).(pulumi.StringPtrOutput) +// The provisioning state of the probe resource. +func (o ProbeResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ProbeResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Next hop type. -func (o RoutingRuleNextHopOutput) NextHopType() pulumi.StringOutput { - return o.ApplyT(func(v RoutingRuleNextHop) string { return v.NextHopType }).(pulumi.StringOutput) +// The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. +func (o ProbeResponseOutput) RequestPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProbeResponse) *string { return v.RequestPath }).(pulumi.StringPtrOutput) } -// Next hop. -type RoutingRuleNextHopResponse struct { - // Next hop address. Only required if the next hop type is VirtualAppliance. - NextHopAddress *string `pulumi:"nextHopAddress"` - // Next hop type. - NextHopType string `pulumi:"nextHopType"` +// Type of the resource. +func (o ProbeResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ProbeResponse) string { return v.Type }).(pulumi.StringOutput) } -// Next hop. -type RoutingRuleNextHopResponseOutput struct{ *pulumi.OutputState } +type ProbeResponseArrayOutput struct{ *pulumi.OutputState } -func (RoutingRuleNextHopResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingRuleNextHopResponse)(nil)).Elem() +func (ProbeResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProbeResponse)(nil)).Elem() } -func (o RoutingRuleNextHopResponseOutput) ToRoutingRuleNextHopResponseOutput() RoutingRuleNextHopResponseOutput { +func (o ProbeResponseArrayOutput) ToProbeResponseArrayOutput() ProbeResponseArrayOutput { return o } -func (o RoutingRuleNextHopResponseOutput) ToRoutingRuleNextHopResponseOutputWithContext(ctx context.Context) RoutingRuleNextHopResponseOutput { +func (o ProbeResponseArrayOutput) ToProbeResponseArrayOutputWithContext(ctx context.Context) ProbeResponseArrayOutput { return o } -// Next hop address. Only required if the next hop type is VirtualAppliance. -func (o RoutingRuleNextHopResponseOutput) NextHopAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v RoutingRuleNextHopResponse) *string { return v.NextHopAddress }).(pulumi.StringPtrOutput) -} - -// Next hop type. -func (o RoutingRuleNextHopResponseOutput) NextHopType() pulumi.StringOutput { - return o.ApplyT(func(v RoutingRuleNextHopResponse) string { return v.NextHopType }).(pulumi.StringOutput) +func (o ProbeResponseArrayOutput) Index(i pulumi.IntInput) ProbeResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProbeResponse { + return vs[0].([]ProbeResponse)[vs[1].(int)] + }).(ProbeResponseOutput) } -// Route destination. -type RoutingRuleRouteDestination struct { - // Destination address. - DestinationAddress string `pulumi:"destinationAddress"` - // Destination type. - Type string `pulumi:"type"` +// The list of RouteTables to advertise the routes to. +type PropagatedRouteTable struct { + // The list of resource ids of all the RouteTables. + Ids []SubResource `pulumi:"ids"` + // The list of labels. + Labels []string `pulumi:"labels"` } -// RoutingRuleRouteDestinationInput is an input type that accepts RoutingRuleRouteDestinationArgs and RoutingRuleRouteDestinationOutput values. -// You can construct a concrete instance of `RoutingRuleRouteDestinationInput` via: +// PropagatedRouteTableInput is an input type that accepts PropagatedRouteTableArgs and PropagatedRouteTableOutput values. +// You can construct a concrete instance of `PropagatedRouteTableInput` via: // -// RoutingRuleRouteDestinationArgs{...} -type RoutingRuleRouteDestinationInput interface { +// PropagatedRouteTableArgs{...} +type PropagatedRouteTableInput interface { pulumi.Input - ToRoutingRuleRouteDestinationOutput() RoutingRuleRouteDestinationOutput - ToRoutingRuleRouteDestinationOutputWithContext(context.Context) RoutingRuleRouteDestinationOutput + ToPropagatedRouteTableOutput() PropagatedRouteTableOutput + ToPropagatedRouteTableOutputWithContext(context.Context) PropagatedRouteTableOutput } -// Route destination. -type RoutingRuleRouteDestinationArgs struct { - // Destination address. - DestinationAddress pulumi.StringInput `pulumi:"destinationAddress"` - // Destination type. - Type pulumi.StringInput `pulumi:"type"` +// The list of RouteTables to advertise the routes to. +type PropagatedRouteTableArgs struct { + // The list of resource ids of all the RouteTables. + Ids SubResourceArrayInput `pulumi:"ids"` + // The list of labels. + Labels pulumi.StringArrayInput `pulumi:"labels"` } -func (RoutingRuleRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingRuleRouteDestination)(nil)).Elem() +func (PropagatedRouteTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PropagatedRouteTable)(nil)).Elem() } -func (i RoutingRuleRouteDestinationArgs) ToRoutingRuleRouteDestinationOutput() RoutingRuleRouteDestinationOutput { - return i.ToRoutingRuleRouteDestinationOutputWithContext(context.Background()) +func (i PropagatedRouteTableArgs) ToPropagatedRouteTableOutput() PropagatedRouteTableOutput { + return i.ToPropagatedRouteTableOutputWithContext(context.Background()) } -func (i RoutingRuleRouteDestinationArgs) ToRoutingRuleRouteDestinationOutputWithContext(ctx context.Context) RoutingRuleRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingRuleRouteDestinationOutput) +func (i PropagatedRouteTableArgs) ToPropagatedRouteTableOutputWithContext(ctx context.Context) PropagatedRouteTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(PropagatedRouteTableOutput) } -// Route destination. -type RoutingRuleRouteDestinationOutput struct{ *pulumi.OutputState } +func (i PropagatedRouteTableArgs) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { + return i.ToPropagatedRouteTablePtrOutputWithContext(context.Background()) +} -func (RoutingRuleRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingRuleRouteDestination)(nil)).Elem() +func (i PropagatedRouteTableArgs) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PropagatedRouteTableOutput).ToPropagatedRouteTablePtrOutputWithContext(ctx) } -func (o RoutingRuleRouteDestinationOutput) ToRoutingRuleRouteDestinationOutput() RoutingRuleRouteDestinationOutput { - return o +// PropagatedRouteTablePtrInput is an input type that accepts PropagatedRouteTableArgs, PropagatedRouteTablePtr and PropagatedRouteTablePtrOutput values. +// You can construct a concrete instance of `PropagatedRouteTablePtrInput` via: +// +// PropagatedRouteTableArgs{...} +// +// or: +// +// nil +type PropagatedRouteTablePtrInput interface { + pulumi.Input + + ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput + ToPropagatedRouteTablePtrOutputWithContext(context.Context) PropagatedRouteTablePtrOutput } -func (o RoutingRuleRouteDestinationOutput) ToRoutingRuleRouteDestinationOutputWithContext(ctx context.Context) RoutingRuleRouteDestinationOutput { - return o +type propagatedRouteTablePtrType PropagatedRouteTableArgs + +func PropagatedRouteTablePtr(v *PropagatedRouteTableArgs) PropagatedRouteTablePtrInput { + return (*propagatedRouteTablePtrType)(v) } -// Destination address. -func (o RoutingRuleRouteDestinationOutput) DestinationAddress() pulumi.StringOutput { - return o.ApplyT(func(v RoutingRuleRouteDestination) string { return v.DestinationAddress }).(pulumi.StringOutput) +func (*propagatedRouteTablePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PropagatedRouteTable)(nil)).Elem() } -// Destination type. -func (o RoutingRuleRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v RoutingRuleRouteDestination) string { return v.Type }).(pulumi.StringOutput) +func (i *propagatedRouteTablePtrType) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { + return i.ToPropagatedRouteTablePtrOutputWithContext(context.Background()) } -// Route destination. -type RoutingRuleRouteDestinationResponse struct { - // Destination address. - DestinationAddress string `pulumi:"destinationAddress"` - // Destination type. - Type string `pulumi:"type"` +func (i *propagatedRouteTablePtrType) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PropagatedRouteTablePtrOutput) } -// Route destination. -type RoutingRuleRouteDestinationResponseOutput struct{ *pulumi.OutputState } +// The list of RouteTables to advertise the routes to. +type PropagatedRouteTableOutput struct{ *pulumi.OutputState } -func (RoutingRuleRouteDestinationResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingRuleRouteDestinationResponse)(nil)).Elem() +func (PropagatedRouteTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PropagatedRouteTable)(nil)).Elem() } -func (o RoutingRuleRouteDestinationResponseOutput) ToRoutingRuleRouteDestinationResponseOutput() RoutingRuleRouteDestinationResponseOutput { +func (o PropagatedRouteTableOutput) ToPropagatedRouteTableOutput() PropagatedRouteTableOutput { return o } -func (o RoutingRuleRouteDestinationResponseOutput) ToRoutingRuleRouteDestinationResponseOutputWithContext(ctx context.Context) RoutingRuleRouteDestinationResponseOutput { +func (o PropagatedRouteTableOutput) ToPropagatedRouteTableOutputWithContext(ctx context.Context) PropagatedRouteTableOutput { return o } -// Destination address. -func (o RoutingRuleRouteDestinationResponseOutput) DestinationAddress() pulumi.StringOutput { - return o.ApplyT(func(v RoutingRuleRouteDestinationResponse) string { return v.DestinationAddress }).(pulumi.StringOutput) +func (o PropagatedRouteTableOutput) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { + return o.ToPropagatedRouteTablePtrOutputWithContext(context.Background()) } -// Destination type. -func (o RoutingRuleRouteDestinationResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v RoutingRuleRouteDestinationResponse) string { return v.Type }).(pulumi.StringOutput) +func (o PropagatedRouteTableOutput) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PropagatedRouteTable) *PropagatedRouteTable { + return &v + }).(PropagatedRouteTablePtrOutput) } -// Network security rule. -type SecurityRuleType struct { - // The network traffic is allowed or denied. - Access string `pulumi:"access"` - // A description for this rule. Restricted to 140 chars. - Description *string `pulumi:"description"` - // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - DestinationAddressPrefix *string `pulumi:"destinationAddressPrefix"` - // The destination address prefixes. CIDR or destination IP ranges. - DestinationAddressPrefixes []string `pulumi:"destinationAddressPrefixes"` - // The application security group specified as destination. - DestinationApplicationSecurityGroups []ApplicationSecurityGroupType `pulumi:"destinationApplicationSecurityGroups"` - // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. - DestinationPortRange *string `pulumi:"destinationPortRange"` - // The destination port ranges. - DestinationPortRanges []string `pulumi:"destinationPortRanges"` - // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. - Direction string `pulumi:"direction"` - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - Priority *int `pulumi:"priority"` - // Network protocol this rule applies to. - Protocol string `pulumi:"protocol"` - // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState *string `pulumi:"provisioningState"` - // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. - SourceAddressPrefix *string `pulumi:"sourceAddressPrefix"` - // The CIDR or source IP ranges. - SourceAddressPrefixes []string `pulumi:"sourceAddressPrefixes"` - // The application security group specified as source. - SourceApplicationSecurityGroups []ApplicationSecurityGroupType `pulumi:"sourceApplicationSecurityGroups"` - // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. - SourcePortRange *string `pulumi:"sourcePortRange"` - // The source port ranges. - SourcePortRanges []string `pulumi:"sourcePortRanges"` - // The type of the resource. - Type *string `pulumi:"type"` +// The list of resource ids of all the RouteTables. +func (o PropagatedRouteTableOutput) Ids() SubResourceArrayOutput { + return o.ApplyT(func(v PropagatedRouteTable) []SubResource { return v.Ids }).(SubResourceArrayOutput) } -// SecurityRuleTypeInput is an input type that accepts SecurityRuleTypeArgs and SecurityRuleTypeOutput values. -// You can construct a concrete instance of `SecurityRuleTypeInput` via: -// -// SecurityRuleTypeArgs{...} -type SecurityRuleTypeInput interface { - pulumi.Input - - ToSecurityRuleTypeOutput() SecurityRuleTypeOutput - ToSecurityRuleTypeOutputWithContext(context.Context) SecurityRuleTypeOutput +// The list of labels. +func (o PropagatedRouteTableOutput) Labels() pulumi.StringArrayOutput { + return o.ApplyT(func(v PropagatedRouteTable) []string { return v.Labels }).(pulumi.StringArrayOutput) } -// Network security rule. -type SecurityRuleTypeArgs struct { - // The network traffic is allowed or denied. - Access pulumi.StringInput `pulumi:"access"` - // A description for this rule. Restricted to 140 chars. - Description pulumi.StringPtrInput `pulumi:"description"` - // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - DestinationAddressPrefix pulumi.StringPtrInput `pulumi:"destinationAddressPrefix"` - // The destination address prefixes. CIDR or destination IP ranges. - DestinationAddressPrefixes pulumi.StringArrayInput `pulumi:"destinationAddressPrefixes"` - // The application security group specified as destination. - DestinationApplicationSecurityGroups ApplicationSecurityGroupTypeArrayInput `pulumi:"destinationApplicationSecurityGroups"` - // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. - DestinationPortRange pulumi.StringPtrInput `pulumi:"destinationPortRange"` - // The destination port ranges. - DestinationPortRanges pulumi.StringArrayInput `pulumi:"destinationPortRanges"` - // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. - Direction pulumi.StringInput `pulumi:"direction"` - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - Priority pulumi.IntPtrInput `pulumi:"priority"` - // Network protocol this rule applies to. - Protocol pulumi.StringInput `pulumi:"protocol"` - // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` - // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. - SourceAddressPrefix pulumi.StringPtrInput `pulumi:"sourceAddressPrefix"` - // The CIDR or source IP ranges. - SourceAddressPrefixes pulumi.StringArrayInput `pulumi:"sourceAddressPrefixes"` - // The application security group specified as source. - SourceApplicationSecurityGroups ApplicationSecurityGroupTypeArrayInput `pulumi:"sourceApplicationSecurityGroups"` - // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. - SourcePortRange pulumi.StringPtrInput `pulumi:"sourcePortRange"` - // The source port ranges. - SourcePortRanges pulumi.StringArrayInput `pulumi:"sourcePortRanges"` - // The type of the resource. - Type pulumi.StringPtrInput `pulumi:"type"` -} +type PropagatedRouteTablePtrOutput struct{ *pulumi.OutputState } -func (SecurityRuleTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityRuleType)(nil)).Elem() +func (PropagatedRouteTablePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PropagatedRouteTable)(nil)).Elem() } -func (i SecurityRuleTypeArgs) ToSecurityRuleTypeOutput() SecurityRuleTypeOutput { - return i.ToSecurityRuleTypeOutputWithContext(context.Background()) +func (o PropagatedRouteTablePtrOutput) ToPropagatedRouteTablePtrOutput() PropagatedRouteTablePtrOutput { + return o } -func (i SecurityRuleTypeArgs) ToSecurityRuleTypeOutputWithContext(ctx context.Context) SecurityRuleTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityRuleTypeOutput) +func (o PropagatedRouteTablePtrOutput) ToPropagatedRouteTablePtrOutputWithContext(ctx context.Context) PropagatedRouteTablePtrOutput { + return o } -// SecurityRuleTypeArrayInput is an input type that accepts SecurityRuleTypeArray and SecurityRuleTypeArrayOutput values. -// You can construct a concrete instance of `SecurityRuleTypeArrayInput` via: -// -// SecurityRuleTypeArray{ SecurityRuleTypeArgs{...} } -type SecurityRuleTypeArrayInput interface { - pulumi.Input - - ToSecurityRuleTypeArrayOutput() SecurityRuleTypeArrayOutput - ToSecurityRuleTypeArrayOutputWithContext(context.Context) SecurityRuleTypeArrayOutput +func (o PropagatedRouteTablePtrOutput) Elem() PropagatedRouteTableOutput { + return o.ApplyT(func(v *PropagatedRouteTable) PropagatedRouteTable { + if v != nil { + return *v + } + var ret PropagatedRouteTable + return ret + }).(PropagatedRouteTableOutput) } -type SecurityRuleTypeArray []SecurityRuleTypeInput - -func (SecurityRuleTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityRuleType)(nil)).Elem() +// The list of resource ids of all the RouteTables. +func (o PropagatedRouteTablePtrOutput) Ids() SubResourceArrayOutput { + return o.ApplyT(func(v *PropagatedRouteTable) []SubResource { + if v == nil { + return nil + } + return v.Ids + }).(SubResourceArrayOutput) } -func (i SecurityRuleTypeArray) ToSecurityRuleTypeArrayOutput() SecurityRuleTypeArrayOutput { - return i.ToSecurityRuleTypeArrayOutputWithContext(context.Background()) +// The list of labels. +func (o PropagatedRouteTablePtrOutput) Labels() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PropagatedRouteTable) []string { + if v == nil { + return nil + } + return v.Labels + }).(pulumi.StringArrayOutput) } -func (i SecurityRuleTypeArray) ToSecurityRuleTypeArrayOutputWithContext(ctx context.Context) SecurityRuleTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityRuleTypeArrayOutput) +// The list of RouteTables to advertise the routes to. +type PropagatedRouteTableResponse struct { + // The list of resource ids of all the RouteTables. + Ids []SubResourceResponse `pulumi:"ids"` + // The list of labels. + Labels []string `pulumi:"labels"` } -// Network security rule. -type SecurityRuleTypeOutput struct{ *pulumi.OutputState } +// The list of RouteTables to advertise the routes to. +type PropagatedRouteTableResponseOutput struct{ *pulumi.OutputState } -func (SecurityRuleTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityRuleType)(nil)).Elem() +func (PropagatedRouteTableResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PropagatedRouteTableResponse)(nil)).Elem() } -func (o SecurityRuleTypeOutput) ToSecurityRuleTypeOutput() SecurityRuleTypeOutput { +func (o PropagatedRouteTableResponseOutput) ToPropagatedRouteTableResponseOutput() PropagatedRouteTableResponseOutput { return o } -func (o SecurityRuleTypeOutput) ToSecurityRuleTypeOutputWithContext(ctx context.Context) SecurityRuleTypeOutput { +func (o PropagatedRouteTableResponseOutput) ToPropagatedRouteTableResponseOutputWithContext(ctx context.Context) PropagatedRouteTableResponseOutput { return o } -// The network traffic is allowed or denied. -func (o SecurityRuleTypeOutput) Access() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleType) string { return v.Access }).(pulumi.StringOutput) +// The list of resource ids of all the RouteTables. +func (o PropagatedRouteTableResponseOutput) Ids() SubResourceResponseArrayOutput { + return o.ApplyT(func(v PropagatedRouteTableResponse) []SubResourceResponse { return v.Ids }).(SubResourceResponseArrayOutput) } -// A description for this rule. Restricted to 140 chars. -func (o SecurityRuleTypeOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.Description }).(pulumi.StringPtrOutput) +// The list of labels. +func (o PropagatedRouteTableResponseOutput) Labels() pulumi.StringArrayOutput { + return o.ApplyT(func(v PropagatedRouteTableResponse) []string { return v.Labels }).(pulumi.StringArrayOutput) } -// The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. -func (o SecurityRuleTypeOutput) DestinationAddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.DestinationAddressPrefix }).(pulumi.StringPtrOutput) -} +type PropagatedRouteTableResponsePtrOutput struct{ *pulumi.OutputState } -// The destination address prefixes. CIDR or destination IP ranges. -func (o SecurityRuleTypeOutput) DestinationAddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleType) []string { return v.DestinationAddressPrefixes }).(pulumi.StringArrayOutput) +func (PropagatedRouteTableResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PropagatedRouteTableResponse)(nil)).Elem() } -// The application security group specified as destination. -func (o SecurityRuleTypeOutput) DestinationApplicationSecurityGroups() ApplicationSecurityGroupTypeArrayOutput { - return o.ApplyT(func(v SecurityRuleType) []ApplicationSecurityGroupType { return v.DestinationApplicationSecurityGroups }).(ApplicationSecurityGroupTypeArrayOutput) +func (o PropagatedRouteTableResponsePtrOutput) ToPropagatedRouteTableResponsePtrOutput() PropagatedRouteTableResponsePtrOutput { + return o } -// The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. -func (o SecurityRuleTypeOutput) DestinationPortRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.DestinationPortRange }).(pulumi.StringPtrOutput) +func (o PropagatedRouteTableResponsePtrOutput) ToPropagatedRouteTableResponsePtrOutputWithContext(ctx context.Context) PropagatedRouteTableResponsePtrOutput { + return o } -// The destination port ranges. -func (o SecurityRuleTypeOutput) DestinationPortRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleType) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +func (o PropagatedRouteTableResponsePtrOutput) Elem() PropagatedRouteTableResponseOutput { + return o.ApplyT(func(v *PropagatedRouteTableResponse) PropagatedRouteTableResponse { + if v != nil { + return *v + } + var ret PropagatedRouteTableResponse + return ret + }).(PropagatedRouteTableResponseOutput) } -// The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. -func (o SecurityRuleTypeOutput) Direction() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleType) string { return v.Direction }).(pulumi.StringOutput) +// The list of resource ids of all the RouteTables. +func (o PropagatedRouteTableResponsePtrOutput) Ids() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *PropagatedRouteTableResponse) []SubResourceResponse { + if v == nil { + return nil + } + return v.Ids + }).(SubResourceResponseArrayOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o SecurityRuleTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.Etag }).(pulumi.StringPtrOutput) +// The list of labels. +func (o PropagatedRouteTableResponsePtrOutput) Labels() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PropagatedRouteTableResponse) []string { + if v == nil { + return nil + } + return v.Labels + }).(pulumi.StringArrayOutput) } -// Resource ID. -func (o SecurityRuleTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.Id }).(pulumi.StringPtrOutput) +// Public IP address resource. +type PublicIPAddressType struct { + // The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettings `pulumi:"ddosSettings"` + // Specify what happens to the public IP address when the VM using it is deleted + DeleteOption *string `pulumi:"deleteOption"` + // The FQDN of the DNS record associated with the public IP address. + DnsSettings *PublicIPAddressDnsSettings `pulumi:"dnsSettings"` + // The extended location of the public ip address. + ExtendedLocation *ExtendedLocation `pulumi:"extendedLocation"` + // Resource ID. + Id *string `pulumi:"id"` + // The idle timeout of the public IP address. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The IP address associated with the public IP address resource. + IpAddress *string `pulumi:"ipAddress"` + // The list of tags associated with the public IP address. + IpTags []IpTag `pulumi:"ipTags"` + // The linked public IP address of the public IP address resource. + LinkedPublicIPAddress *PublicIPAddressType `pulumi:"linkedPublicIPAddress"` + // Resource location. + Location *string `pulumi:"location"` + // Migration phase of Public IP Address. + MigrationPhase *string `pulumi:"migrationPhase"` + // The NatGateway for the Public IP address. + NatGateway *NatGatewayType `pulumi:"natGateway"` + // The public IP address version. + PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` + // The public IP address allocation method. + PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` + // The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResource `pulumi:"publicIPPrefix"` + // The service public IP address of the public IP address resource. + ServicePublicIPAddress *PublicIPAddressType `pulumi:"servicePublicIPAddress"` + // The public IP address SKU. + Sku *PublicIPAddressSku `pulumi:"sku"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones []string `pulumi:"zones"` } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o SecurityRuleTypeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.Name }).(pulumi.StringPtrOutput) -} +// PublicIPAddressTypeInput is an input type that accepts PublicIPAddressTypeArgs and PublicIPAddressTypeOutput values. +// You can construct a concrete instance of `PublicIPAddressTypeInput` via: +// +// PublicIPAddressTypeArgs{...} +type PublicIPAddressTypeInput interface { + pulumi.Input -// The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. -func (o SecurityRuleTypeOutput) Priority() pulumi.IntPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *int { return v.Priority }).(pulumi.IntPtrOutput) + ToPublicIPAddressTypeOutput() PublicIPAddressTypeOutput + ToPublicIPAddressTypeOutputWithContext(context.Context) PublicIPAddressTypeOutput } -// Network protocol this rule applies to. -func (o SecurityRuleTypeOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleType) string { return v.Protocol }).(pulumi.StringOutput) +// Public IP address resource. +type PublicIPAddressTypeArgs struct { + // The DDoS protection custom policy associated with the public IP address. + DdosSettings DdosSettingsPtrInput `pulumi:"ddosSettings"` + // Specify what happens to the public IP address when the VM using it is deleted + DeleteOption pulumi.StringPtrInput `pulumi:"deleteOption"` + // The FQDN of the DNS record associated with the public IP address. + DnsSettings PublicIPAddressDnsSettingsPtrInput `pulumi:"dnsSettings"` + // The extended location of the public ip address. + ExtendedLocation ExtendedLocationPtrInput `pulumi:"extendedLocation"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // The idle timeout of the public IP address. + IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` + // The IP address associated with the public IP address resource. + IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"` + // The list of tags associated with the public IP address. + IpTags IpTagArrayInput `pulumi:"ipTags"` + // The linked public IP address of the public IP address resource. + LinkedPublicIPAddress PublicIPAddressTypePtrInput `pulumi:"linkedPublicIPAddress"` + // Resource location. + Location pulumi.StringPtrInput `pulumi:"location"` + // Migration phase of Public IP Address. + MigrationPhase pulumi.StringPtrInput `pulumi:"migrationPhase"` + // The NatGateway for the Public IP address. + NatGateway NatGatewayTypePtrInput `pulumi:"natGateway"` + // The public IP address version. + PublicIPAddressVersion pulumi.StringPtrInput `pulumi:"publicIPAddressVersion"` + // The public IP address allocation method. + PublicIPAllocationMethod pulumi.StringPtrInput `pulumi:"publicIPAllocationMethod"` + // The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix SubResourcePtrInput `pulumi:"publicIPPrefix"` + // The service public IP address of the public IP address resource. + ServicePublicIPAddress PublicIPAddressTypePtrInput `pulumi:"servicePublicIPAddress"` + // The public IP address SKU. + Sku PublicIPAddressSkuPtrInput `pulumi:"sku"` + // Resource tags. + Tags pulumi.StringMapInput `pulumi:"tags"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones pulumi.StringArrayInput `pulumi:"zones"` } -// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. -func (o SecurityRuleTypeOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +func (PublicIPAddressTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressType)(nil)).Elem() } -// The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. -func (o SecurityRuleTypeOutput) SourceAddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.SourceAddressPrefix }).(pulumi.StringPtrOutput) +func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypeOutput() PublicIPAddressTypeOutput { + return i.ToPublicIPAddressTypeOutputWithContext(context.Background()) } -// The CIDR or source IP ranges. -func (o SecurityRuleTypeOutput) SourceAddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleType) []string { return v.SourceAddressPrefixes }).(pulumi.StringArrayOutput) +func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypeOutputWithContext(ctx context.Context) PublicIPAddressTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressTypeOutput) } -// The application security group specified as source. -func (o SecurityRuleTypeOutput) SourceApplicationSecurityGroups() ApplicationSecurityGroupTypeArrayOutput { - return o.ApplyT(func(v SecurityRuleType) []ApplicationSecurityGroupType { return v.SourceApplicationSecurityGroups }).(ApplicationSecurityGroupTypeArrayOutput) +func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { + return i.ToPublicIPAddressTypePtrOutputWithContext(context.Background()) } -// The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. -func (o SecurityRuleTypeOutput) SourcePortRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.SourcePortRange }).(pulumi.StringPtrOutput) +func (i PublicIPAddressTypeArgs) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressTypeOutput).ToPublicIPAddressTypePtrOutputWithContext(ctx) } -// The source port ranges. -func (o SecurityRuleTypeOutput) SourcePortRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleType) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) -} +// PublicIPAddressTypePtrInput is an input type that accepts PublicIPAddressTypeArgs, PublicIPAddressTypePtr and PublicIPAddressTypePtrOutput values. +// You can construct a concrete instance of `PublicIPAddressTypePtrInput` via: +// +// PublicIPAddressTypeArgs{...} +// +// or: +// +// nil +type PublicIPAddressTypePtrInput interface { + pulumi.Input -// The type of the resource. -func (o SecurityRuleTypeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleType) *string { return v.Type }).(pulumi.StringPtrOutput) + ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput + ToPublicIPAddressTypePtrOutputWithContext(context.Context) PublicIPAddressTypePtrOutput } -type SecurityRuleTypeArrayOutput struct{ *pulumi.OutputState } - -func (SecurityRuleTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityRuleType)(nil)).Elem() -} +type publicIPAddressTypePtrType PublicIPAddressTypeArgs -func (o SecurityRuleTypeArrayOutput) ToSecurityRuleTypeArrayOutput() SecurityRuleTypeArrayOutput { - return o +func PublicIPAddressTypePtr(v *PublicIPAddressTypeArgs) PublicIPAddressTypePtrInput { + return (*publicIPAddressTypePtrType)(v) } -func (o SecurityRuleTypeArrayOutput) ToSecurityRuleTypeArrayOutputWithContext(ctx context.Context) SecurityRuleTypeArrayOutput { - return o +func (*publicIPAddressTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressType)(nil)).Elem() } -func (o SecurityRuleTypeArrayOutput) Index(i pulumi.IntInput) SecurityRuleTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityRuleType { - return vs[0].([]SecurityRuleType)[vs[1].(int)] - }).(SecurityRuleTypeOutput) +func (i *publicIPAddressTypePtrType) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { + return i.ToPublicIPAddressTypePtrOutputWithContext(context.Background()) } -// Network security rule. -type SecurityRuleResponse struct { - // The network traffic is allowed or denied. - Access string `pulumi:"access"` - // A description for this rule. Restricted to 140 chars. - Description *string `pulumi:"description"` - // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - DestinationAddressPrefix *string `pulumi:"destinationAddressPrefix"` - // The destination address prefixes. CIDR or destination IP ranges. - DestinationAddressPrefixes []string `pulumi:"destinationAddressPrefixes"` - // The application security group specified as destination. - DestinationApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"destinationApplicationSecurityGroups"` - // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. - DestinationPortRange *string `pulumi:"destinationPortRange"` - // The destination port ranges. - DestinationPortRanges []string `pulumi:"destinationPortRanges"` - // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. - Direction string `pulumi:"direction"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - Priority int `pulumi:"priority"` - // Network protocol this rule applies to. - Protocol string `pulumi:"protocol"` - // The provisioning state of the security rule resource. - ProvisioningState string `pulumi:"provisioningState"` - // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. - SourceAddressPrefix *string `pulumi:"sourceAddressPrefix"` - // The CIDR or source IP ranges. - SourceAddressPrefixes []string `pulumi:"sourceAddressPrefixes"` - // The application security group specified as source. - SourceApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"sourceApplicationSecurityGroups"` - // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. - SourcePortRange *string `pulumi:"sourcePortRange"` - // The source port ranges. - SourcePortRanges []string `pulumi:"sourcePortRanges"` - // The type of the resource. - Type *string `pulumi:"type"` +func (i *publicIPAddressTypePtrType) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressTypePtrOutput) } -// Network security rule. -type SecurityRuleResponseOutput struct{ *pulumi.OutputState } +// Public IP address resource. +type PublicIPAddressTypeOutput struct{ *pulumi.OutputState } -func (SecurityRuleResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityRuleResponse)(nil)).Elem() +func (PublicIPAddressTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressType)(nil)).Elem() } -func (o SecurityRuleResponseOutput) ToSecurityRuleResponseOutput() SecurityRuleResponseOutput { +func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypeOutput() PublicIPAddressTypeOutput { return o } -func (o SecurityRuleResponseOutput) ToSecurityRuleResponseOutputWithContext(ctx context.Context) SecurityRuleResponseOutput { +func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypeOutputWithContext(ctx context.Context) PublicIPAddressTypeOutput { return o } -// The network traffic is allowed or denied. -func (o SecurityRuleResponseOutput) Access() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleResponse) string { return v.Access }).(pulumi.StringOutput) +func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { + return o.ToPublicIPAddressTypePtrOutputWithContext(context.Background()) } -// A description for this rule. Restricted to 140 chars. -func (o SecurityRuleResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +func (o PublicIPAddressTypeOutput) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPAddressType) *PublicIPAddressType { + return &v + }).(PublicIPAddressTypePtrOutput) } -// The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. -func (o SecurityRuleResponseOutput) DestinationAddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.DestinationAddressPrefix }).(pulumi.StringPtrOutput) +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressTypeOutput) DdosSettings() DdosSettingsPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *DdosSettings { return v.DdosSettings }).(DdosSettingsPtrOutput) } -// The destination address prefixes. CIDR or destination IP ranges. -func (o SecurityRuleResponseOutput) DestinationAddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleResponse) []string { return v.DestinationAddressPrefixes }).(pulumi.StringArrayOutput) +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressTypeOutput) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.DeleteOption }).(pulumi.StringPtrOutput) } -// The application security group specified as destination. -func (o SecurityRuleResponseOutput) DestinationApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { - return o.ApplyT(func(v SecurityRuleResponse) []ApplicationSecurityGroupResponse { - return v.DestinationApplicationSecurityGroups - }).(ApplicationSecurityGroupResponseArrayOutput) +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressTypeOutput) DnsSettings() PublicIPAddressDnsSettingsPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressDnsSettings { return v.DnsSettings }).(PublicIPAddressDnsSettingsPtrOutput) } -// The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. -func (o SecurityRuleResponseOutput) DestinationPortRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.DestinationPortRange }).(pulumi.StringPtrOutput) +// The extended location of the public ip address. +func (o PublicIPAddressTypeOutput) ExtendedLocation() ExtendedLocationPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *ExtendedLocation { return v.ExtendedLocation }).(ExtendedLocationPtrOutput) } -// The destination port ranges. -func (o SecurityRuleResponseOutput) DestinationPortRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleResponse) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +// Resource ID. +func (o PublicIPAddressTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. -func (o SecurityRuleResponseOutput) Direction() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleResponse) string { return v.Direction }).(pulumi.StringOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressTypeOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o SecurityRuleResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleResponse) string { return v.Etag }).(pulumi.StringOutput) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressTypeOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } -// Resource ID. -func (o SecurityRuleResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// The list of tags associated with the public IP address. +func (o PublicIPAddressTypeOutput) IpTags() IpTagArrayOutput { + return o.ApplyT(func(v PublicIPAddressType) []IpTag { return v.IpTags }).(IpTagArrayOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o SecurityRuleResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressTypeOutput) LinkedPublicIPAddress() PublicIPAddressTypePtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressType { return v.LinkedPublicIPAddress }).(PublicIPAddressTypePtrOutput) } -// The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. -func (o SecurityRuleResponseOutput) Priority() pulumi.IntOutput { - return o.ApplyT(func(v SecurityRuleResponse) int { return v.Priority }).(pulumi.IntOutput) +// Resource location. +func (o PublicIPAddressTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.Location }).(pulumi.StringPtrOutput) } -// Network protocol this rule applies to. -func (o SecurityRuleResponseOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleResponse) string { return v.Protocol }).(pulumi.StringOutput) +// Migration phase of Public IP Address. +func (o PublicIPAddressTypeOutput) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) } -// The provisioning state of the security rule resource. -func (o SecurityRuleResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v SecurityRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The NatGateway for the Public IP address. +func (o PublicIPAddressTypeOutput) NatGateway() NatGatewayTypePtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *NatGatewayType { return v.NatGateway }).(NatGatewayTypePtrOutput) } -// The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. -func (o SecurityRuleResponseOutput) SourceAddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.SourceAddressPrefix }).(pulumi.StringPtrOutput) +// The public IP address version. +func (o PublicIPAddressTypeOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) } -// The CIDR or source IP ranges. -func (o SecurityRuleResponseOutput) SourceAddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleResponse) []string { return v.SourceAddressPrefixes }).(pulumi.StringArrayOutput) +// The public IP address allocation method. +func (o PublicIPAddressTypeOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) } -// The application security group specified as source. -func (o SecurityRuleResponseOutput) SourceApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { - return o.ApplyT(func(v SecurityRuleResponse) []ApplicationSecurityGroupResponse { - return v.SourceApplicationSecurityGroups - }).(ApplicationSecurityGroupResponseArrayOutput) +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressTypeOutput) PublicIPPrefix() SubResourcePtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *SubResource { return v.PublicIPPrefix }).(SubResourcePtrOutput) } -// The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. -func (o SecurityRuleResponseOutput) SourcePortRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.SourcePortRange }).(pulumi.StringPtrOutput) +// The service public IP address of the public IP address resource. +func (o PublicIPAddressTypeOutput) ServicePublicIPAddress() PublicIPAddressTypePtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressType { return v.ServicePublicIPAddress }).(PublicIPAddressTypePtrOutput) } -// The source port ranges. -func (o SecurityRuleResponseOutput) SourcePortRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityRuleResponse) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +// The public IP address SKU. +func (o PublicIPAddressTypeOutput) Sku() PublicIPAddressSkuPtrOutput { + return o.ApplyT(func(v PublicIPAddressType) *PublicIPAddressSku { return v.Sku }).(PublicIPAddressSkuPtrOutput) } -// The type of the resource. -func (o SecurityRuleResponseOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +// Resource tags. +func (o PublicIPAddressTypeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PublicIPAddressType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -type SecurityRuleResponseArrayOutput struct{ *pulumi.OutputState } +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressTypeOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v PublicIPAddressType) []string { return v.Zones }).(pulumi.StringArrayOutput) +} -func (SecurityRuleResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityRuleResponse)(nil)).Elem() +type PublicIPAddressTypePtrOutput struct{ *pulumi.OutputState } + +func (PublicIPAddressTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressType)(nil)).Elem() } -func (o SecurityRuleResponseArrayOutput) ToSecurityRuleResponseArrayOutput() SecurityRuleResponseArrayOutput { +func (o PublicIPAddressTypePtrOutput) ToPublicIPAddressTypePtrOutput() PublicIPAddressTypePtrOutput { return o } -func (o SecurityRuleResponseArrayOutput) ToSecurityRuleResponseArrayOutputWithContext(ctx context.Context) SecurityRuleResponseArrayOutput { +func (o PublicIPAddressTypePtrOutput) ToPublicIPAddressTypePtrOutputWithContext(ctx context.Context) PublicIPAddressTypePtrOutput { return o } -func (o SecurityRuleResponseArrayOutput) Index(i pulumi.IntInput) SecurityRuleResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityRuleResponse { - return vs[0].([]SecurityRuleResponse)[vs[1].(int)] - }).(SecurityRuleResponseOutput) +func (o PublicIPAddressTypePtrOutput) Elem() PublicIPAddressTypeOutput { + return o.ApplyT(func(v *PublicIPAddressType) PublicIPAddressType { + if v != nil { + return *v + } + var ret PublicIPAddressType + return ret + }).(PublicIPAddressTypeOutput) } -// Network manager security user group item. -type SecurityUserGroupItem struct { - // Network manager group Id. - NetworkGroupId string `pulumi:"networkGroupId"` +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressTypePtrOutput) DdosSettings() DdosSettingsPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *DdosSettings { + if v == nil { + return nil + } + return v.DdosSettings + }).(DdosSettingsPtrOutput) } -// SecurityUserGroupItemInput is an input type that accepts SecurityUserGroupItemArgs and SecurityUserGroupItemOutput values. -// You can construct a concrete instance of `SecurityUserGroupItemInput` via: -// -// SecurityUserGroupItemArgs{...} -type SecurityUserGroupItemInput interface { - pulumi.Input - - ToSecurityUserGroupItemOutput() SecurityUserGroupItemOutput - ToSecurityUserGroupItemOutputWithContext(context.Context) SecurityUserGroupItemOutput +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressTypePtrOutput) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.DeleteOption + }).(pulumi.StringPtrOutput) } -// Network manager security user group item. -type SecurityUserGroupItemArgs struct { - // Network manager group Id. - NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressTypePtrOutput) DnsSettings() PublicIPAddressDnsSettingsPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressDnsSettings { + if v == nil { + return nil + } + return v.DnsSettings + }).(PublicIPAddressDnsSettingsPtrOutput) } -func (SecurityUserGroupItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityUserGroupItem)(nil)).Elem() +// The extended location of the public ip address. +func (o PublicIPAddressTypePtrOutput) ExtendedLocation() ExtendedLocationPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *ExtendedLocation { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationPtrOutput) } -func (i SecurityUserGroupItemArgs) ToSecurityUserGroupItemOutput() SecurityUserGroupItemOutput { - return i.ToSecurityUserGroupItemOutputWithContext(context.Background()) +// Resource ID. +func (o PublicIPAddressTypePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -func (i SecurityUserGroupItemArgs) ToSecurityUserGroupItemOutputWithContext(ctx context.Context) SecurityUserGroupItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityUserGroupItemOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressTypePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) } -// SecurityUserGroupItemArrayInput is an input type that accepts SecurityUserGroupItemArray and SecurityUserGroupItemArrayOutput values. -// You can construct a concrete instance of `SecurityUserGroupItemArrayInput` via: -// -// SecurityUserGroupItemArray{ SecurityUserGroupItemArgs{...} } -type SecurityUserGroupItemArrayInput interface { - pulumi.Input - - ToSecurityUserGroupItemArrayOutput() SecurityUserGroupItemArrayOutput - ToSecurityUserGroupItemArrayOutputWithContext(context.Context) SecurityUserGroupItemArrayOutput +// The IP address associated with the public IP address resource. +func (o PublicIPAddressTypePtrOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.IpAddress + }).(pulumi.StringPtrOutput) } -type SecurityUserGroupItemArray []SecurityUserGroupItemInput - -func (SecurityUserGroupItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityUserGroupItem)(nil)).Elem() +// The list of tags associated with the public IP address. +func (o PublicIPAddressTypePtrOutput) IpTags() IpTagArrayOutput { + return o.ApplyT(func(v *PublicIPAddressType) []IpTag { + if v == nil { + return nil + } + return v.IpTags + }).(IpTagArrayOutput) } -func (i SecurityUserGroupItemArray) ToSecurityUserGroupItemArrayOutput() SecurityUserGroupItemArrayOutput { - return i.ToSecurityUserGroupItemArrayOutputWithContext(context.Background()) +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressTypePtrOutput) LinkedPublicIPAddress() PublicIPAddressTypePtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressType { + if v == nil { + return nil + } + return v.LinkedPublicIPAddress + }).(PublicIPAddressTypePtrOutput) } -func (i SecurityUserGroupItemArray) ToSecurityUserGroupItemArrayOutputWithContext(ctx context.Context) SecurityUserGroupItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityUserGroupItemArrayOutput) +// Resource location. +func (o PublicIPAddressTypePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -// Network manager security user group item. -type SecurityUserGroupItemOutput struct{ *pulumi.OutputState } +// Migration phase of Public IP Address. +func (o PublicIPAddressTypePtrOutput) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.MigrationPhase + }).(pulumi.StringPtrOutput) +} -func (SecurityUserGroupItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityUserGroupItem)(nil)).Elem() +// The NatGateway for the Public IP address. +func (o PublicIPAddressTypePtrOutput) NatGateway() NatGatewayTypePtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *NatGatewayType { + if v == nil { + return nil + } + return v.NatGateway + }).(NatGatewayTypePtrOutput) } -func (o SecurityUserGroupItemOutput) ToSecurityUserGroupItemOutput() SecurityUserGroupItemOutput { - return o +// The public IP address version. +func (o PublicIPAddressTypePtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.PublicIPAddressVersion + }).(pulumi.StringPtrOutput) } -func (o SecurityUserGroupItemOutput) ToSecurityUserGroupItemOutputWithContext(ctx context.Context) SecurityUserGroupItemOutput { - return o -} - -// Network manager group Id. -func (o SecurityUserGroupItemOutput) NetworkGroupId() pulumi.StringOutput { - return o.ApplyT(func(v SecurityUserGroupItem) string { return v.NetworkGroupId }).(pulumi.StringOutput) +// The public IP address allocation method. +func (o PublicIPAddressTypePtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *string { + if v == nil { + return nil + } + return v.PublicIPAllocationMethod + }).(pulumi.StringPtrOutput) } -type SecurityUserGroupItemArrayOutput struct{ *pulumi.OutputState } - -func (SecurityUserGroupItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityUserGroupItem)(nil)).Elem() +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressTypePtrOutput) PublicIPPrefix() SubResourcePtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *SubResource { + if v == nil { + return nil + } + return v.PublicIPPrefix + }).(SubResourcePtrOutput) } -func (o SecurityUserGroupItemArrayOutput) ToSecurityUserGroupItemArrayOutput() SecurityUserGroupItemArrayOutput { - return o +// The service public IP address of the public IP address resource. +func (o PublicIPAddressTypePtrOutput) ServicePublicIPAddress() PublicIPAddressTypePtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressType { + if v == nil { + return nil + } + return v.ServicePublicIPAddress + }).(PublicIPAddressTypePtrOutput) } -func (o SecurityUserGroupItemArrayOutput) ToSecurityUserGroupItemArrayOutputWithContext(ctx context.Context) SecurityUserGroupItemArrayOutput { - return o +// The public IP address SKU. +func (o PublicIPAddressTypePtrOutput) Sku() PublicIPAddressSkuPtrOutput { + return o.ApplyT(func(v *PublicIPAddressType) *PublicIPAddressSku { + if v == nil { + return nil + } + return v.Sku + }).(PublicIPAddressSkuPtrOutput) } -func (o SecurityUserGroupItemArrayOutput) Index(i pulumi.IntInput) SecurityUserGroupItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityUserGroupItem { - return vs[0].([]SecurityUserGroupItem)[vs[1].(int)] - }).(SecurityUserGroupItemOutput) +// Resource tags. +func (o PublicIPAddressTypePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PublicIPAddressType) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -// Network manager security user group item. -type SecurityUserGroupItemResponse struct { - // Network manager group Id. - NetworkGroupId string `pulumi:"networkGroupId"` +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressTypePtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PublicIPAddressType) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) } -// Network manager security user group item. -type SecurityUserGroupItemResponseOutput struct{ *pulumi.OutputState } - -func (SecurityUserGroupItemResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityUserGroupItemResponse)(nil)).Elem() +// Contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDnsSettings struct { + // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. + DomainNameLabel *string `pulumi:"domainNameLabel"` + // The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + DomainNameLabelScope *PublicIpAddressDnsSettingsDomainNameLabelScope `pulumi:"domainNameLabelScope"` + // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. + Fqdn *string `pulumi:"fqdn"` + // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + ReverseFqdn *string `pulumi:"reverseFqdn"` } -func (o SecurityUserGroupItemResponseOutput) ToSecurityUserGroupItemResponseOutput() SecurityUserGroupItemResponseOutput { - return o -} +// PublicIPAddressDnsSettingsInput is an input type that accepts PublicIPAddressDnsSettingsArgs and PublicIPAddressDnsSettingsOutput values. +// You can construct a concrete instance of `PublicIPAddressDnsSettingsInput` via: +// +// PublicIPAddressDnsSettingsArgs{...} +type PublicIPAddressDnsSettingsInput interface { + pulumi.Input -func (o SecurityUserGroupItemResponseOutput) ToSecurityUserGroupItemResponseOutputWithContext(ctx context.Context) SecurityUserGroupItemResponseOutput { - return o + ToPublicIPAddressDnsSettingsOutput() PublicIPAddressDnsSettingsOutput + ToPublicIPAddressDnsSettingsOutputWithContext(context.Context) PublicIPAddressDnsSettingsOutput } -// Network manager group Id. -func (o SecurityUserGroupItemResponseOutput) NetworkGroupId() pulumi.StringOutput { - return o.ApplyT(func(v SecurityUserGroupItemResponse) string { return v.NetworkGroupId }).(pulumi.StringOutput) +// Contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDnsSettingsArgs struct { + // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. + DomainNameLabel pulumi.StringPtrInput `pulumi:"domainNameLabel"` + // The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + DomainNameLabelScope PublicIpAddressDnsSettingsDomainNameLabelScopePtrInput `pulumi:"domainNameLabelScope"` + // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. + Fqdn pulumi.StringPtrInput `pulumi:"fqdn"` + // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + ReverseFqdn pulumi.StringPtrInput `pulumi:"reverseFqdn"` } -type SecurityUserGroupItemResponseArrayOutput struct{ *pulumi.OutputState } - -func (SecurityUserGroupItemResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityUserGroupItemResponse)(nil)).Elem() +func (PublicIPAddressDnsSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressDnsSettings)(nil)).Elem() } -func (o SecurityUserGroupItemResponseArrayOutput) ToSecurityUserGroupItemResponseArrayOutput() SecurityUserGroupItemResponseArrayOutput { - return o +func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsOutput() PublicIPAddressDnsSettingsOutput { + return i.ToPublicIPAddressDnsSettingsOutputWithContext(context.Background()) } -func (o SecurityUserGroupItemResponseArrayOutput) ToSecurityUserGroupItemResponseArrayOutputWithContext(ctx context.Context) SecurityUserGroupItemResponseArrayOutput { - return o +func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressDnsSettingsOutput) } -func (o SecurityUserGroupItemResponseArrayOutput) Index(i pulumi.IntInput) SecurityUserGroupItemResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityUserGroupItemResponse { - return vs[0].([]SecurityUserGroupItemResponse)[vs[1].(int)] - }).(SecurityUserGroupItemResponseOutput) +func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { + return i.ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Background()) } -// ServiceAssociationLink resource. -type ServiceAssociationLink struct { - // Resource ID. - Id *string `pulumi:"id"` - // Link to the external resource. - Link *string `pulumi:"link"` - // Resource type of the linked resource. - LinkedResourceType *string `pulumi:"linkedResourceType"` - // Name of the resource that is unique within a resource group. This name can be used to access the resource. - Name *string `pulumi:"name"` +func (i PublicIPAddressDnsSettingsArgs) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressDnsSettingsOutput).ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx) } -// ServiceAssociationLinkInput is an input type that accepts ServiceAssociationLinkArgs and ServiceAssociationLinkOutput values. -// You can construct a concrete instance of `ServiceAssociationLinkInput` via: +// PublicIPAddressDnsSettingsPtrInput is an input type that accepts PublicIPAddressDnsSettingsArgs, PublicIPAddressDnsSettingsPtr and PublicIPAddressDnsSettingsPtrOutput values. +// You can construct a concrete instance of `PublicIPAddressDnsSettingsPtrInput` via: // -// ServiceAssociationLinkArgs{...} -type ServiceAssociationLinkInput interface { +// PublicIPAddressDnsSettingsArgs{...} +// +// or: +// +// nil +type PublicIPAddressDnsSettingsPtrInput interface { pulumi.Input - ToServiceAssociationLinkOutput() ServiceAssociationLinkOutput - ToServiceAssociationLinkOutputWithContext(context.Context) ServiceAssociationLinkOutput + ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput + ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Context) PublicIPAddressDnsSettingsPtrOutput } -// ServiceAssociationLink resource. -type ServiceAssociationLinkArgs struct { - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Link to the external resource. - Link pulumi.StringPtrInput `pulumi:"link"` - // Resource type of the linked resource. - LinkedResourceType pulumi.StringPtrInput `pulumi:"linkedResourceType"` - // 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"` -} +type publicIPAddressDnsSettingsPtrType PublicIPAddressDnsSettingsArgs -func (ServiceAssociationLinkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAssociationLink)(nil)).Elem() +func PublicIPAddressDnsSettingsPtr(v *PublicIPAddressDnsSettingsArgs) PublicIPAddressDnsSettingsPtrInput { + return (*publicIPAddressDnsSettingsPtrType)(v) } -func (i ServiceAssociationLinkArgs) ToServiceAssociationLinkOutput() ServiceAssociationLinkOutput { - return i.ToServiceAssociationLinkOutputWithContext(context.Background()) +func (*publicIPAddressDnsSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressDnsSettings)(nil)).Elem() } -func (i ServiceAssociationLinkArgs) ToServiceAssociationLinkOutputWithContext(ctx context.Context) ServiceAssociationLinkOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceAssociationLinkOutput) +func (i *publicIPAddressDnsSettingsPtrType) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { + return i.ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Background()) } -// ServiceAssociationLinkArrayInput is an input type that accepts ServiceAssociationLinkArray and ServiceAssociationLinkArrayOutput values. -// You can construct a concrete instance of `ServiceAssociationLinkArrayInput` via: -// -// ServiceAssociationLinkArray{ ServiceAssociationLinkArgs{...} } -type ServiceAssociationLinkArrayInput interface { - pulumi.Input - - ToServiceAssociationLinkArrayOutput() ServiceAssociationLinkArrayOutput - ToServiceAssociationLinkArrayOutputWithContext(context.Context) ServiceAssociationLinkArrayOutput +func (i *publicIPAddressDnsSettingsPtrType) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressDnsSettingsPtrOutput) } -type ServiceAssociationLinkArray []ServiceAssociationLinkInput - -func (ServiceAssociationLinkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceAssociationLink)(nil)).Elem() -} +// Contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDnsSettingsOutput struct{ *pulumi.OutputState } -func (i ServiceAssociationLinkArray) ToServiceAssociationLinkArrayOutput() ServiceAssociationLinkArrayOutput { - return i.ToServiceAssociationLinkArrayOutputWithContext(context.Background()) +func (PublicIPAddressDnsSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressDnsSettings)(nil)).Elem() } -func (i ServiceAssociationLinkArray) ToServiceAssociationLinkArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceAssociationLinkArrayOutput) +func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsOutput() PublicIPAddressDnsSettingsOutput { + return o } -// ServiceAssociationLink resource. -type ServiceAssociationLinkOutput struct{ *pulumi.OutputState } - -func (ServiceAssociationLinkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAssociationLink)(nil)).Elem() +func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsOutput { + return o } -func (o ServiceAssociationLinkOutput) ToServiceAssociationLinkOutput() ServiceAssociationLinkOutput { - return o +func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { + return o.ToPublicIPAddressDnsSettingsPtrOutputWithContext(context.Background()) } -func (o ServiceAssociationLinkOutput) ToServiceAssociationLinkOutputWithContext(ctx context.Context) ServiceAssociationLinkOutput { - return o +func (o PublicIPAddressDnsSettingsOutput) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPAddressDnsSettings) *PublicIPAddressDnsSettings { + return &v + }).(PublicIPAddressDnsSettingsPtrOutput) } -// Resource ID. -func (o ServiceAssociationLinkOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLink) *string { return v.Id }).(pulumi.StringPtrOutput) +// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. +func (o PublicIPAddressDnsSettingsOutput) DomainNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettings) *string { return v.DomainNameLabel }).(pulumi.StringPtrOutput) } -// Link to the external resource. -func (o ServiceAssociationLinkOutput) Link() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLink) *string { return v.Link }).(pulumi.StringPtrOutput) +// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. +func (o PublicIPAddressDnsSettingsOutput) DomainNameLabelScope() PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettings) *PublicIpAddressDnsSettingsDomainNameLabelScope { + return v.DomainNameLabelScope + }).(PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput) } -// Resource type of the linked resource. -func (o ServiceAssociationLinkOutput) LinkedResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLink) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. +func (o PublicIPAddressDnsSettingsOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettings) *string { return v.Fqdn }).(pulumi.StringPtrOutput) } -// Name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o ServiceAssociationLinkOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLink) *string { return v.Name }).(pulumi.StringPtrOutput) +// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. +func (o PublicIPAddressDnsSettingsOutput) ReverseFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettings) *string { return v.ReverseFqdn }).(pulumi.StringPtrOutput) } -type ServiceAssociationLinkArrayOutput struct{ *pulumi.OutputState } +type PublicIPAddressDnsSettingsPtrOutput struct{ *pulumi.OutputState } -func (ServiceAssociationLinkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceAssociationLink)(nil)).Elem() +func (PublicIPAddressDnsSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressDnsSettings)(nil)).Elem() } -func (o ServiceAssociationLinkArrayOutput) ToServiceAssociationLinkArrayOutput() ServiceAssociationLinkArrayOutput { +func (o PublicIPAddressDnsSettingsPtrOutput) ToPublicIPAddressDnsSettingsPtrOutput() PublicIPAddressDnsSettingsPtrOutput { return o } -func (o ServiceAssociationLinkArrayOutput) ToServiceAssociationLinkArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkArrayOutput { +func (o PublicIPAddressDnsSettingsPtrOutput) ToPublicIPAddressDnsSettingsPtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsPtrOutput { return o } -func (o ServiceAssociationLinkArrayOutput) Index(i pulumi.IntInput) ServiceAssociationLinkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAssociationLink { - return vs[0].([]ServiceAssociationLink)[vs[1].(int)] - }).(ServiceAssociationLinkOutput) +func (o PublicIPAddressDnsSettingsPtrOutput) Elem() PublicIPAddressDnsSettingsOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettings) PublicIPAddressDnsSettings { + if v != nil { + return *v + } + var ret PublicIPAddressDnsSettings + return ret + }).(PublicIPAddressDnsSettingsOutput) } -// ServiceAssociationLink resource. -type ServiceAssociationLinkResponse struct { - // If true, the resource can be deleted. - AllowDelete *bool `pulumi:"allowDelete"` - // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // Link to the external resource. - Link *string `pulumi:"link"` - // Resource type of the linked resource. - LinkedResourceType *string `pulumi:"linkedResourceType"` - // A list of locations. - Locations []string `pulumi:"locations"` - // 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 provisioning state of the service association link resource. - ProvisioningState string `pulumi:"provisioningState"` - // Resource type. - Type string `pulumi:"type"` +// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. +func (o PublicIPAddressDnsSettingsPtrOutput) DomainNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettings) *string { + if v == nil { + return nil + } + return v.DomainNameLabel + }).(pulumi.StringPtrOutput) } -// ServiceAssociationLink resource. -type ServiceAssociationLinkResponseOutput struct{ *pulumi.OutputState } - -func (ServiceAssociationLinkResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAssociationLinkResponse)(nil)).Elem() +// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. +func (o PublicIPAddressDnsSettingsPtrOutput) DomainNameLabelScope() PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettings) *PublicIpAddressDnsSettingsDomainNameLabelScope { + if v == nil { + return nil + } + return v.DomainNameLabelScope + }).(PublicIpAddressDnsSettingsDomainNameLabelScopePtrOutput) } -func (o ServiceAssociationLinkResponseOutput) ToServiceAssociationLinkResponseOutput() ServiceAssociationLinkResponseOutput { - return o +// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. +func (o PublicIPAddressDnsSettingsPtrOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettings) *string { + if v == nil { + return nil + } + return v.Fqdn + }).(pulumi.StringPtrOutput) } -func (o ServiceAssociationLinkResponseOutput) ToServiceAssociationLinkResponseOutputWithContext(ctx context.Context) ServiceAssociationLinkResponseOutput { - return o +// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. +func (o PublicIPAddressDnsSettingsPtrOutput) ReverseFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettings) *string { + if v == nil { + return nil + } + return v.ReverseFqdn + }).(pulumi.StringPtrOutput) } -// If true, the resource can be deleted. -func (o ServiceAssociationLinkResponseOutput) AllowDelete() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) *bool { return v.AllowDelete }).(pulumi.BoolPtrOutput) +// Contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDnsSettingsResponse struct { + // The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. + DomainNameLabel *string `pulumi:"domainNameLabel"` + // The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + DomainNameLabelScope *string `pulumi:"domainNameLabelScope"` + // The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. + Fqdn *string `pulumi:"fqdn"` + // The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + ReverseFqdn *string `pulumi:"reverseFqdn"` } -// A unique read-only string that changes whenever the resource is updated. -func (o ServiceAssociationLinkResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) string { return v.Etag }).(pulumi.StringOutput) -} +// Contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDnsSettingsResponseOutput struct{ *pulumi.OutputState } -// Resource ID. -func (o ServiceAssociationLinkResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (PublicIPAddressDnsSettingsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressDnsSettingsResponse)(nil)).Elem() } -// Link to the external resource. -func (o ServiceAssociationLinkResponseOutput) Link() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.Link }).(pulumi.StringPtrOutput) +func (o PublicIPAddressDnsSettingsResponseOutput) ToPublicIPAddressDnsSettingsResponseOutput() PublicIPAddressDnsSettingsResponseOutput { + return o } -// Resource type of the linked resource. -func (o ServiceAssociationLinkResponseOutput) LinkedResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +func (o PublicIPAddressDnsSettingsResponseOutput) ToPublicIPAddressDnsSettingsResponseOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsResponseOutput { + return o } -// A list of locations. -func (o ServiceAssociationLinkResponseOutput) Locations() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) []string { return v.Locations }).(pulumi.StringArrayOutput) +// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. +func (o PublicIPAddressDnsSettingsResponseOutput) DomainNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.DomainNameLabel }).(pulumi.StringPtrOutput) } -// Name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o ServiceAssociationLinkResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. +func (o PublicIPAddressDnsSettingsResponseOutput) DomainNameLabelScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.DomainNameLabelScope }).(pulumi.StringPtrOutput) } -// The provisioning state of the service association link resource. -func (o ServiceAssociationLinkResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. +func (o PublicIPAddressDnsSettingsResponseOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.Fqdn }).(pulumi.StringPtrOutput) } -// Resource type. -func (o ServiceAssociationLinkResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAssociationLinkResponse) string { return v.Type }).(pulumi.StringOutput) +// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. +func (o PublicIPAddressDnsSettingsResponseOutput) ReverseFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponse) *string { return v.ReverseFqdn }).(pulumi.StringPtrOutput) } -type ServiceAssociationLinkResponseArrayOutput struct{ *pulumi.OutputState } +type PublicIPAddressDnsSettingsResponsePtrOutput struct{ *pulumi.OutputState } -func (ServiceAssociationLinkResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceAssociationLinkResponse)(nil)).Elem() +func (PublicIPAddressDnsSettingsResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressDnsSettingsResponse)(nil)).Elem() } -func (o ServiceAssociationLinkResponseArrayOutput) ToServiceAssociationLinkResponseArrayOutput() ServiceAssociationLinkResponseArrayOutput { +func (o PublicIPAddressDnsSettingsResponsePtrOutput) ToPublicIPAddressDnsSettingsResponsePtrOutput() PublicIPAddressDnsSettingsResponsePtrOutput { return o } -func (o ServiceAssociationLinkResponseArrayOutput) ToServiceAssociationLinkResponseArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkResponseArrayOutput { +func (o PublicIPAddressDnsSettingsResponsePtrOutput) ToPublicIPAddressDnsSettingsResponsePtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsResponsePtrOutput { return o } -func (o ServiceAssociationLinkResponseArrayOutput) Index(i pulumi.IntInput) ServiceAssociationLinkResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAssociationLinkResponse { - return vs[0].([]ServiceAssociationLinkResponse)[vs[1].(int)] - }).(ServiceAssociationLinkResponseOutput) +func (o PublicIPAddressDnsSettingsResponsePtrOutput) Elem() PublicIPAddressDnsSettingsResponseOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) PublicIPAddressDnsSettingsResponse { + if v != nil { + return *v + } + var ret PublicIPAddressDnsSettingsResponse + return ret + }).(PublicIPAddressDnsSettingsResponseOutput) } -// Service End point policy resource. -type ServiceEndpointPolicyType struct { - // A collection of contextual service endpoint policy. - ContextualServiceEndpointPolicies []string `pulumi:"contextualServiceEndpointPolicies"` - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // Resource location. - Location *string `pulumi:"location"` - // The alias indicating if the policy belongs to a service - ServiceAlias *string `pulumi:"serviceAlias"` - // A collection of service endpoint policy definitions of the service endpoint policy. - ServiceEndpointPolicyDefinitions []ServiceEndpointPolicyDefinitionType `pulumi:"serviceEndpointPolicyDefinitions"` - // Resource tags. - Tags map[string]string `pulumi:"tags"` +// The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. +func (o PublicIPAddressDnsSettingsResponsePtrOutput) DomainNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { + if v == nil { + return nil + } + return v.DomainNameLabel + }).(pulumi.StringPtrOutput) } -// ServiceEndpointPolicyTypeInput is an input type that accepts ServiceEndpointPolicyTypeArgs and ServiceEndpointPolicyTypeOutput values. -// You can construct a concrete instance of `ServiceEndpointPolicyTypeInput` via: -// -// ServiceEndpointPolicyTypeArgs{...} -type ServiceEndpointPolicyTypeInput interface { - pulumi.Input - - ToServiceEndpointPolicyTypeOutput() ServiceEndpointPolicyTypeOutput - ToServiceEndpointPolicyTypeOutputWithContext(context.Context) ServiceEndpointPolicyTypeOutput +// The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. +func (o PublicIPAddressDnsSettingsResponsePtrOutput) DomainNameLabelScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { + if v == nil { + return nil + } + return v.DomainNameLabelScope + }).(pulumi.StringPtrOutput) } -// Service End point policy resource. -type ServiceEndpointPolicyTypeArgs struct { - // A collection of contextual service endpoint policy. - ContextualServiceEndpointPolicies pulumi.StringArrayInput `pulumi:"contextualServiceEndpointPolicies"` - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Resource location. - Location pulumi.StringPtrInput `pulumi:"location"` - // The alias indicating if the policy belongs to a service - ServiceAlias pulumi.StringPtrInput `pulumi:"serviceAlias"` - // A collection of service endpoint policy definitions of the service endpoint policy. - ServiceEndpointPolicyDefinitions ServiceEndpointPolicyDefinitionTypeArrayInput `pulumi:"serviceEndpointPolicyDefinitions"` - // Resource tags. - Tags pulumi.StringMapInput `pulumi:"tags"` +// The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. +func (o PublicIPAddressDnsSettingsResponsePtrOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { + if v == nil { + return nil + } + return v.Fqdn + }).(pulumi.StringPtrOutput) } -func (ServiceEndpointPolicyTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPolicyType)(nil)).Elem() +// The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. +func (o PublicIPAddressDnsSettingsResponsePtrOutput) ReverseFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponse) *string { + if v == nil { + return nil + } + return v.ReverseFqdn + }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPolicyTypeArgs) ToServiceEndpointPolicyTypeOutput() ServiceEndpointPolicyTypeOutput { - return i.ToServiceEndpointPolicyTypeOutputWithContext(context.Background()) +// Contains FQDN of the DNS record associated with the public IP address +type PublicIPAddressDnsSettingsResponseV1 struct { + // Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. + DomainNameLabel *string `pulumi:"domainNameLabel"` + // Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. + Fqdn *string `pulumi:"fqdn"` + // Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + ReverseFqdn *string `pulumi:"reverseFqdn"` } -func (i ServiceEndpointPolicyTypeArgs) ToServiceEndpointPolicyTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyTypeOutput) -} +// Contains FQDN of the DNS record associated with the public IP address +type PublicIPAddressDnsSettingsResponseV1Output struct{ *pulumi.OutputState } -// ServiceEndpointPolicyTypeArrayInput is an input type that accepts ServiceEndpointPolicyTypeArray and ServiceEndpointPolicyTypeArrayOutput values. -// You can construct a concrete instance of `ServiceEndpointPolicyTypeArrayInput` via: -// -// ServiceEndpointPolicyTypeArray{ ServiceEndpointPolicyTypeArgs{...} } -type ServiceEndpointPolicyTypeArrayInput interface { - pulumi.Input +func (PublicIPAddressDnsSettingsResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressDnsSettingsResponseV1)(nil)).Elem() +} - ToServiceEndpointPolicyTypeArrayOutput() ServiceEndpointPolicyTypeArrayOutput - ToServiceEndpointPolicyTypeArrayOutputWithContext(context.Context) ServiceEndpointPolicyTypeArrayOutput +func (o PublicIPAddressDnsSettingsResponseV1Output) ToPublicIPAddressDnsSettingsResponseV1Output() PublicIPAddressDnsSettingsResponseV1Output { + return o } -type ServiceEndpointPolicyTypeArray []ServiceEndpointPolicyTypeInput +func (o PublicIPAddressDnsSettingsResponseV1Output) ToPublicIPAddressDnsSettingsResponseV1OutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsResponseV1Output { + return o +} -func (ServiceEndpointPolicyTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPolicyType)(nil)).Elem() +// Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. +func (o PublicIPAddressDnsSettingsResponseV1Output) DomainNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponseV1) *string { return v.DomainNameLabel }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPolicyTypeArray) ToServiceEndpointPolicyTypeArrayOutput() ServiceEndpointPolicyTypeArrayOutput { - return i.ToServiceEndpointPolicyTypeArrayOutputWithContext(context.Background()) +// Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. +func (o PublicIPAddressDnsSettingsResponseV1Output) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponseV1) *string { return v.Fqdn }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPolicyTypeArray) ToServiceEndpointPolicyTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyTypeArrayOutput) +// Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. +func (o PublicIPAddressDnsSettingsResponseV1Output) ReverseFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressDnsSettingsResponseV1) *string { return v.ReverseFqdn }).(pulumi.StringPtrOutput) } -// Service End point policy resource. -type ServiceEndpointPolicyTypeOutput struct{ *pulumi.OutputState } +type PublicIPAddressDnsSettingsResponseV1PtrOutput struct{ *pulumi.OutputState } -func (ServiceEndpointPolicyTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPolicyType)(nil)).Elem() +func (PublicIPAddressDnsSettingsResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressDnsSettingsResponseV1)(nil)).Elem() } -func (o ServiceEndpointPolicyTypeOutput) ToServiceEndpointPolicyTypeOutput() ServiceEndpointPolicyTypeOutput { +func (o PublicIPAddressDnsSettingsResponseV1PtrOutput) ToPublicIPAddressDnsSettingsResponseV1PtrOutput() PublicIPAddressDnsSettingsResponseV1PtrOutput { return o } -func (o ServiceEndpointPolicyTypeOutput) ToServiceEndpointPolicyTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeOutput { +func (o PublicIPAddressDnsSettingsResponseV1PtrOutput) ToPublicIPAddressDnsSettingsResponseV1PtrOutputWithContext(ctx context.Context) PublicIPAddressDnsSettingsResponseV1PtrOutput { return o } -// A collection of contextual service endpoint policy. -func (o ServiceEndpointPolicyTypeOutput) ContextualServiceEndpointPolicies() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) []string { return v.ContextualServiceEndpointPolicies }).(pulumi.StringArrayOutput) +func (o PublicIPAddressDnsSettingsResponseV1PtrOutput) Elem() PublicIPAddressDnsSettingsResponseV1Output { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponseV1) PublicIPAddressDnsSettingsResponseV1 { + if v != nil { + return *v + } + var ret PublicIPAddressDnsSettingsResponseV1 + return ret + }).(PublicIPAddressDnsSettingsResponseV1Output) } -// A unique read-only string that changes whenever the resource is updated. -func (o ServiceEndpointPolicyTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.Etag }).(pulumi.StringPtrOutput) +// Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. +func (o PublicIPAddressDnsSettingsResponseV1PtrOutput) DomainNameLabel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponseV1) *string { + if v == nil { + return nil + } + return v.DomainNameLabel + }).(pulumi.StringPtrOutput) } -// Resource ID. -func (o ServiceEndpointPolicyTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.Id }).(pulumi.StringPtrOutput) +// Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. +func (o PublicIPAddressDnsSettingsResponseV1PtrOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponseV1) *string { + if v == nil { + return nil + } + return v.Fqdn + }).(pulumi.StringPtrOutput) } -// Resource location. -func (o ServiceEndpointPolicyTypeOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.Location }).(pulumi.StringPtrOutput) +// Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. +func (o PublicIPAddressDnsSettingsResponseV1PtrOutput) ReverseFqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressDnsSettingsResponseV1) *string { + if v == nil { + return nil + } + return v.ReverseFqdn + }).(pulumi.StringPtrOutput) } -// The alias indicating if the policy belongs to a service -func (o ServiceEndpointPolicyTypeOutput) ServiceAlias() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.ServiceAlias }).(pulumi.StringPtrOutput) +// Public IP address resource. +type PublicIPAddressResponse struct { + // The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettingsResponse `pulumi:"ddosSettings"` + // Specify what happens to the public IP address when the VM using it is deleted + DeleteOption *string `pulumi:"deleteOption"` + // The FQDN of the DNS record associated with the public IP address. + DnsSettings *PublicIPAddressDnsSettingsResponse `pulumi:"dnsSettings"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the public ip address. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // Resource ID. + Id *string `pulumi:"id"` + // The idle timeout of the public IP address. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The IP address associated with the public IP address resource. + IpAddress *string `pulumi:"ipAddress"` + // The IP configuration associated with the public IP address. + IpConfiguration IPConfigurationResponse `pulumi:"ipConfiguration"` + // The list of tags associated with the public IP address. + IpTags []IpTagResponse `pulumi:"ipTags"` + // The linked public IP address of the public IP address resource. + LinkedPublicIPAddress *PublicIPAddressResponse `pulumi:"linkedPublicIPAddress"` + // Resource location. + Location *string `pulumi:"location"` + // Migration phase of Public IP Address. + MigrationPhase *string `pulumi:"migrationPhase"` + // Resource name. + Name string `pulumi:"name"` + // The NatGateway for the Public IP address. + NatGateway *NatGatewayResponse `pulumi:"natGateway"` + // The provisioning state of the public IP address resource. + ProvisioningState string `pulumi:"provisioningState"` + // The public IP address version. + PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` + // The public IP address allocation method. + PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` + // The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResourceResponse `pulumi:"publicIPPrefix"` + // The resource GUID property of the public IP address resource. + ResourceGuid string `pulumi:"resourceGuid"` + // The service public IP address of the public IP address resource. + ServicePublicIPAddress *PublicIPAddressResponse `pulumi:"servicePublicIPAddress"` + // The public IP address SKU. + Sku *PublicIPAddressSkuResponse `pulumi:"sku"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones []string `pulumi:"zones"` } -// A collection of service endpoint policy definitions of the service endpoint policy. -func (o ServiceEndpointPolicyTypeOutput) ServiceEndpointPolicyDefinitions() ServiceEndpointPolicyDefinitionTypeArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) []ServiceEndpointPolicyDefinitionType { - return v.ServiceEndpointPolicyDefinitions - }).(ServiceEndpointPolicyDefinitionTypeArrayOutput) -} +// Defaults sets the appropriate defaults for PublicIPAddressResponse +func (val *PublicIPAddressResponse) Defaults() *PublicIPAddressResponse { + if val == nil { + return nil + } + tmp := *val + tmp.IpConfiguration = *tmp.IpConfiguration.Defaults() -// Resource tags. -func (o ServiceEndpointPolicyTypeOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v ServiceEndpointPolicyType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) + tmp.LinkedPublicIPAddress = tmp.LinkedPublicIPAddress.Defaults() + + tmp.ServicePublicIPAddress = tmp.ServicePublicIPAddress.Defaults() + + return &tmp } -type ServiceEndpointPolicyTypeArrayOutput struct{ *pulumi.OutputState } +// Public IP address resource. +type PublicIPAddressResponseOutput struct{ *pulumi.OutputState } -func (ServiceEndpointPolicyTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPolicyType)(nil)).Elem() +func (PublicIPAddressResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressResponse)(nil)).Elem() } -func (o ServiceEndpointPolicyTypeArrayOutput) ToServiceEndpointPolicyTypeArrayOutput() ServiceEndpointPolicyTypeArrayOutput { +func (o PublicIPAddressResponseOutput) ToPublicIPAddressResponseOutput() PublicIPAddressResponseOutput { return o } -func (o ServiceEndpointPolicyTypeArrayOutput) ToServiceEndpointPolicyTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeArrayOutput { +func (o PublicIPAddressResponseOutput) ToPublicIPAddressResponseOutputWithContext(ctx context.Context) PublicIPAddressResponseOutput { return o } -func (o ServiceEndpointPolicyTypeArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyType { - return vs[0].([]ServiceEndpointPolicyType)[vs[1].(int)] - }).(ServiceEndpointPolicyTypeOutput) +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseOutput) DdosSettings() DdosSettingsResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *DdosSettingsResponse { return v.DdosSettings }).(DdosSettingsResponsePtrOutput) } -// Service Endpoint policy definitions. -type ServiceEndpointPolicyDefinitionType struct { - // A description for this rule. Restricted to 140 chars. - 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"` - // 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"` - // Service endpoint name. - Service *string `pulumi:"service"` - // A list of service resources. - ServiceResources []string `pulumi:"serviceResources"` - // The type of the resource. - Type *string `pulumi:"type"` +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressResponseOutput) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.DeleteOption }).(pulumi.StringPtrOutput) } -// ServiceEndpointPolicyDefinitionTypeInput is an input type that accepts ServiceEndpointPolicyDefinitionTypeArgs and ServiceEndpointPolicyDefinitionTypeOutput values. -// You can construct a concrete instance of `ServiceEndpointPolicyDefinitionTypeInput` via: -// -// ServiceEndpointPolicyDefinitionTypeArgs{...} -type ServiceEndpointPolicyDefinitionTypeInput interface { - pulumi.Input +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseOutput) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressDnsSettingsResponse { return v.DnsSettings }).(PublicIPAddressDnsSettingsResponsePtrOutput) +} - ToServiceEndpointPolicyDefinitionTypeOutput() ServiceEndpointPolicyDefinitionTypeOutput - ToServiceEndpointPolicyDefinitionTypeOutputWithContext(context.Context) ServiceEndpointPolicyDefinitionTypeOutput +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponse) string { return v.Etag }).(pulumi.StringOutput) } -// Service Endpoint policy definitions. -type ServiceEndpointPolicyDefinitionTypeArgs struct { - // A description for this rule. Restricted to 140 chars. - Description pulumi.StringPtrInput `pulumi:"description"` - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // 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"` - // Service endpoint name. - Service pulumi.StringPtrInput `pulumi:"service"` - // A list of service resources. - ServiceResources pulumi.StringArrayInput `pulumi:"serviceResources"` - // The type of the resource. - Type pulumi.StringPtrInput `pulumi:"type"` +// The extended location of the public ip address. +func (o PublicIPAddressResponseOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (ServiceEndpointPolicyDefinitionTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPolicyDefinitionType)(nil)).Elem() +// Resource ID. +func (o PublicIPAddressResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPolicyDefinitionTypeArgs) ToServiceEndpointPolicyDefinitionTypeOutput() ServiceEndpointPolicyDefinitionTypeOutput { - return i.ToServiceEndpointPolicyDefinitionTypeOutputWithContext(context.Background()) +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -func (i ServiceEndpointPolicyDefinitionTypeArgs) ToServiceEndpointPolicyDefinitionTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyDefinitionTypeOutput) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } -// ServiceEndpointPolicyDefinitionTypeArrayInput is an input type that accepts ServiceEndpointPolicyDefinitionTypeArray and ServiceEndpointPolicyDefinitionTypeArrayOutput values. -// You can construct a concrete instance of `ServiceEndpointPolicyDefinitionTypeArrayInput` via: -// -// ServiceEndpointPolicyDefinitionTypeArray{ ServiceEndpointPolicyDefinitionTypeArgs{...} } -type ServiceEndpointPolicyDefinitionTypeArrayInput interface { - pulumi.Input +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseOutput) IpConfiguration() IPConfigurationResponseOutput { + return o.ApplyT(func(v PublicIPAddressResponse) IPConfigurationResponse { return v.IpConfiguration }).(IPConfigurationResponseOutput) +} - ToServiceEndpointPolicyDefinitionTypeArrayOutput() ServiceEndpointPolicyDefinitionTypeArrayOutput - ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(context.Context) ServiceEndpointPolicyDefinitionTypeArrayOutput +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseOutput) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponse) []IpTagResponse { return v.IpTags }).(IpTagResponseArrayOutput) } -type ServiceEndpointPolicyDefinitionTypeArray []ServiceEndpointPolicyDefinitionTypeInput +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressResponseOutput) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressResponse { return v.LinkedPublicIPAddress }).(PublicIPAddressResponsePtrOutput) +} -func (ServiceEndpointPolicyDefinitionTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionType)(nil)).Elem() +// Resource location. +func (o PublicIPAddressResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPolicyDefinitionTypeArray) ToServiceEndpointPolicyDefinitionTypeArrayOutput() ServiceEndpointPolicyDefinitionTypeArrayOutput { - return i.ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(context.Background()) +// Migration phase of Public IP Address. +func (o PublicIPAddressResponseOutput) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPolicyDefinitionTypeArray) ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyDefinitionTypeArrayOutput) +// Resource name. +func (o PublicIPAddressResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponse) string { return v.Name }).(pulumi.StringOutput) } -// Service Endpoint policy definitions. -type ServiceEndpointPolicyDefinitionTypeOutput struct{ *pulumi.OutputState } +// The NatGateway for the Public IP address. +func (o PublicIPAddressResponseOutput) NatGateway() NatGatewayResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *NatGatewayResponse { return v.NatGateway }).(NatGatewayResponsePtrOutput) +} -func (ServiceEndpointPolicyDefinitionTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPolicyDefinitionType)(nil)).Elem() +// The provisioning state of the public IP address resource. +func (o PublicIPAddressResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (o ServiceEndpointPolicyDefinitionTypeOutput) ToServiceEndpointPolicyDefinitionTypeOutput() ServiceEndpointPolicyDefinitionTypeOutput { - return o +// The public IP address version. +func (o PublicIPAddressResponseOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) } -func (o ServiceEndpointPolicyDefinitionTypeOutput) ToServiceEndpointPolicyDefinitionTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeOutput { - return o +// The public IP address allocation method. +func (o PublicIPAddressResponseOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) } -// A description for this rule. Restricted to 140 chars. -func (o ServiceEndpointPolicyDefinitionTypeOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Description }).(pulumi.StringPtrOutput) +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseOutput) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *SubResourceResponse { return v.PublicIPPrefix }).(SubResourceResponsePtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o ServiceEndpointPolicyDefinitionTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Etag }).(pulumi.StringPtrOutput) +// The resource GUID property of the public IP address resource. +func (o PublicIPAddressResponseOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) } -// Resource ID. -func (o ServiceEndpointPolicyDefinitionTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Id }).(pulumi.StringPtrOutput) +// The service public IP address of the public IP address resource. +func (o PublicIPAddressResponseOutput) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressResponse { return v.ServicePublicIPAddress }).(PublicIPAddressResponsePtrOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o ServiceEndpointPolicyDefinitionTypeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Name }).(pulumi.StringPtrOutput) +// The public IP address SKU. +func (o PublicIPAddressResponseOutput) Sku() PublicIPAddressSkuResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponse) *PublicIPAddressSkuResponse { return v.Sku }).(PublicIPAddressSkuResponsePtrOutput) } -// Service endpoint name. -func (o ServiceEndpointPolicyDefinitionTypeOutput) Service() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Service }).(pulumi.StringPtrOutput) +// Resource tags. +func (o PublicIPAddressResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PublicIPAddressResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// A list of service resources. -func (o ServiceEndpointPolicyDefinitionTypeOutput) ServiceResources() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) []string { return v.ServiceResources }).(pulumi.StringArrayOutput) +// Resource type. +func (o PublicIPAddressResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponse) string { return v.Type }).(pulumi.StringOutput) } -// The type of the resource. -func (o ServiceEndpointPolicyDefinitionTypeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Type }).(pulumi.StringPtrOutput) +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponse) []string { return v.Zones }).(pulumi.StringArrayOutput) } -type ServiceEndpointPolicyDefinitionTypeArrayOutput struct{ *pulumi.OutputState } +type PublicIPAddressResponsePtrOutput struct{ *pulumi.OutputState } -func (ServiceEndpointPolicyDefinitionTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionType)(nil)).Elem() +func (PublicIPAddressResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressResponse)(nil)).Elem() } -func (o ServiceEndpointPolicyDefinitionTypeArrayOutput) ToServiceEndpointPolicyDefinitionTypeArrayOutput() ServiceEndpointPolicyDefinitionTypeArrayOutput { +func (o PublicIPAddressResponsePtrOutput) ToPublicIPAddressResponsePtrOutput() PublicIPAddressResponsePtrOutput { return o } -func (o ServiceEndpointPolicyDefinitionTypeArrayOutput) ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeArrayOutput { +func (o PublicIPAddressResponsePtrOutput) ToPublicIPAddressResponsePtrOutputWithContext(ctx context.Context) PublicIPAddressResponsePtrOutput { return o } -func (o ServiceEndpointPolicyDefinitionTypeArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyDefinitionTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyDefinitionType { - return vs[0].([]ServiceEndpointPolicyDefinitionType)[vs[1].(int)] - }).(ServiceEndpointPolicyDefinitionTypeOutput) +func (o PublicIPAddressResponsePtrOutput) Elem() PublicIPAddressResponseOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) PublicIPAddressResponse { + if v != nil { + return *v + } + var ret PublicIPAddressResponse + return ret + }).(PublicIPAddressResponseOutput) } -// Service Endpoint policy definitions. -type ServiceEndpointPolicyDefinitionResponse struct { - // A description for this rule. Restricted to 140 chars. - 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"` - // 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 provisioning state of the service endpoint policy definition resource. - ProvisioningState string `pulumi:"provisioningState"` - // Service endpoint name. - Service *string `pulumi:"service"` - // A list of service resources. - ServiceResources []string `pulumi:"serviceResources"` - // The type of the resource. - Type *string `pulumi:"type"` +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponsePtrOutput) DdosSettings() DdosSettingsResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *DdosSettingsResponse { + if v == nil { + return nil + } + return v.DdosSettings + }).(DdosSettingsResponsePtrOutput) } -// Service Endpoint policy definitions. -type ServiceEndpointPolicyDefinitionResponseOutput struct{ *pulumi.OutputState } +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressResponsePtrOutput) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.DeleteOption + }).(pulumi.StringPtrOutput) +} -func (ServiceEndpointPolicyDefinitionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPolicyDefinitionResponse)(nil)).Elem() +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponsePtrOutput) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressDnsSettingsResponse { + if v == nil { + return nil + } + return v.DnsSettings + }).(PublicIPAddressDnsSettingsResponsePtrOutput) } -func (o ServiceEndpointPolicyDefinitionResponseOutput) ToServiceEndpointPolicyDefinitionResponseOutput() ServiceEndpointPolicyDefinitionResponseOutput { - return o +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponsePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) } -func (o ServiceEndpointPolicyDefinitionResponseOutput) ToServiceEndpointPolicyDefinitionResponseOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionResponseOutput { - return o +// The extended location of the public ip address. +func (o PublicIPAddressResponsePtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *ExtendedLocationResponse { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationResponsePtrOutput) } -// A description for this rule. Restricted to 140 chars. -func (o ServiceEndpointPolicyDefinitionResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +// Resource ID. +func (o PublicIPAddressResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -// A unique read-only string that changes whenever the resource is updated. -func (o ServiceEndpointPolicyDefinitionResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) string { return v.Etag }).(pulumi.StringOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressResponsePtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) } -// Resource ID. -func (o ServiceEndpointPolicyDefinitionResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponsePtrOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.IpAddress + }).(pulumi.StringPtrOutput) } -// The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o ServiceEndpointPolicyDefinitionResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponsePtrOutput) IpConfiguration() IPConfigurationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *IPConfigurationResponse { + if v == nil { + return nil + } + return &v.IpConfiguration + }).(IPConfigurationResponsePtrOutput) } -// The provisioning state of the service endpoint policy definition resource. -func (o ServiceEndpointPolicyDefinitionResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponsePtrOutput) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) []IpTagResponse { + if v == nil { + return nil + } + return v.IpTags + }).(IpTagResponseArrayOutput) } -// Service endpoint name. -func (o ServiceEndpointPolicyDefinitionResponseOutput) Service() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Service }).(pulumi.StringPtrOutput) +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressResponsePtrOutput) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressResponse { + if v == nil { + return nil + } + return v.LinkedPublicIPAddress + }).(PublicIPAddressResponsePtrOutput) } -// A list of service resources. -func (o ServiceEndpointPolicyDefinitionResponseOutput) ServiceResources() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) []string { return v.ServiceResources }).(pulumi.StringArrayOutput) +// Resource location. +func (o PublicIPAddressResponsePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -// The type of the resource. -func (o ServiceEndpointPolicyDefinitionResponseOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +// Migration phase of Public IP Address. +func (o PublicIPAddressResponsePtrOutput) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.MigrationPhase + }).(pulumi.StringPtrOutput) } -type ServiceEndpointPolicyDefinitionResponseArrayOutput struct{ *pulumi.OutputState } +// Resource name. +func (o PublicIPAddressResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} -func (ServiceEndpointPolicyDefinitionResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionResponse)(nil)).Elem() +// The NatGateway for the Public IP address. +func (o PublicIPAddressResponsePtrOutput) NatGateway() NatGatewayResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *NatGatewayResponse { + if v == nil { + return nil + } + return v.NatGateway + }).(NatGatewayResponsePtrOutput) } -func (o ServiceEndpointPolicyDefinitionResponseArrayOutput) ToServiceEndpointPolicyDefinitionResponseArrayOutput() ServiceEndpointPolicyDefinitionResponseArrayOutput { - return o +// The provisioning state of the public IP address resource. +func (o PublicIPAddressResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) } -func (o ServiceEndpointPolicyDefinitionResponseArrayOutput) ToServiceEndpointPolicyDefinitionResponseArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionResponseArrayOutput { - return o +// The public IP address version. +func (o PublicIPAddressResponsePtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.PublicIPAddressVersion + }).(pulumi.StringPtrOutput) } -func (o ServiceEndpointPolicyDefinitionResponseArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyDefinitionResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyDefinitionResponse { - return vs[0].([]ServiceEndpointPolicyDefinitionResponse)[vs[1].(int)] - }).(ServiceEndpointPolicyDefinitionResponseOutput) +// The public IP address allocation method. +func (o PublicIPAddressResponsePtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return v.PublicIPAllocationMethod + }).(pulumi.StringPtrOutput) } -// Service End point policy resource. -type ServiceEndpointPolicyResponse struct { - // A collection of contextual service endpoint policy. - ContextualServiceEndpointPolicies []string `pulumi:"contextualServiceEndpointPolicies"` +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponsePtrOutput) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIPPrefix + }).(SubResourceResponsePtrOutput) +} + +// The resource GUID property of the public IP address resource. +func (o PublicIPAddressResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) +} + +// The service public IP address of the public IP address resource. +func (o PublicIPAddressResponsePtrOutput) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressResponse { + if v == nil { + return nil + } + return v.ServicePublicIPAddress + }).(PublicIPAddressResponsePtrOutput) +} + +// The public IP address SKU. +func (o PublicIPAddressResponsePtrOutput) Sku() PublicIPAddressSkuResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *PublicIPAddressSkuResponse { + if v == nil { + return nil + } + return v.Sku + }).(PublicIPAddressSkuResponsePtrOutput) +} + +// Resource tags. +func (o PublicIPAddressResponsePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o PublicIPAddressResponsePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponsePtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponse) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) +} + +// Public IP address resource. +type PublicIPAddressResponseV1 struct { + // The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettingsResponseV1 `pulumi:"ddosSettings"` + // The FQDN of the DNS record associated with the public IP address. + DnsSettings *PublicIPAddressDnsSettingsResponseV1 `pulumi:"dnsSettings"` // A unique read-only string that changes whenever the resource is updated. - Etag string `pulumi:"etag"` + Etag *string `pulumi:"etag"` // Resource ID. Id *string `pulumi:"id"` - // Kind of service endpoint policy. This is metadata used for the Azure portal experience. - Kind string `pulumi:"kind"` + // The idle timeout of the public IP address. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The IP address associated with the public IP address resource. + IpAddress *string `pulumi:"ipAddress"` + // The IP configuration associated with the public IP address. + IpConfiguration IPConfigurationResponse `pulumi:"ipConfiguration"` + // The list of tags associated with the public IP address. + IpTags []IpTagResponse `pulumi:"ipTags"` // Resource location. Location *string `pulumi:"location"` // Resource name. Name string `pulumi:"name"` - // The provisioning state of the service endpoint policy resource. - ProvisioningState string `pulumi:"provisioningState"` - // The resource GUID property of the service endpoint policy resource. - ResourceGuid string `pulumi:"resourceGuid"` - // The alias indicating if the policy belongs to a service - ServiceAlias *string `pulumi:"serviceAlias"` - // A collection of service endpoint policy definitions of the service endpoint policy. - ServiceEndpointPolicyDefinitions []ServiceEndpointPolicyDefinitionResponse `pulumi:"serviceEndpointPolicyDefinitions"` - // A collection of references to subnets. - Subnets []SubnetResponse `pulumi:"subnets"` + // The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The public IP address version. + PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` + // The public IP address allocation method. + PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` + // The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResourceResponse `pulumi:"publicIPPrefix"` + // The resource GUID property of the public IP resource. + ResourceGuid *string `pulumi:"resourceGuid"` + // The public IP address SKU. + Sku *PublicIPAddressSkuResponseV1 `pulumi:"sku"` // Resource tags. Tags map[string]string `pulumi:"tags"` // Resource type. Type string `pulumi:"type"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones []string `pulumi:"zones"` } -// Service End point policy resource. -type ServiceEndpointPolicyResponseOutput struct{ *pulumi.OutputState } +// Defaults sets the appropriate defaults for PublicIPAddressResponseV1 +func (val *PublicIPAddressResponseV1) Defaults() *PublicIPAddressResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.IpConfiguration = *tmp.IpConfiguration.Defaults() -func (ServiceEndpointPolicyResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPolicyResponse)(nil)).Elem() + return &tmp } -func (o ServiceEndpointPolicyResponseOutput) ToServiceEndpointPolicyResponseOutput() ServiceEndpointPolicyResponseOutput { +// Public IP address resource. +type PublicIPAddressResponseV1Output struct{ *pulumi.OutputState } + +func (PublicIPAddressResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressResponseV1)(nil)).Elem() +} + +func (o PublicIPAddressResponseV1Output) ToPublicIPAddressResponseV1Output() PublicIPAddressResponseV1Output { return o } -func (o ServiceEndpointPolicyResponseOutput) ToServiceEndpointPolicyResponseOutputWithContext(ctx context.Context) ServiceEndpointPolicyResponseOutput { +func (o PublicIPAddressResponseV1Output) ToPublicIPAddressResponseV1OutputWithContext(ctx context.Context) PublicIPAddressResponseV1Output { return o } -// A collection of contextual service endpoint policy. -func (o ServiceEndpointPolicyResponseOutput) ContextualServiceEndpointPolicies() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) []string { return v.ContextualServiceEndpointPolicies }).(pulumi.StringArrayOutput) +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseV1Output) DdosSettings() DdosSettingsResponseV1PtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *DdosSettingsResponseV1 { return v.DdosSettings }).(DdosSettingsResponseV1PtrOutput) +} + +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseV1Output) DnsSettings() PublicIPAddressDnsSettingsResponseV1PtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *PublicIPAddressDnsSettingsResponseV1 { return v.DnsSettings }).(PublicIPAddressDnsSettingsResponseV1PtrOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o ServiceEndpointPolicyResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o PublicIPAddressResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) } // Resource ID. -func (o ServiceEndpointPolicyResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o PublicIPAddressResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Kind of service endpoint policy. This is metadata used for the Azure portal experience. -func (o ServiceEndpointPolicyResponseOutput) Kind() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Kind }).(pulumi.StringOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseV1Output) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -// Resource location. -func (o ServiceEndpointPolicyResponseOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseV1Output) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } -// Resource name. -func (o ServiceEndpointPolicyResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Name }).(pulumi.StringOutput) +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseV1Output) IpConfiguration() IPConfigurationResponseOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) IPConfigurationResponse { return v.IpConfiguration }).(IPConfigurationResponseOutput) } -// The provisioning state of the service endpoint policy resource. -func (o ServiceEndpointPolicyResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseV1Output) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) []IpTagResponse { return v.IpTags }).(IpTagResponseArrayOutput) } -// The resource GUID property of the service endpoint policy resource. -func (o ServiceEndpointPolicyResponseOutput) ResourceGuid() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +// Resource location. +func (o PublicIPAddressResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) } -// The alias indicating if the policy belongs to a service -func (o ServiceEndpointPolicyResponseOutput) ServiceAlias() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) *string { return v.ServiceAlias }).(pulumi.StringPtrOutput) +// Resource name. +func (o PublicIPAddressResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) string { return v.Name }).(pulumi.StringOutput) } -// A collection of service endpoint policy definitions of the service endpoint policy. -func (o ServiceEndpointPolicyResponseOutput) ServiceEndpointPolicyDefinitions() ServiceEndpointPolicyDefinitionResponseArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) []ServiceEndpointPolicyDefinitionResponse { - return v.ServiceEndpointPolicyDefinitions - }).(ServiceEndpointPolicyDefinitionResponseArrayOutput) +// The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o PublicIPAddressResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) } -// A collection of references to subnets. -func (o ServiceEndpointPolicyResponseOutput) Subnets() SubnetResponseArrayOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +// The public IP address version. +func (o PublicIPAddressResponseV1Output) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) +} + +// The public IP address allocation method. +func (o PublicIPAddressResponseV1Output) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseV1Output) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *SubResourceResponse { return v.PublicIPPrefix }).(SubResourceResponsePtrOutput) +} + +// The resource GUID property of the public IP resource. +func (o PublicIPAddressResponseV1Output) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *string { return v.ResourceGuid }).(pulumi.StringPtrOutput) +} + +// The public IP address SKU. +func (o PublicIPAddressResponseV1Output) Sku() PublicIPAddressSkuResponseV1PtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) *PublicIPAddressSkuResponseV1 { return v.Sku }).(PublicIPAddressSkuResponseV1PtrOutput) } // Resource tags. -func (o ServiceEndpointPolicyResponseOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o PublicIPAddressResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } // Resource type. -func (o ServiceEndpointPolicyResponseOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Type }).(pulumi.StringOutput) +func (o PublicIPAddressResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) string { return v.Type }).(pulumi.StringOutput) } -type ServiceEndpointPolicyResponseArrayOutput struct{ *pulumi.OutputState } +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseV1Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponseV1) []string { return v.Zones }).(pulumi.StringArrayOutput) +} -func (ServiceEndpointPolicyResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPolicyResponse)(nil)).Elem() +type PublicIPAddressResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (PublicIPAddressResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressResponseV1)(nil)).Elem() } -func (o ServiceEndpointPolicyResponseArrayOutput) ToServiceEndpointPolicyResponseArrayOutput() ServiceEndpointPolicyResponseArrayOutput { +func (o PublicIPAddressResponseV1PtrOutput) ToPublicIPAddressResponseV1PtrOutput() PublicIPAddressResponseV1PtrOutput { return o } -func (o ServiceEndpointPolicyResponseArrayOutput) ToServiceEndpointPolicyResponseArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyResponseArrayOutput { +func (o PublicIPAddressResponseV1PtrOutput) ToPublicIPAddressResponseV1PtrOutputWithContext(ctx context.Context) PublicIPAddressResponseV1PtrOutput { return o } -func (o ServiceEndpointPolicyResponseArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyResponse { - return vs[0].([]ServiceEndpointPolicyResponse)[vs[1].(int)] - }).(ServiceEndpointPolicyResponseOutput) +func (o PublicIPAddressResponseV1PtrOutput) Elem() PublicIPAddressResponseV1Output { + return o.ApplyT(func(v *PublicIPAddressResponseV1) PublicIPAddressResponseV1 { + if v != nil { + return *v + } + var ret PublicIPAddressResponseV1 + return ret + }).(PublicIPAddressResponseV1Output) } -// The service endpoint properties. -type ServiceEndpointPropertiesFormat struct { - // A list of locations. - Locations []string `pulumi:"locations"` - // SubResource as network identifier. - NetworkIdentifier *SubResource `pulumi:"networkIdentifier"` - // The provisioning state of the resource. - ProvisioningState *string `pulumi:"provisioningState"` - // The type of the endpoint service. - Service *string `pulumi:"service"` +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseV1PtrOutput) DdosSettings() DdosSettingsResponseV1PtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *DdosSettingsResponseV1 { + if v == nil { + return nil + } + return v.DdosSettings + }).(DdosSettingsResponseV1PtrOutput) } -// ServiceEndpointPropertiesFormatInput is an input type that accepts ServiceEndpointPropertiesFormatArgs and ServiceEndpointPropertiesFormatOutput values. -// You can construct a concrete instance of `ServiceEndpointPropertiesFormatInput` via: -// -// ServiceEndpointPropertiesFormatArgs{...} -type ServiceEndpointPropertiesFormatInput interface { - pulumi.Input +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseV1PtrOutput) DnsSettings() PublicIPAddressDnsSettingsResponseV1PtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *PublicIPAddressDnsSettingsResponseV1 { + if v == nil { + return nil + } + return v.DnsSettings + }).(PublicIPAddressDnsSettingsResponseV1PtrOutput) +} - ToServiceEndpointPropertiesFormatOutput() ServiceEndpointPropertiesFormatOutput - ToServiceEndpointPropertiesFormatOutputWithContext(context.Context) ServiceEndpointPropertiesFormatOutput +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) } -// The service endpoint properties. -type ServiceEndpointPropertiesFormatArgs struct { - // A list of locations. - Locations pulumi.StringArrayInput `pulumi:"locations"` - // SubResource as network identifier. - NetworkIdentifier SubResourcePtrInput `pulumi:"networkIdentifier"` - // The provisioning state of the resource. - ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` - // The type of the endpoint service. - Service pulumi.StringPtrInput `pulumi:"service"` +// Resource ID. +func (o PublicIPAddressResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -func (ServiceEndpointPropertiesFormatArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPropertiesFormat)(nil)).Elem() +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseV1PtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) } -func (i ServiceEndpointPropertiesFormatArgs) ToServiceEndpointPropertiesFormatOutput() ServiceEndpointPropertiesFormatOutput { - return i.ToServiceEndpointPropertiesFormatOutputWithContext(context.Background()) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseV1PtrOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.IpAddress + }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPropertiesFormatArgs) ToServiceEndpointPropertiesFormatOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPropertiesFormatOutput) +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseV1PtrOutput) IpConfiguration() IPConfigurationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *IPConfigurationResponse { + if v == nil { + return nil + } + return &v.IpConfiguration + }).(IPConfigurationResponsePtrOutput) } -// ServiceEndpointPropertiesFormatArrayInput is an input type that accepts ServiceEndpointPropertiesFormatArray and ServiceEndpointPropertiesFormatArrayOutput values. -// You can construct a concrete instance of `ServiceEndpointPropertiesFormatArrayInput` via: -// -// ServiceEndpointPropertiesFormatArray{ ServiceEndpointPropertiesFormatArgs{...} } -type ServiceEndpointPropertiesFormatArrayInput interface { - pulumi.Input +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseV1PtrOutput) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) []IpTagResponse { + if v == nil { + return nil + } + return v.IpTags + }).(IpTagResponseArrayOutput) +} - ToServiceEndpointPropertiesFormatArrayOutput() ServiceEndpointPropertiesFormatArrayOutput - ToServiceEndpointPropertiesFormatArrayOutputWithContext(context.Context) ServiceEndpointPropertiesFormatArrayOutput +// Resource location. +func (o PublicIPAddressResponseV1PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -type ServiceEndpointPropertiesFormatArray []ServiceEndpointPropertiesFormatInput +// Resource name. +func (o PublicIPAddressResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} -func (ServiceEndpointPropertiesFormatArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPropertiesFormat)(nil)).Elem() +// The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o PublicIPAddressResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPropertiesFormatArray) ToServiceEndpointPropertiesFormatArrayOutput() ServiceEndpointPropertiesFormatArrayOutput { - return i.ToServiceEndpointPropertiesFormatArrayOutputWithContext(context.Background()) +// The public IP address version. +func (o PublicIPAddressResponseV1PtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.PublicIPAddressVersion + }).(pulumi.StringPtrOutput) } -func (i ServiceEndpointPropertiesFormatArray) ToServiceEndpointPropertiesFormatArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPropertiesFormatArrayOutput) +// The public IP address allocation method. +func (o PublicIPAddressResponseV1PtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.PublicIPAllocationMethod + }).(pulumi.StringPtrOutput) } -// The service endpoint properties. -type ServiceEndpointPropertiesFormatOutput struct{ *pulumi.OutputState } +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseV1PtrOutput) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIPPrefix + }).(SubResourceResponsePtrOutput) +} -func (ServiceEndpointPropertiesFormatOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPropertiesFormat)(nil)).Elem() +// The resource GUID property of the public IP resource. +func (o PublicIPAddressResponseV1PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return v.ResourceGuid + }).(pulumi.StringPtrOutput) } -func (o ServiceEndpointPropertiesFormatOutput) ToServiceEndpointPropertiesFormatOutput() ServiceEndpointPropertiesFormatOutput { - return o +// The public IP address SKU. +func (o PublicIPAddressResponseV1PtrOutput) Sku() PublicIPAddressSkuResponseV1PtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *PublicIPAddressSkuResponseV1 { + if v == nil { + return nil + } + return v.Sku + }).(PublicIPAddressSkuResponseV1PtrOutput) } -func (o ServiceEndpointPropertiesFormatOutput) ToServiceEndpointPropertiesFormatOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatOutput { - return o +// Resource tags. +func (o PublicIPAddressResponseV1PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -// A list of locations. -func (o ServiceEndpointPropertiesFormatOutput) Locations() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormat) []string { return v.Locations }).(pulumi.StringArrayOutput) +// Resource type. +func (o PublicIPAddressResponseV1PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// SubResource as network identifier. -func (o ServiceEndpointPropertiesFormatOutput) NetworkIdentifier() SubResourcePtrOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormat) *SubResource { return v.NetworkIdentifier }).(SubResourcePtrOutput) +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseV1PtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV1) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) } -// The provisioning state of the resource. -func (o ServiceEndpointPropertiesFormatOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormat) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +// Public IP address resource. +type PublicIPAddressResponseV2 struct { + // The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettingsResponse `pulumi:"ddosSettings"` + // Specify what happens to the public IP address when the VM using it is deleted + DeleteOption *string `pulumi:"deleteOption"` + // The FQDN of the DNS record associated with the public IP address. + DnsSettings *PublicIPAddressDnsSettingsResponse `pulumi:"dnsSettings"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the public ip address. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // Resource ID. + Id *string `pulumi:"id"` + // The idle timeout of the public IP address. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The IP address associated with the public IP address resource. + IpAddress *string `pulumi:"ipAddress"` + // The IP configuration associated with the public IP address. + IpConfiguration IPConfigurationResponse `pulumi:"ipConfiguration"` + // The list of tags associated with the public IP address. + IpTags []IpTagResponse `pulumi:"ipTags"` + // The linked public IP address of the public IP address resource. + LinkedPublicIPAddress *PublicIPAddressResponse `pulumi:"linkedPublicIPAddress"` + // Resource location. + Location *string `pulumi:"location"` + // Migration phase of Public IP Address. + MigrationPhase *string `pulumi:"migrationPhase"` + // Resource name. + Name string `pulumi:"name"` + // The NatGateway for the Public IP address. + NatGateway *NatGatewayResponseV1 `pulumi:"natGateway"` + // The provisioning state of the public IP address resource. + ProvisioningState string `pulumi:"provisioningState"` + // The public IP address version. + PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` + // The public IP address allocation method. + PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` + // The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResourceResponse `pulumi:"publicIPPrefix"` + // The resource GUID property of the public IP address resource. + ResourceGuid string `pulumi:"resourceGuid"` + // The service public IP address of the public IP address resource. + ServicePublicIPAddress *PublicIPAddressResponse `pulumi:"servicePublicIPAddress"` + // The public IP address SKU. + Sku *PublicIPAddressSkuResponse `pulumi:"sku"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones []string `pulumi:"zones"` } -// The type of the endpoint service. -func (o ServiceEndpointPropertiesFormatOutput) Service() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormat) *string { return v.Service }).(pulumi.StringPtrOutput) +// Defaults sets the appropriate defaults for PublicIPAddressResponseV2 +func (val *PublicIPAddressResponseV2) Defaults() *PublicIPAddressResponseV2 { + if val == nil { + return nil + } + tmp := *val + tmp.IpConfiguration = *tmp.IpConfiguration.Defaults() + + tmp.LinkedPublicIPAddress = tmp.LinkedPublicIPAddress.Defaults() + + tmp.ServicePublicIPAddress = tmp.ServicePublicIPAddress.Defaults() + + return &tmp } -type ServiceEndpointPropertiesFormatArrayOutput struct{ *pulumi.OutputState } +// Public IP address resource. +type PublicIPAddressResponseV2Output struct{ *pulumi.OutputState } -func (ServiceEndpointPropertiesFormatArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPropertiesFormat)(nil)).Elem() +func (PublicIPAddressResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressResponseV2)(nil)).Elem() } -func (o ServiceEndpointPropertiesFormatArrayOutput) ToServiceEndpointPropertiesFormatArrayOutput() ServiceEndpointPropertiesFormatArrayOutput { +func (o PublicIPAddressResponseV2Output) ToPublicIPAddressResponseV2Output() PublicIPAddressResponseV2Output { return o } -func (o ServiceEndpointPropertiesFormatArrayOutput) ToServiceEndpointPropertiesFormatArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatArrayOutput { +func (o PublicIPAddressResponseV2Output) ToPublicIPAddressResponseV2OutputWithContext(ctx context.Context) PublicIPAddressResponseV2Output { return o } -func (o ServiceEndpointPropertiesFormatArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPropertiesFormatOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPropertiesFormat { - return vs[0].([]ServiceEndpointPropertiesFormat)[vs[1].(int)] - }).(ServiceEndpointPropertiesFormatOutput) +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseV2Output) DdosSettings() DdosSettingsResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *DdosSettingsResponse { return v.DdosSettings }).(DdosSettingsResponsePtrOutput) } -// The service endpoint properties. -type ServiceEndpointPropertiesFormatResponse struct { - // A list of locations. - Locations []string `pulumi:"locations"` - // SubResource as network identifier. - NetworkIdentifier *SubResourceResponse `pulumi:"networkIdentifier"` - // The provisioning state of the service endpoint resource. - ProvisioningState string `pulumi:"provisioningState"` - // The type of the endpoint service. - Service *string `pulumi:"service"` +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressResponseV2Output) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.DeleteOption }).(pulumi.StringPtrOutput) } -// The service endpoint properties. -type ServiceEndpointPropertiesFormatResponseOutput struct{ *pulumi.OutputState } +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseV2Output) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *PublicIPAddressDnsSettingsResponse { return v.DnsSettings }).(PublicIPAddressDnsSettingsResponsePtrOutput) +} -func (ServiceEndpointPropertiesFormatResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceEndpointPropertiesFormatResponse)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) string { return v.Etag }).(pulumi.StringOutput) } -func (o ServiceEndpointPropertiesFormatResponseOutput) ToServiceEndpointPropertiesFormatResponseOutput() ServiceEndpointPropertiesFormatResponseOutput { - return o +// The extended location of the public ip address. +func (o PublicIPAddressResponseV2Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -func (o ServiceEndpointPropertiesFormatResponseOutput) ToServiceEndpointPropertiesFormatResponseOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatResponseOutput { - return o -} - -// A list of locations. -func (o ServiceEndpointPropertiesFormatResponseOutput) Locations() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) []string { return v.Locations }).(pulumi.StringArrayOutput) -} - -// SubResource as network identifier. -func (o ServiceEndpointPropertiesFormatResponseOutput) NetworkIdentifier() SubResourceResponsePtrOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) *SubResourceResponse { return v.NetworkIdentifier }).(SubResourceResponsePtrOutput) +// Resource ID. +func (o PublicIPAddressResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The provisioning state of the service endpoint resource. -func (o ServiceEndpointPropertiesFormatResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseV2Output) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -// The type of the endpoint service. -func (o ServiceEndpointPropertiesFormatResponseOutput) Service() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) *string { return v.Service }).(pulumi.StringPtrOutput) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseV2Output) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } -type ServiceEndpointPropertiesFormatResponseArrayOutput struct{ *pulumi.OutputState } - -func (ServiceEndpointPropertiesFormatResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceEndpointPropertiesFormatResponse)(nil)).Elem() +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseV2Output) IpConfiguration() IPConfigurationResponseOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) IPConfigurationResponse { return v.IpConfiguration }).(IPConfigurationResponseOutput) } -func (o ServiceEndpointPropertiesFormatResponseArrayOutput) ToServiceEndpointPropertiesFormatResponseArrayOutput() ServiceEndpointPropertiesFormatResponseArrayOutput { - return o +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseV2Output) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) []IpTagResponse { return v.IpTags }).(IpTagResponseArrayOutput) } -func (o ServiceEndpointPropertiesFormatResponseArrayOutput) ToServiceEndpointPropertiesFormatResponseArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatResponseArrayOutput { - return o +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressResponseV2Output) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *PublicIPAddressResponse { return v.LinkedPublicIPAddress }).(PublicIPAddressResponsePtrOutput) } -func (o ServiceEndpointPropertiesFormatResponseArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPropertiesFormatResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPropertiesFormatResponse { - return vs[0].([]ServiceEndpointPropertiesFormatResponse)[vs[1].(int)] - }).(ServiceEndpointPropertiesFormatResponseOutput) +// Resource location. +func (o PublicIPAddressResponseV2Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.Location }).(pulumi.StringPtrOutput) } -// SKU of a service gateway. -type ServiceGatewaySku struct { - // Name of a service gateway SKU. - Name *string `pulumi:"name"` - // Tier of a service gateway SKU. - Tier *string `pulumi:"tier"` +// Migration phase of Public IP Address. +func (o PublicIPAddressResponseV2Output) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) } -// ServiceGatewaySkuInput is an input type that accepts ServiceGatewaySkuArgs and ServiceGatewaySkuOutput values. -// You can construct a concrete instance of `ServiceGatewaySkuInput` via: -// -// ServiceGatewaySkuArgs{...} -type ServiceGatewaySkuInput interface { - pulumi.Input - - ToServiceGatewaySkuOutput() ServiceGatewaySkuOutput - ToServiceGatewaySkuOutputWithContext(context.Context) ServiceGatewaySkuOutput +// Resource name. +func (o PublicIPAddressResponseV2Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) string { return v.Name }).(pulumi.StringOutput) } -// SKU of a service gateway. -type ServiceGatewaySkuArgs struct { - // Name of a service gateway SKU. - Name pulumi.StringPtrInput `pulumi:"name"` - // Tier of a service gateway SKU. - Tier pulumi.StringPtrInput `pulumi:"tier"` +// The NatGateway for the Public IP address. +func (o PublicIPAddressResponseV2Output) NatGateway() NatGatewayResponseV1PtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *NatGatewayResponseV1 { return v.NatGateway }).(NatGatewayResponseV1PtrOutput) } -func (ServiceGatewaySkuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceGatewaySku)(nil)).Elem() +// The provisioning state of the public IP address resource. +func (o PublicIPAddressResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) } -func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuOutput() ServiceGatewaySkuOutput { - return i.ToServiceGatewaySkuOutputWithContext(context.Background()) +// The public IP address version. +func (o PublicIPAddressResponseV2Output) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) } -func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuOutputWithContext(ctx context.Context) ServiceGatewaySkuOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceGatewaySkuOutput) +// The public IP address allocation method. +func (o PublicIPAddressResponseV2Output) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) } -func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { - return i.ToServiceGatewaySkuPtrOutputWithContext(context.Background()) +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseV2Output) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *SubResourceResponse { return v.PublicIPPrefix }).(SubResourceResponsePtrOutput) } -func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceGatewaySkuOutput).ToServiceGatewaySkuPtrOutputWithContext(ctx) +// The resource GUID property of the public IP address resource. +func (o PublicIPAddressResponseV2Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) string { return v.ResourceGuid }).(pulumi.StringOutput) } -// ServiceGatewaySkuPtrInput is an input type that accepts ServiceGatewaySkuArgs, ServiceGatewaySkuPtr and ServiceGatewaySkuPtrOutput values. -// You can construct a concrete instance of `ServiceGatewaySkuPtrInput` via: -// -// ServiceGatewaySkuArgs{...} -// -// or: -// -// nil -type ServiceGatewaySkuPtrInput interface { - pulumi.Input - - ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput - ToServiceGatewaySkuPtrOutputWithContext(context.Context) ServiceGatewaySkuPtrOutput +// The service public IP address of the public IP address resource. +func (o PublicIPAddressResponseV2Output) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *PublicIPAddressResponse { return v.ServicePublicIPAddress }).(PublicIPAddressResponsePtrOutput) } -type serviceGatewaySkuPtrType ServiceGatewaySkuArgs - -func ServiceGatewaySkuPtr(v *ServiceGatewaySkuArgs) ServiceGatewaySkuPtrInput { - return (*serviceGatewaySkuPtrType)(v) +// The public IP address SKU. +func (o PublicIPAddressResponseV2Output) Sku() PublicIPAddressSkuResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) *PublicIPAddressSkuResponse { return v.Sku }).(PublicIPAddressSkuResponsePtrOutput) } -func (*serviceGatewaySkuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceGatewaySku)(nil)).Elem() +// Resource tags. +func (o PublicIPAddressResponseV2Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -func (i *serviceGatewaySkuPtrType) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { - return i.ToServiceGatewaySkuPtrOutputWithContext(context.Background()) +// Resource type. +func (o PublicIPAddressResponseV2Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) string { return v.Type }).(pulumi.StringOutput) } -func (i *serviceGatewaySkuPtrType) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceGatewaySkuPtrOutput) +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseV2Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponseV2) []string { return v.Zones }).(pulumi.StringArrayOutput) } -// SKU of a service gateway. -type ServiceGatewaySkuOutput struct{ *pulumi.OutputState } +type PublicIPAddressResponseV2PtrOutput struct{ *pulumi.OutputState } -func (ServiceGatewaySkuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceGatewaySku)(nil)).Elem() +func (PublicIPAddressResponseV2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressResponseV2)(nil)).Elem() } -func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuOutput() ServiceGatewaySkuOutput { +func (o PublicIPAddressResponseV2PtrOutput) ToPublicIPAddressResponseV2PtrOutput() PublicIPAddressResponseV2PtrOutput { return o } -func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuOutputWithContext(ctx context.Context) ServiceGatewaySkuOutput { +func (o PublicIPAddressResponseV2PtrOutput) ToPublicIPAddressResponseV2PtrOutputWithContext(ctx context.Context) PublicIPAddressResponseV2PtrOutput { return o } -func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { - return o.ToServiceGatewaySkuPtrOutputWithContext(context.Background()) +func (o PublicIPAddressResponseV2PtrOutput) Elem() PublicIPAddressResponseV2Output { + return o.ApplyT(func(v *PublicIPAddressResponseV2) PublicIPAddressResponseV2 { + if v != nil { + return *v + } + var ret PublicIPAddressResponseV2 + return ret + }).(PublicIPAddressResponseV2Output) } -func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceGatewaySku) *ServiceGatewaySku { - return &v - }).(ServiceGatewaySkuPtrOutput) +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseV2PtrOutput) DdosSettings() DdosSettingsResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *DdosSettingsResponse { + if v == nil { + return nil + } + return v.DdosSettings + }).(DdosSettingsResponsePtrOutput) } -// Name of a service gateway SKU. -func (o ServiceGatewaySkuOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceGatewaySku) *string { return v.Name }).(pulumi.StringPtrOutput) +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressResponseV2PtrOutput) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return v.DeleteOption + }).(pulumi.StringPtrOutput) } -// Tier of a service gateway SKU. -func (o ServiceGatewaySkuOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceGatewaySku) *string { return v.Tier }).(pulumi.StringPtrOutput) +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseV2PtrOutput) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *PublicIPAddressDnsSettingsResponse { + if v == nil { + return nil + } + return v.DnsSettings + }).(PublicIPAddressDnsSettingsResponsePtrOutput) } -type ServiceGatewaySkuPtrOutput struct{ *pulumi.OutputState } - -func (ServiceGatewaySkuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceGatewaySku)(nil)).Elem() +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponseV2PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) } -func (o ServiceGatewaySkuPtrOutput) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { - return o +// The extended location of the public ip address. +func (o PublicIPAddressResponseV2PtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *ExtendedLocationResponse { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationResponsePtrOutput) } -func (o ServiceGatewaySkuPtrOutput) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { - return o +// Resource ID. +func (o PublicIPAddressResponseV2PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -func (o ServiceGatewaySkuPtrOutput) Elem() ServiceGatewaySkuOutput { - return o.ApplyT(func(v *ServiceGatewaySku) ServiceGatewaySku { - if v != nil { - return *v +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseV2PtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *int { + if v == nil { + return nil } - var ret ServiceGatewaySku - return ret - }).(ServiceGatewaySkuOutput) + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) } -// Name of a service gateway SKU. -func (o ServiceGatewaySkuPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceGatewaySku) *string { +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseV2PtrOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { if v == nil { return nil } - return v.Name + return v.IpAddress }).(pulumi.StringPtrOutput) } -// Tier of a service gateway SKU. -func (o ServiceGatewaySkuPtrOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceGatewaySku) *string { +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseV2PtrOutput) IpConfiguration() IPConfigurationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *IPConfigurationResponse { if v == nil { return nil } - return v.Tier - }).(pulumi.StringPtrOutput) + return &v.IpConfiguration + }).(IPConfigurationResponsePtrOutput) } -// SKU of a service gateway. -type ServiceGatewaySkuResponse struct { - // Name of a service gateway SKU. - Name *string `pulumi:"name"` - // Tier of a service gateway SKU. - Tier *string `pulumi:"tier"` +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseV2PtrOutput) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) []IpTagResponse { + if v == nil { + return nil + } + return v.IpTags + }).(IpTagResponseArrayOutput) } -// SKU of a service gateway. -type ServiceGatewaySkuResponseOutput struct{ *pulumi.OutputState } - -func (ServiceGatewaySkuResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceGatewaySkuResponse)(nil)).Elem() +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressResponseV2PtrOutput) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *PublicIPAddressResponse { + if v == nil { + return nil + } + return v.LinkedPublicIPAddress + }).(PublicIPAddressResponsePtrOutput) } -func (o ServiceGatewaySkuResponseOutput) ToServiceGatewaySkuResponseOutput() ServiceGatewaySkuResponseOutput { - return o +// Resource location. +func (o PublicIPAddressResponseV2PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) } -func (o ServiceGatewaySkuResponseOutput) ToServiceGatewaySkuResponseOutputWithContext(ctx context.Context) ServiceGatewaySkuResponseOutput { - return o +// Migration phase of Public IP Address. +func (o PublicIPAddressResponseV2PtrOutput) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return v.MigrationPhase + }).(pulumi.StringPtrOutput) } -// Name of a service gateway SKU. -func (o ServiceGatewaySkuResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceGatewaySkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Resource name. +func (o PublicIPAddressResponseV2PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -// Tier of a service gateway SKU. -func (o ServiceGatewaySkuResponseOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServiceGatewaySkuResponse) *string { return v.Tier }).(pulumi.StringPtrOutput) +// The NatGateway for the Public IP address. +func (o PublicIPAddressResponseV2PtrOutput) NatGateway() NatGatewayResponseV1PtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *NatGatewayResponseV1 { + if v == nil { + return nil + } + return v.NatGateway + }).(NatGatewayResponseV1PtrOutput) } -type ServiceGatewaySkuResponsePtrOutput struct{ *pulumi.OutputState } - -func (ServiceGatewaySkuResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceGatewaySkuResponse)(nil)).Elem() +// The provisioning state of the public IP address resource. +func (o PublicIPAddressResponseV2PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) } -func (o ServiceGatewaySkuResponsePtrOutput) ToServiceGatewaySkuResponsePtrOutput() ServiceGatewaySkuResponsePtrOutput { - return o +// The public IP address version. +func (o PublicIPAddressResponseV2PtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return v.PublicIPAddressVersion + }).(pulumi.StringPtrOutput) } -func (o ServiceGatewaySkuResponsePtrOutput) ToServiceGatewaySkuResponsePtrOutputWithContext(ctx context.Context) ServiceGatewaySkuResponsePtrOutput { - return o +// The public IP address allocation method. +func (o PublicIPAddressResponseV2PtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return v.PublicIPAllocationMethod + }).(pulumi.StringPtrOutput) } -func (o ServiceGatewaySkuResponsePtrOutput) Elem() ServiceGatewaySkuResponseOutput { - return o.ApplyT(func(v *ServiceGatewaySkuResponse) ServiceGatewaySkuResponse { - if v != nil { - return *v +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseV2PtrOutput) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *SubResourceResponse { + if v == nil { + return nil } - var ret ServiceGatewaySkuResponse - return ret - }).(ServiceGatewaySkuResponseOutput) + return v.PublicIPPrefix + }).(SubResourceResponsePtrOutput) } -// Name of a service gateway SKU. -func (o ServiceGatewaySkuResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceGatewaySkuResponse) *string { +// The resource GUID property of the public IP address resource. +func (o PublicIPAddressResponseV2PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { if v == nil { return nil } - return v.Name + return &v.ResourceGuid }).(pulumi.StringPtrOutput) } -// Tier of a service gateway SKU. -func (o ServiceGatewaySkuResponsePtrOutput) Tier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServiceGatewaySkuResponse) *string { +// The service public IP address of the public IP address resource. +func (o PublicIPAddressResponseV2PtrOutput) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *PublicIPAddressResponse { if v == nil { return nil } - return v.Tier - }).(pulumi.StringPtrOutput) + return v.ServicePublicIPAddress + }).(PublicIPAddressResponsePtrOutput) } -// Parameters for SharedKey. -type SharedKeyPropertiesResponse struct { - // The provisioning state of the SharedKey resource. - ProvisioningState string `pulumi:"provisioningState"` - // The value of the shared key for the vpn link connection. - SharedKey *string `pulumi:"sharedKey"` - // The length of the shared key for the vpn link connection. - SharedKeyLength *int `pulumi:"sharedKeyLength"` +// The public IP address SKU. +func (o PublicIPAddressResponseV2PtrOutput) Sku() PublicIPAddressSkuResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *PublicIPAddressSkuResponse { + if v == nil { + return nil + } + return v.Sku + }).(PublicIPAddressSkuResponsePtrOutput) } -// Parameters for SharedKey. -type SharedKeyPropertiesResponseOutput struct{ *pulumi.OutputState } - -func (SharedKeyPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SharedKeyPropertiesResponse)(nil)).Elem() +// Resource tags. +func (o PublicIPAddressResponseV2PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -func (o SharedKeyPropertiesResponseOutput) ToSharedKeyPropertiesResponseOutput() SharedKeyPropertiesResponseOutput { - return o +// Resource type. +func (o PublicIPAddressResponseV2PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -func (o SharedKeyPropertiesResponseOutput) ToSharedKeyPropertiesResponseOutputWithContext(ctx context.Context) SharedKeyPropertiesResponseOutput { - return o +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseV2PtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV2) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) } -// The provisioning state of the SharedKey resource. -func (o SharedKeyPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v SharedKeyPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// Public IP address resource. +type PublicIPAddressResponseV3 struct { + // The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettingsResponse `pulumi:"ddosSettings"` + // Specify what happens to the public IP address when the VM using it is deleted + DeleteOption *string `pulumi:"deleteOption"` + // The FQDN of the DNS record associated with the public IP address. + DnsSettings *PublicIPAddressDnsSettingsResponse `pulumi:"dnsSettings"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // The extended location of the public ip address. + ExtendedLocation *ExtendedLocationResponse `pulumi:"extendedLocation"` + // Resource ID. + Id *string `pulumi:"id"` + // The idle timeout of the public IP address. + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + // The IP address associated with the public IP address resource. + IpAddress *string `pulumi:"ipAddress"` + // The IP configuration associated with the public IP address. + IpConfiguration IPConfigurationResponse `pulumi:"ipConfiguration"` + // The list of tags associated with the public IP address. + IpTags []IpTagResponse `pulumi:"ipTags"` + // The linked public IP address of the public IP address resource. + LinkedPublicIPAddress *PublicIPAddressResponse `pulumi:"linkedPublicIPAddress"` + // Resource location. + Location *string `pulumi:"location"` + // Migration phase of Public IP Address. + MigrationPhase *string `pulumi:"migrationPhase"` + // Resource name. + Name string `pulumi:"name"` + // The NatGateway for the Public IP address. + NatGateway *NatGatewayResponseV2 `pulumi:"natGateway"` + // The provisioning state of the public IP address resource. + ProvisioningState string `pulumi:"provisioningState"` + // The public IP address version. + PublicIPAddressVersion *string `pulumi:"publicIPAddressVersion"` + // The public IP address allocation method. + PublicIPAllocationMethod *string `pulumi:"publicIPAllocationMethod"` + // The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResourceResponse `pulumi:"publicIPPrefix"` + // The resource GUID property of the public IP address resource. + ResourceGuid string `pulumi:"resourceGuid"` + // The service public IP address of the public IP address resource. + ServicePublicIPAddress *PublicIPAddressResponse `pulumi:"servicePublicIPAddress"` + // The public IP address SKU. + Sku *PublicIPAddressSkuResponse `pulumi:"sku"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` + // A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones []string `pulumi:"zones"` } -// The value of the shared key for the vpn link connection. -func (o SharedKeyPropertiesResponseOutput) SharedKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v SharedKeyPropertiesResponse) *string { return v.SharedKey }).(pulumi.StringPtrOutput) -} +// Defaults sets the appropriate defaults for PublicIPAddressResponseV3 +func (val *PublicIPAddressResponseV3) Defaults() *PublicIPAddressResponseV3 { + if val == nil { + return nil + } + tmp := *val + tmp.IpConfiguration = *tmp.IpConfiguration.Defaults() -// The length of the shared key for the vpn link connection. -func (o SharedKeyPropertiesResponseOutput) SharedKeyLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v SharedKeyPropertiesResponse) *int { return v.SharedKeyLength }).(pulumi.IntPtrOutput) -} + tmp.LinkedPublicIPAddress = tmp.LinkedPublicIPAddress.Defaults() -type SingleQueryResultResponse struct { - // Describes what is the signature enforces - Description *string `pulumi:"description"` - // Describes the list of destination ports related to this signature - DestinationPorts []string `pulumi:"destinationPorts"` - // Describes in which direction signature is being enforced: 0 - OutBound, 1 - InBound, 2 - Any, 3 - Internal, 4 - InternalOutbound, 5 - InternalInbound - Direction *int `pulumi:"direction"` - // Describes the groups the signature belongs to - Group *string `pulumi:"group"` - // Describes if this override is inherited from base policy or not - InheritedFromParentPolicy *bool `pulumi:"inheritedFromParentPolicy"` - // Describes the last updated time of the signature (provided from 3rd party vendor) - LastUpdated *string `pulumi:"lastUpdated"` - // The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny - Mode *int `pulumi:"mode"` - // Describes the protocol the signatures is being enforced in - Protocol *string `pulumi:"protocol"` - // Describes the severity of signature: 1 - High, 2 - Medium, 3 - Low - Severity *int `pulumi:"severity"` - // The ID of the signature - SignatureId *int `pulumi:"signatureId"` - // Describes the list of source ports related to this signature - SourcePorts []string `pulumi:"sourcePorts"` + tmp.ServicePublicIPAddress = tmp.ServicePublicIPAddress.Defaults() + + return &tmp } -type SingleQueryResultResponseOutput struct{ *pulumi.OutputState } +// Public IP address resource. +type PublicIPAddressResponseV3Output struct{ *pulumi.OutputState } -func (SingleQueryResultResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SingleQueryResultResponse)(nil)).Elem() +func (PublicIPAddressResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressResponseV3)(nil)).Elem() } -func (o SingleQueryResultResponseOutput) ToSingleQueryResultResponseOutput() SingleQueryResultResponseOutput { +func (o PublicIPAddressResponseV3Output) ToPublicIPAddressResponseV3Output() PublicIPAddressResponseV3Output { return o } -func (o SingleQueryResultResponseOutput) ToSingleQueryResultResponseOutputWithContext(ctx context.Context) SingleQueryResultResponseOutput { +func (o PublicIPAddressResponseV3Output) ToPublicIPAddressResponseV3OutputWithContext(ctx context.Context) PublicIPAddressResponseV3Output { return o } -// Describes what is the signature enforces -func (o SingleQueryResultResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseV3Output) DdosSettings() DdosSettingsResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *DdosSettingsResponse { return v.DdosSettings }).(DdosSettingsResponsePtrOutput) } -// Describes the list of destination ports related to this signature -func (o SingleQueryResultResponseOutput) DestinationPorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v SingleQueryResultResponse) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressResponseV3Output) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.DeleteOption }).(pulumi.StringPtrOutput) } -// Describes in which direction signature is being enforced: 0 - OutBound, 1 - InBound, 2 - Any, 3 - Internal, 4 - InternalOutbound, 5 - InternalInbound -func (o SingleQueryResultResponseOutput) Direction() pulumi.IntPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.Direction }).(pulumi.IntPtrOutput) +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseV3Output) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *PublicIPAddressDnsSettingsResponse { return v.DnsSettings }).(PublicIPAddressDnsSettingsResponsePtrOutput) } -// Describes the groups the signature belongs to -func (o SingleQueryResultResponseOutput) Group() pulumi.StringPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.Group }).(pulumi.StringPtrOutput) +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponseV3Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) string { return v.Etag }).(pulumi.StringOutput) } -// Describes if this override is inherited from base policy or not -func (o SingleQueryResultResponseOutput) InheritedFromParentPolicy() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *bool { return v.InheritedFromParentPolicy }).(pulumi.BoolPtrOutput) +// The extended location of the public ip address. +func (o PublicIPAddressResponseV3Output) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *ExtendedLocationResponse { return v.ExtendedLocation }).(ExtendedLocationResponsePtrOutput) } -// Describes the last updated time of the signature (provided from 3rd party vendor) -func (o SingleQueryResultResponseOutput) LastUpdated() pulumi.StringPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.LastUpdated }).(pulumi.StringPtrOutput) +// Resource ID. +func (o PublicIPAddressResponseV3Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny -func (o SingleQueryResultResponseOutput) Mode() pulumi.IntPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.Mode }).(pulumi.IntPtrOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseV3Output) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) } -// Describes the protocol the signatures is being enforced in -func (o SingleQueryResultResponseOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseV3Output) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } -// Describes the severity of signature: 1 - High, 2 - Medium, 3 - Low -func (o SingleQueryResultResponseOutput) Severity() pulumi.IntPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.Severity }).(pulumi.IntPtrOutput) +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseV3Output) IpConfiguration() IPConfigurationResponseOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) IPConfigurationResponse { return v.IpConfiguration }).(IPConfigurationResponseOutput) } -// The ID of the signature -func (o SingleQueryResultResponseOutput) SignatureId() pulumi.IntPtrOutput { - return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.SignatureId }).(pulumi.IntPtrOutput) +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseV3Output) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) []IpTagResponse { return v.IpTags }).(IpTagResponseArrayOutput) } -// Describes the list of source ports related to this signature -func (o SingleQueryResultResponseOutput) SourcePorts() pulumi.StringArrayOutput { - return o.ApplyT(func(v SingleQueryResultResponse) []string { return v.SourcePorts }).(pulumi.StringArrayOutput) +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressResponseV3Output) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *PublicIPAddressResponse { return v.LinkedPublicIPAddress }).(PublicIPAddressResponsePtrOutput) } -type SingleQueryResultResponseArrayOutput struct{ *pulumi.OutputState } - -func (SingleQueryResultResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SingleQueryResultResponse)(nil)).Elem() +// Resource location. +func (o PublicIPAddressResponseV3Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.Location }).(pulumi.StringPtrOutput) } -func (o SingleQueryResultResponseArrayOutput) ToSingleQueryResultResponseArrayOutput() SingleQueryResultResponseArrayOutput { - return o +// Migration phase of Public IP Address. +func (o PublicIPAddressResponseV3Output) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.MigrationPhase }).(pulumi.StringPtrOutput) } -func (o SingleQueryResultResponseArrayOutput) ToSingleQueryResultResponseArrayOutputWithContext(ctx context.Context) SingleQueryResultResponseArrayOutput { - return o +// Resource name. +func (o PublicIPAddressResponseV3Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) string { return v.Name }).(pulumi.StringOutput) } -func (o SingleQueryResultResponseArrayOutput) Index(i pulumi.IntInput) SingleQueryResultResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SingleQueryResultResponse { - return vs[0].([]SingleQueryResultResponse)[vs[1].(int)] - }).(SingleQueryResultResponseOutput) +// The NatGateway for the Public IP address. +func (o PublicIPAddressResponseV3Output) NatGateway() NatGatewayResponseV2PtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *NatGatewayResponseV2 { return v.NatGateway }).(NatGatewayResponseV2PtrOutput) } -// The sku of this Bastion Host. -type Sku struct { - // The name of the sku of this Bastion Host. - Name *string `pulumi:"name"` +// The provisioning state of the public IP address resource. +func (o PublicIPAddressResponseV3Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Defaults sets the appropriate defaults for Sku -func (val *Sku) Defaults() *Sku { - if val == nil { - return nil - } - tmp := *val - if tmp.Name == nil { - name_ := "Standard" - tmp.Name = &name_ - } - return &tmp +// The public IP address version. +func (o PublicIPAddressResponseV3Output) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.PublicIPAddressVersion }).(pulumi.StringPtrOutput) } -// SkuInput is an input type that accepts SkuArgs and SkuOutput values. -// You can construct a concrete instance of `SkuInput` via: -// -// SkuArgs{...} -type SkuInput interface { - pulumi.Input - - ToSkuOutput() SkuOutput - ToSkuOutputWithContext(context.Context) SkuOutput +// The public IP address allocation method. +func (o PublicIPAddressResponseV3Output) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *string { return v.PublicIPAllocationMethod }).(pulumi.StringPtrOutput) } -// The sku of this Bastion Host. -type SkuArgs struct { - // The name of the sku of this Bastion Host. - Name pulumi.StringPtrInput `pulumi:"name"` +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseV3Output) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *SubResourceResponse { return v.PublicIPPrefix }).(SubResourceResponsePtrOutput) } -// Defaults sets the appropriate defaults for SkuArgs -func (val *SkuArgs) Defaults() *SkuArgs { - if val == nil { - return nil - } - tmp := *val - if tmp.Name == nil { - tmp.Name = pulumi.StringPtr("Standard") - } - return &tmp -} -func (SkuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*Sku)(nil)).Elem() +// The resource GUID property of the public IP address resource. +func (o PublicIPAddressResponseV3Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) string { return v.ResourceGuid }).(pulumi.StringOutput) } -func (i SkuArgs) ToSkuOutput() SkuOutput { - return i.ToSkuOutputWithContext(context.Background()) +// The service public IP address of the public IP address resource. +func (o PublicIPAddressResponseV3Output) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *PublicIPAddressResponse { return v.ServicePublicIPAddress }).(PublicIPAddressResponsePtrOutput) } -func (i SkuArgs) ToSkuOutputWithContext(ctx context.Context) SkuOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkuOutput) +// The public IP address SKU. +func (o PublicIPAddressResponseV3Output) Sku() PublicIPAddressSkuResponsePtrOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) *PublicIPAddressSkuResponse { return v.Sku }).(PublicIPAddressSkuResponsePtrOutput) } -func (i SkuArgs) ToSkuPtrOutput() SkuPtrOutput { - return i.ToSkuPtrOutputWithContext(context.Background()) +// Resource tags. +func (o PublicIPAddressResponseV3Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -func (i SkuArgs) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkuOutput).ToSkuPtrOutputWithContext(ctx) +// Resource type. +func (o PublicIPAddressResponseV3Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) string { return v.Type }).(pulumi.StringOutput) } -// SkuPtrInput is an input type that accepts SkuArgs, SkuPtr and SkuPtrOutput values. -// You can construct a concrete instance of `SkuPtrInput` via: -// -// SkuArgs{...} -// -// or: -// -// nil -type SkuPtrInput interface { - pulumi.Input - - ToSkuPtrOutput() SkuPtrOutput - ToSkuPtrOutputWithContext(context.Context) SkuPtrOutput +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseV3Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v PublicIPAddressResponseV3) []string { return v.Zones }).(pulumi.StringArrayOutput) } -type skuPtrType SkuArgs +type PublicIPAddressResponseV3PtrOutput struct{ *pulumi.OutputState } -func SkuPtr(v *SkuArgs) SkuPtrInput { - return (*skuPtrType)(v) +func (PublicIPAddressResponseV3PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressResponseV3)(nil)).Elem() } -func (*skuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**Sku)(nil)).Elem() +func (o PublicIPAddressResponseV3PtrOutput) ToPublicIPAddressResponseV3PtrOutput() PublicIPAddressResponseV3PtrOutput { + return o } -func (i *skuPtrType) ToSkuPtrOutput() SkuPtrOutput { - return i.ToSkuPtrOutputWithContext(context.Background()) +func (o PublicIPAddressResponseV3PtrOutput) ToPublicIPAddressResponseV3PtrOutputWithContext(ctx context.Context) PublicIPAddressResponseV3PtrOutput { + return o } -func (i *skuPtrType) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkuPtrOutput) +func (o PublicIPAddressResponseV3PtrOutput) Elem() PublicIPAddressResponseV3Output { + return o.ApplyT(func(v *PublicIPAddressResponseV3) PublicIPAddressResponseV3 { + if v != nil { + return *v + } + var ret PublicIPAddressResponseV3 + return ret + }).(PublicIPAddressResponseV3Output) } -// The sku of this Bastion Host. -type SkuOutput struct{ *pulumi.OutputState } +// The DDoS protection custom policy associated with the public IP address. +func (o PublicIPAddressResponseV3PtrOutput) DdosSettings() DdosSettingsResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *DdosSettingsResponse { + if v == nil { + return nil + } + return v.DdosSettings + }).(DdosSettingsResponsePtrOutput) +} -func (SkuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Sku)(nil)).Elem() +// Specify what happens to the public IP address when the VM using it is deleted +func (o PublicIPAddressResponseV3PtrOutput) DeleteOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return v.DeleteOption + }).(pulumi.StringPtrOutput) } -func (o SkuOutput) ToSkuOutput() SkuOutput { - return o +// The FQDN of the DNS record associated with the public IP address. +func (o PublicIPAddressResponseV3PtrOutput) DnsSettings() PublicIPAddressDnsSettingsResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *PublicIPAddressDnsSettingsResponse { + if v == nil { + return nil + } + return v.DnsSettings + }).(PublicIPAddressDnsSettingsResponsePtrOutput) } -func (o SkuOutput) ToSkuOutputWithContext(ctx context.Context) SkuOutput { - return o +// A unique read-only string that changes whenever the resource is updated. +func (o PublicIPAddressResponseV3PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) } -func (o SkuOutput) ToSkuPtrOutput() SkuPtrOutput { - return o.ToSkuPtrOutputWithContext(context.Background()) +// The extended location of the public ip address. +func (o PublicIPAddressResponseV3PtrOutput) ExtendedLocation() ExtendedLocationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *ExtendedLocationResponse { + if v == nil { + return nil + } + return v.ExtendedLocation + }).(ExtendedLocationResponsePtrOutput) } -func (o SkuOutput) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v Sku) *Sku { - return &v - }).(SkuPtrOutput) +// Resource ID. +func (o PublicIPAddressResponseV3PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -// The name of the sku of this Bastion Host. -func (o SkuOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v Sku) *string { return v.Name }).(pulumi.StringPtrOutput) +// The idle timeout of the public IP address. +func (o PublicIPAddressResponseV3PtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) } -type SkuPtrOutput struct{ *pulumi.OutputState } - -func (SkuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Sku)(nil)).Elem() +// The IP address associated with the public IP address resource. +func (o PublicIPAddressResponseV3PtrOutput) IpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return v.IpAddress + }).(pulumi.StringPtrOutput) } -func (o SkuPtrOutput) ToSkuPtrOutput() SkuPtrOutput { - return o +// The IP configuration associated with the public IP address. +func (o PublicIPAddressResponseV3PtrOutput) IpConfiguration() IPConfigurationResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *IPConfigurationResponse { + if v == nil { + return nil + } + return &v.IpConfiguration + }).(IPConfigurationResponsePtrOutput) } -func (o SkuPtrOutput) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { - return o +// The list of tags associated with the public IP address. +func (o PublicIPAddressResponseV3PtrOutput) IpTags() IpTagResponseArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) []IpTagResponse { + if v == nil { + return nil + } + return v.IpTags + }).(IpTagResponseArrayOutput) } -func (o SkuPtrOutput) Elem() SkuOutput { - return o.ApplyT(func(v *Sku) Sku { - if v != nil { - return *v +// The linked public IP address of the public IP address resource. +func (o PublicIPAddressResponseV3PtrOutput) LinkedPublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *PublicIPAddressResponse { + if v == nil { + return nil } - var ret Sku - return ret - }).(SkuOutput) + return v.LinkedPublicIPAddress + }).(PublicIPAddressResponsePtrOutput) } -// The name of the sku of this Bastion Host. -func (o SkuPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Sku) *string { +// Resource location. +func (o PublicIPAddressResponseV3PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { if v == nil { return nil } - return v.Name + return v.Location }).(pulumi.StringPtrOutput) } -// The sku of this Bastion Host. -type SkuResponse struct { - // The name of the sku of this Bastion Host. - Name *string `pulumi:"name"` +// Migration phase of Public IP Address. +func (o PublicIPAddressResponseV3PtrOutput) MigrationPhase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return v.MigrationPhase + }).(pulumi.StringPtrOutput) } -// Defaults sets the appropriate defaults for SkuResponse -func (val *SkuResponse) Defaults() *SkuResponse { - if val == nil { - return nil - } - tmp := *val - if tmp.Name == nil { - name_ := "Standard" - tmp.Name = &name_ - } - return &tmp +// Resource name. +func (o PublicIPAddressResponseV3PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -// The sku of this Bastion Host. -type SkuResponseOutput struct{ *pulumi.OutputState } - -func (SkuResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkuResponse)(nil)).Elem() +// The NatGateway for the Public IP address. +func (o PublicIPAddressResponseV3PtrOutput) NatGateway() NatGatewayResponseV2PtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *NatGatewayResponseV2 { + if v == nil { + return nil + } + return v.NatGateway + }).(NatGatewayResponseV2PtrOutput) } -func (o SkuResponseOutput) ToSkuResponseOutput() SkuResponseOutput { - return o +// The provisioning state of the public IP address resource. +func (o PublicIPAddressResponseV3PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) } -func (o SkuResponseOutput) ToSkuResponseOutputWithContext(ctx context.Context) SkuResponseOutput { - return o +// The public IP address version. +func (o PublicIPAddressResponseV3PtrOutput) PublicIPAddressVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return v.PublicIPAddressVersion + }).(pulumi.StringPtrOutput) } -// The name of the sku of this Bastion Host. -func (o SkuResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// The public IP address allocation method. +func (o PublicIPAddressResponseV3PtrOutput) PublicIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return v.PublicIPAllocationMethod + }).(pulumi.StringPtrOutput) } -type SkuResponsePtrOutput struct{ *pulumi.OutputState } +// The Public IP Prefix this Public IP Address should be allocated from. +func (o PublicIPAddressResponseV3PtrOutput) PublicIPPrefix() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *SubResourceResponse { + if v == nil { + return nil + } + return v.PublicIPPrefix + }).(SubResourceResponsePtrOutput) +} -func (SkuResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkuResponse)(nil)).Elem() +// The resource GUID property of the public IP address resource. +func (o PublicIPAddressResponseV3PtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) } -func (o SkuResponsePtrOutput) ToSkuResponsePtrOutput() SkuResponsePtrOutput { - return o +// The service public IP address of the public IP address resource. +func (o PublicIPAddressResponseV3PtrOutput) ServicePublicIPAddress() PublicIPAddressResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *PublicIPAddressResponse { + if v == nil { + return nil + } + return v.ServicePublicIPAddress + }).(PublicIPAddressResponsePtrOutput) } -func (o SkuResponsePtrOutput) ToSkuResponsePtrOutputWithContext(ctx context.Context) SkuResponsePtrOutput { - return o +// The public IP address SKU. +func (o PublicIPAddressResponseV3PtrOutput) Sku() PublicIPAddressSkuResponsePtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *PublicIPAddressSkuResponse { + if v == nil { + return nil + } + return v.Sku + }).(PublicIPAddressSkuResponsePtrOutput) } -func (o SkuResponsePtrOutput) Elem() SkuResponseOutput { - return o.ApplyT(func(v *SkuResponse) SkuResponse { - if v != nil { - return *v +// Resource tags. +func (o PublicIPAddressResponseV3PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) map[string]string { + if v == nil { + return nil } - var ret SkuResponse - return ret - }).(SkuResponseOutput) + return v.Tags + }).(pulumi.StringMapOutput) } -// The name of the sku of this Bastion Host. -func (o SkuResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkuResponse) *string { +// Resource type. +func (o PublicIPAddressResponseV3PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) *string { if v == nil { return nil } - return v.Name + return &v.Type }).(pulumi.StringPtrOutput) } -// Properties of static CIDR resource. -type StaticCidrProperties struct { - // List of IP address prefixes of the resource. - AddressPrefixes []string `pulumi:"addressPrefixes"` - Description *string `pulumi:"description"` - // Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. - NumberOfIPAddressesToAllocate *string `pulumi:"numberOfIPAddressesToAllocate"` +// A list of availability zones denoting the IP allocated for the resource needs to come from. +func (o PublicIPAddressResponseV3PtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PublicIPAddressResponseV3) []string { + if v == nil { + return nil + } + return v.Zones + }).(pulumi.StringArrayOutput) } -// StaticCidrPropertiesInput is an input type that accepts StaticCidrPropertiesArgs and StaticCidrPropertiesOutput values. -// You can construct a concrete instance of `StaticCidrPropertiesInput` via: +// SKU of a public IP address. +type PublicIPAddressSku struct { + // Name of a public IP address SKU. + Name *string `pulumi:"name"` + // Tier of a public IP address SKU. + Tier *string `pulumi:"tier"` +} + +// PublicIPAddressSkuInput is an input type that accepts PublicIPAddressSkuArgs and PublicIPAddressSkuOutput values. +// You can construct a concrete instance of `PublicIPAddressSkuInput` via: // -// StaticCidrPropertiesArgs{...} -type StaticCidrPropertiesInput interface { +// PublicIPAddressSkuArgs{...} +type PublicIPAddressSkuInput interface { pulumi.Input - ToStaticCidrPropertiesOutput() StaticCidrPropertiesOutput - ToStaticCidrPropertiesOutputWithContext(context.Context) StaticCidrPropertiesOutput + ToPublicIPAddressSkuOutput() PublicIPAddressSkuOutput + ToPublicIPAddressSkuOutputWithContext(context.Context) PublicIPAddressSkuOutput } -// Properties of static CIDR resource. -type StaticCidrPropertiesArgs struct { - // List of IP address prefixes of the resource. - AddressPrefixes pulumi.StringArrayInput `pulumi:"addressPrefixes"` - Description pulumi.StringPtrInput `pulumi:"description"` - // Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. - NumberOfIPAddressesToAllocate pulumi.StringPtrInput `pulumi:"numberOfIPAddressesToAllocate"` +// SKU of a public IP address. +type PublicIPAddressSkuArgs struct { + // Name of a public IP address SKU. + Name pulumi.StringPtrInput `pulumi:"name"` + // Tier of a public IP address SKU. + Tier pulumi.StringPtrInput `pulumi:"tier"` } -func (StaticCidrPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StaticCidrProperties)(nil)).Elem() +func (PublicIPAddressSkuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressSku)(nil)).Elem() } -func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesOutput() StaticCidrPropertiesOutput { - return i.ToStaticCidrPropertiesOutputWithContext(context.Background()) +func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuOutput() PublicIPAddressSkuOutput { + return i.ToPublicIPAddressSkuOutputWithContext(context.Background()) } -func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesOutputWithContext(ctx context.Context) StaticCidrPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticCidrPropertiesOutput) +func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuOutputWithContext(ctx context.Context) PublicIPAddressSkuOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressSkuOutput) } -func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { - return i.ToStaticCidrPropertiesPtrOutputWithContext(context.Background()) +func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { + return i.ToPublicIPAddressSkuPtrOutputWithContext(context.Background()) } -func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticCidrPropertiesOutput).ToStaticCidrPropertiesPtrOutputWithContext(ctx) +func (i PublicIPAddressSkuArgs) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressSkuOutput).ToPublicIPAddressSkuPtrOutputWithContext(ctx) } -// StaticCidrPropertiesPtrInput is an input type that accepts StaticCidrPropertiesArgs, StaticCidrPropertiesPtr and StaticCidrPropertiesPtrOutput values. -// You can construct a concrete instance of `StaticCidrPropertiesPtrInput` via: +// PublicIPAddressSkuPtrInput is an input type that accepts PublicIPAddressSkuArgs, PublicIPAddressSkuPtr and PublicIPAddressSkuPtrOutput values. +// You can construct a concrete instance of `PublicIPAddressSkuPtrInput` via: // -// StaticCidrPropertiesArgs{...} +// PublicIPAddressSkuArgs{...} // // or: // // nil -type StaticCidrPropertiesPtrInput interface { +type PublicIPAddressSkuPtrInput interface { pulumi.Input - ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput - ToStaticCidrPropertiesPtrOutputWithContext(context.Context) StaticCidrPropertiesPtrOutput + ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput + ToPublicIPAddressSkuPtrOutputWithContext(context.Context) PublicIPAddressSkuPtrOutput } -type staticCidrPropertiesPtrType StaticCidrPropertiesArgs +type publicIPAddressSkuPtrType PublicIPAddressSkuArgs -func StaticCidrPropertiesPtr(v *StaticCidrPropertiesArgs) StaticCidrPropertiesPtrInput { - return (*staticCidrPropertiesPtrType)(v) +func PublicIPAddressSkuPtr(v *PublicIPAddressSkuArgs) PublicIPAddressSkuPtrInput { + return (*publicIPAddressSkuPtrType)(v) } -func (*staticCidrPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StaticCidrProperties)(nil)).Elem() +func (*publicIPAddressSkuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressSku)(nil)).Elem() } -func (i *staticCidrPropertiesPtrType) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { - return i.ToStaticCidrPropertiesPtrOutputWithContext(context.Background()) +func (i *publicIPAddressSkuPtrType) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { + return i.ToPublicIPAddressSkuPtrOutputWithContext(context.Background()) } -func (i *staticCidrPropertiesPtrType) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticCidrPropertiesPtrOutput) +func (i *publicIPAddressSkuPtrType) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPAddressSkuPtrOutput) } -// Properties of static CIDR resource. -type StaticCidrPropertiesOutput struct{ *pulumi.OutputState } +// SKU of a public IP address. +type PublicIPAddressSkuOutput struct{ *pulumi.OutputState } -func (StaticCidrPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticCidrProperties)(nil)).Elem() +func (PublicIPAddressSkuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressSku)(nil)).Elem() } -func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesOutput() StaticCidrPropertiesOutput { +func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuOutput() PublicIPAddressSkuOutput { return o } -func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesOutputWithContext(ctx context.Context) StaticCidrPropertiesOutput { +func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuOutputWithContext(ctx context.Context) PublicIPAddressSkuOutput { return o } -func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { - return o.ToStaticCidrPropertiesPtrOutputWithContext(context.Background()) +func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { + return o.ToPublicIPAddressSkuPtrOutputWithContext(context.Background()) } -func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticCidrProperties) *StaticCidrProperties { +func (o PublicIPAddressSkuOutput) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPAddressSku) *PublicIPAddressSku { return &v - }).(StaticCidrPropertiesPtrOutput) -} - -// List of IP address prefixes of the resource. -func (o StaticCidrPropertiesOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v StaticCidrProperties) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) + }).(PublicIPAddressSkuPtrOutput) } -func (o StaticCidrPropertiesOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticCidrProperties) *string { return v.Description }).(pulumi.StringPtrOutput) +// Name of a public IP address SKU. +func (o PublicIPAddressSkuOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressSku) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. -func (o StaticCidrPropertiesOutput) NumberOfIPAddressesToAllocate() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticCidrProperties) *string { return v.NumberOfIPAddressesToAllocate }).(pulumi.StringPtrOutput) +// Tier of a public IP address SKU. +func (o PublicIPAddressSkuOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressSku) *string { return v.Tier }).(pulumi.StringPtrOutput) } -type StaticCidrPropertiesPtrOutput struct{ *pulumi.OutputState } +type PublicIPAddressSkuPtrOutput struct{ *pulumi.OutputState } -func (StaticCidrPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StaticCidrProperties)(nil)).Elem() +func (PublicIPAddressSkuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressSku)(nil)).Elem() } -func (o StaticCidrPropertiesPtrOutput) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { +func (o PublicIPAddressSkuPtrOutput) ToPublicIPAddressSkuPtrOutput() PublicIPAddressSkuPtrOutput { return o } -func (o StaticCidrPropertiesPtrOutput) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { +func (o PublicIPAddressSkuPtrOutput) ToPublicIPAddressSkuPtrOutputWithContext(ctx context.Context) PublicIPAddressSkuPtrOutput { return o } -func (o StaticCidrPropertiesPtrOutput) Elem() StaticCidrPropertiesOutput { - return o.ApplyT(func(v *StaticCidrProperties) StaticCidrProperties { +func (o PublicIPAddressSkuPtrOutput) Elem() PublicIPAddressSkuOutput { + return o.ApplyT(func(v *PublicIPAddressSku) PublicIPAddressSku { if v != nil { return *v } - var ret StaticCidrProperties + var ret PublicIPAddressSku return ret - }).(StaticCidrPropertiesOutput) + }).(PublicIPAddressSkuOutput) } -// List of IP address prefixes of the resource. -func (o StaticCidrPropertiesPtrOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *StaticCidrProperties) []string { +// Name of a public IP address SKU. +func (o PublicIPAddressSkuPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressSku) *string { if v == nil { return nil } - return v.AddressPrefixes - }).(pulumi.StringArrayOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -func (o StaticCidrPropertiesPtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StaticCidrProperties) *string { +// Tier of a public IP address SKU. +func (o PublicIPAddressSkuPtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressSku) *string { if v == nil { return nil } - return v.Description + return v.Tier }).(pulumi.StringPtrOutput) } -// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. -func (o StaticCidrPropertiesPtrOutput) NumberOfIPAddressesToAllocate() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StaticCidrProperties) *string { - if v == nil { - return nil - } - return v.NumberOfIPAddressesToAllocate - }).(pulumi.StringPtrOutput) +// SKU of a public IP address. +type PublicIPAddressSkuResponse struct { + // Name of a public IP address SKU. + Name *string `pulumi:"name"` + // Tier of a public IP address SKU. + Tier *string `pulumi:"tier"` } -// Properties of static CIDR resource. -type StaticCidrPropertiesResponse struct { - // List of IP address prefixes of the resource. - AddressPrefixes []string `pulumi:"addressPrefixes"` - Description *string `pulumi:"description"` - // Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. - NumberOfIPAddressesToAllocate *string `pulumi:"numberOfIPAddressesToAllocate"` - // Provisioning states of a resource. - ProvisioningState string `pulumi:"provisioningState"` - // Total number of IP addresses allocated for the static CIDR resource. - TotalNumberOfIPAddresses string `pulumi:"totalNumberOfIPAddresses"` +// SKU of a public IP address. +type PublicIPAddressSkuResponseOutput struct{ *pulumi.OutputState } + +func (PublicIPAddressSkuResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressSkuResponse)(nil)).Elem() } -// Properties of static CIDR resource. -type StaticCidrPropertiesResponseOutput struct{ *pulumi.OutputState } +func (o PublicIPAddressSkuResponseOutput) ToPublicIPAddressSkuResponseOutput() PublicIPAddressSkuResponseOutput { + return o +} -func (StaticCidrPropertiesResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticCidrPropertiesResponse)(nil)).Elem() +func (o PublicIPAddressSkuResponseOutput) ToPublicIPAddressSkuResponseOutputWithContext(ctx context.Context) PublicIPAddressSkuResponseOutput { + return o } -func (o StaticCidrPropertiesResponseOutput) ToStaticCidrPropertiesResponseOutput() StaticCidrPropertiesResponseOutput { +// Name of a public IP address SKU. +func (o PublicIPAddressSkuResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressSkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Tier of a public IP address SKU. +func (o PublicIPAddressSkuResponseOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressSkuResponse) *string { return v.Tier }).(pulumi.StringPtrOutput) +} + +type PublicIPAddressSkuResponsePtrOutput struct{ *pulumi.OutputState } + +func (PublicIPAddressSkuResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressSkuResponse)(nil)).Elem() +} + +func (o PublicIPAddressSkuResponsePtrOutput) ToPublicIPAddressSkuResponsePtrOutput() PublicIPAddressSkuResponsePtrOutput { return o } -func (o StaticCidrPropertiesResponseOutput) ToStaticCidrPropertiesResponseOutputWithContext(ctx context.Context) StaticCidrPropertiesResponseOutput { +func (o PublicIPAddressSkuResponsePtrOutput) ToPublicIPAddressSkuResponsePtrOutputWithContext(ctx context.Context) PublicIPAddressSkuResponsePtrOutput { return o } -// List of IP address prefixes of the resource. -func (o StaticCidrPropertiesResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v StaticCidrPropertiesResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +func (o PublicIPAddressSkuResponsePtrOutput) Elem() PublicIPAddressSkuResponseOutput { + return o.ApplyT(func(v *PublicIPAddressSkuResponse) PublicIPAddressSkuResponse { + if v != nil { + return *v + } + var ret PublicIPAddressSkuResponse + return ret + }).(PublicIPAddressSkuResponseOutput) } -func (o StaticCidrPropertiesResponseOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticCidrPropertiesResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +// Name of a public IP address SKU. +func (o PublicIPAddressSkuResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressSkuResponse) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) } -// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. -func (o StaticCidrPropertiesResponseOutput) NumberOfIPAddressesToAllocate() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticCidrPropertiesResponse) *string { return v.NumberOfIPAddressesToAllocate }).(pulumi.StringPtrOutput) +// Tier of a public IP address SKU. +func (o PublicIPAddressSkuResponsePtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressSkuResponse) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) } -// Provisioning states of a resource. -func (o StaticCidrPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v StaticCidrPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +// SKU of a public IP address +type PublicIPAddressSkuResponseV1 struct { + // Name of a public IP address SKU. + Name *string `pulumi:"name"` } -// Total number of IP addresses allocated for the static CIDR resource. -func (o StaticCidrPropertiesResponseOutput) TotalNumberOfIPAddresses() pulumi.StringOutput { - return o.ApplyT(func(v StaticCidrPropertiesResponse) string { return v.TotalNumberOfIPAddresses }).(pulumi.StringOutput) +// SKU of a public IP address +type PublicIPAddressSkuResponseV1Output struct{ *pulumi.OutputState } + +func (PublicIPAddressSkuResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPAddressSkuResponseV1)(nil)).Elem() } -// List of all Static Routes. -type StaticRoute struct { - // List of all address prefixes. - AddressPrefixes []string `pulumi:"addressPrefixes"` - // The name of the StaticRoute that is unique within a VnetRoute. +func (o PublicIPAddressSkuResponseV1Output) ToPublicIPAddressSkuResponseV1Output() PublicIPAddressSkuResponseV1Output { + return o +} + +func (o PublicIPAddressSkuResponseV1Output) ToPublicIPAddressSkuResponseV1OutputWithContext(ctx context.Context) PublicIPAddressSkuResponseV1Output { + return o +} + +// Name of a public IP address SKU. +func (o PublicIPAddressSkuResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPAddressSkuResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type PublicIPAddressSkuResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (PublicIPAddressSkuResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPAddressSkuResponseV1)(nil)).Elem() +} + +func (o PublicIPAddressSkuResponseV1PtrOutput) ToPublicIPAddressSkuResponseV1PtrOutput() PublicIPAddressSkuResponseV1PtrOutput { + return o +} + +func (o PublicIPAddressSkuResponseV1PtrOutput) ToPublicIPAddressSkuResponseV1PtrOutputWithContext(ctx context.Context) PublicIPAddressSkuResponseV1PtrOutput { + return o +} + +func (o PublicIPAddressSkuResponseV1PtrOutput) Elem() PublicIPAddressSkuResponseV1Output { + return o.ApplyT(func(v *PublicIPAddressSkuResponseV1) PublicIPAddressSkuResponseV1 { + if v != nil { + return *v + } + var ret PublicIPAddressSkuResponseV1 + return ret + }).(PublicIPAddressSkuResponseV1Output) +} + +// Name of a public IP address SKU. +func (o PublicIPAddressSkuResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPAddressSkuResponseV1) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// SKU of a public IP prefix. +type PublicIPPrefixSku struct { + // Name of a public IP prefix SKU. Name *string `pulumi:"name"` - // The ip address of the next hop. - NextHopIpAddress *string `pulumi:"nextHopIpAddress"` + // Tier of a public IP prefix SKU. + Tier *string `pulumi:"tier"` } -// StaticRouteInput is an input type that accepts StaticRouteArgs and StaticRouteOutput values. -// You can construct a concrete instance of `StaticRouteInput` via: +// PublicIPPrefixSkuInput is an input type that accepts PublicIPPrefixSkuArgs and PublicIPPrefixSkuOutput values. +// You can construct a concrete instance of `PublicIPPrefixSkuInput` via: // -// StaticRouteArgs{...} -type StaticRouteInput interface { +// PublicIPPrefixSkuArgs{...} +type PublicIPPrefixSkuInput interface { pulumi.Input - ToStaticRouteOutput() StaticRouteOutput - ToStaticRouteOutputWithContext(context.Context) StaticRouteOutput + ToPublicIPPrefixSkuOutput() PublicIPPrefixSkuOutput + ToPublicIPPrefixSkuOutputWithContext(context.Context) PublicIPPrefixSkuOutput } -// List of all Static Routes. -type StaticRouteArgs struct { - // List of all address prefixes. - AddressPrefixes pulumi.StringArrayInput `pulumi:"addressPrefixes"` - // The name of the StaticRoute that is unique within a VnetRoute. +// SKU of a public IP prefix. +type PublicIPPrefixSkuArgs struct { + // Name of a public IP prefix SKU. Name pulumi.StringPtrInput `pulumi:"name"` - // The ip address of the next hop. - NextHopIpAddress pulumi.StringPtrInput `pulumi:"nextHopIpAddress"` + // Tier of a public IP prefix SKU. + Tier pulumi.StringPtrInput `pulumi:"tier"` } -func (StaticRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StaticRoute)(nil)).Elem() +func (PublicIPPrefixSkuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPPrefixSku)(nil)).Elem() } -func (i StaticRouteArgs) ToStaticRouteOutput() StaticRouteOutput { - return i.ToStaticRouteOutputWithContext(context.Background()) +func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuOutput() PublicIPPrefixSkuOutput { + return i.ToPublicIPPrefixSkuOutputWithContext(context.Background()) } -func (i StaticRouteArgs) ToStaticRouteOutputWithContext(ctx context.Context) StaticRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticRouteOutput) +func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuOutputWithContext(ctx context.Context) PublicIPPrefixSkuOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPPrefixSkuOutput) } -// StaticRouteArrayInput is an input type that accepts StaticRouteArray and StaticRouteArrayOutput values. -// You can construct a concrete instance of `StaticRouteArrayInput` via: +func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { + return i.ToPublicIPPrefixSkuPtrOutputWithContext(context.Background()) +} + +func (i PublicIPPrefixSkuArgs) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPPrefixSkuOutput).ToPublicIPPrefixSkuPtrOutputWithContext(ctx) +} + +// PublicIPPrefixSkuPtrInput is an input type that accepts PublicIPPrefixSkuArgs, PublicIPPrefixSkuPtr and PublicIPPrefixSkuPtrOutput values. +// You can construct a concrete instance of `PublicIPPrefixSkuPtrInput` via: // -// StaticRouteArray{ StaticRouteArgs{...} } -type StaticRouteArrayInput interface { +// PublicIPPrefixSkuArgs{...} +// +// or: +// +// nil +type PublicIPPrefixSkuPtrInput interface { pulumi.Input - ToStaticRouteArrayOutput() StaticRouteArrayOutput - ToStaticRouteArrayOutputWithContext(context.Context) StaticRouteArrayOutput + ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput + ToPublicIPPrefixSkuPtrOutputWithContext(context.Context) PublicIPPrefixSkuPtrOutput } -type StaticRouteArray []StaticRouteInput +type publicIPPrefixSkuPtrType PublicIPPrefixSkuArgs -func (StaticRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticRoute)(nil)).Elem() +func PublicIPPrefixSkuPtr(v *PublicIPPrefixSkuArgs) PublicIPPrefixSkuPtrInput { + return (*publicIPPrefixSkuPtrType)(v) } -func (i StaticRouteArray) ToStaticRouteArrayOutput() StaticRouteArrayOutput { - return i.ToStaticRouteArrayOutputWithContext(context.Background()) +func (*publicIPPrefixSkuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPPrefixSku)(nil)).Elem() } -func (i StaticRouteArray) ToStaticRouteArrayOutputWithContext(ctx context.Context) StaticRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticRouteArrayOutput) +func (i *publicIPPrefixSkuPtrType) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { + return i.ToPublicIPPrefixSkuPtrOutputWithContext(context.Background()) } -// List of all Static Routes. -type StaticRouteOutput struct{ *pulumi.OutputState } +func (i *publicIPPrefixSkuPtrType) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PublicIPPrefixSkuPtrOutput) +} -func (StaticRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticRoute)(nil)).Elem() +// SKU of a public IP prefix. +type PublicIPPrefixSkuOutput struct{ *pulumi.OutputState } + +func (PublicIPPrefixSkuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPPrefixSku)(nil)).Elem() } -func (o StaticRouteOutput) ToStaticRouteOutput() StaticRouteOutput { +func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuOutput() PublicIPPrefixSkuOutput { return o } -func (o StaticRouteOutput) ToStaticRouteOutputWithContext(ctx context.Context) StaticRouteOutput { +func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuOutputWithContext(ctx context.Context) PublicIPPrefixSkuOutput { return o } -// List of all address prefixes. -func (o StaticRouteOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v StaticRoute) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { + return o.ToPublicIPPrefixSkuPtrOutputWithContext(context.Background()) } -// The name of the StaticRoute that is unique within a VnetRoute. -func (o StaticRouteOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticRoute) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o PublicIPPrefixSkuOutput) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PublicIPPrefixSku) *PublicIPPrefixSku { + return &v + }).(PublicIPPrefixSkuPtrOutput) } -// The ip address of the next hop. -func (o StaticRouteOutput) NextHopIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticRoute) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +// Name of a public IP prefix SKU. +func (o PublicIPPrefixSkuOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPPrefixSku) *string { return v.Name }).(pulumi.StringPtrOutput) } -type StaticRouteArrayOutput struct{ *pulumi.OutputState } +// Tier of a public IP prefix SKU. +func (o PublicIPPrefixSkuOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPPrefixSku) *string { return v.Tier }).(pulumi.StringPtrOutput) +} -func (StaticRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticRoute)(nil)).Elem() +type PublicIPPrefixSkuPtrOutput struct{ *pulumi.OutputState } + +func (PublicIPPrefixSkuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPPrefixSku)(nil)).Elem() } -func (o StaticRouteArrayOutput) ToStaticRouteArrayOutput() StaticRouteArrayOutput { +func (o PublicIPPrefixSkuPtrOutput) ToPublicIPPrefixSkuPtrOutput() PublicIPPrefixSkuPtrOutput { return o } -func (o StaticRouteArrayOutput) ToStaticRouteArrayOutputWithContext(ctx context.Context) StaticRouteArrayOutput { +func (o PublicIPPrefixSkuPtrOutput) ToPublicIPPrefixSkuPtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuPtrOutput { return o } -func (o StaticRouteArrayOutput) Index(i pulumi.IntInput) StaticRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticRoute { - return vs[0].([]StaticRoute)[vs[1].(int)] - }).(StaticRouteOutput) +func (o PublicIPPrefixSkuPtrOutput) Elem() PublicIPPrefixSkuOutput { + return o.ApplyT(func(v *PublicIPPrefixSku) PublicIPPrefixSku { + if v != nil { + return *v + } + var ret PublicIPPrefixSku + return ret + }).(PublicIPPrefixSkuOutput) } -// List of all Static Routes. -type StaticRouteResponse struct { - // List of all address prefixes. - AddressPrefixes []string `pulumi:"addressPrefixes"` - // The name of the StaticRoute that is unique within a VnetRoute. - Name *string `pulumi:"name"` - // The ip address of the next hop. - NextHopIpAddress *string `pulumi:"nextHopIpAddress"` +// Name of a public IP prefix SKU. +func (o PublicIPPrefixSkuPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPPrefixSku) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) } -// List of all Static Routes. -type StaticRouteResponseOutput struct{ *pulumi.OutputState } +// Tier of a public IP prefix SKU. +func (o PublicIPPrefixSkuPtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPPrefixSku) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) +} -func (StaticRouteResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticRouteResponse)(nil)).Elem() +// SKU of a public IP prefix. +type PublicIPPrefixSkuResponse struct { + // Name of a public IP prefix SKU. + Name *string `pulumi:"name"` + // Tier of a public IP prefix SKU. + Tier *string `pulumi:"tier"` } -func (o StaticRouteResponseOutput) ToStaticRouteResponseOutput() StaticRouteResponseOutput { - return o +// SKU of a public IP prefix. +type PublicIPPrefixSkuResponseOutput struct{ *pulumi.OutputState } + +func (PublicIPPrefixSkuResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PublicIPPrefixSkuResponse)(nil)).Elem() } -func (o StaticRouteResponseOutput) ToStaticRouteResponseOutputWithContext(ctx context.Context) StaticRouteResponseOutput { +func (o PublicIPPrefixSkuResponseOutput) ToPublicIPPrefixSkuResponseOutput() PublicIPPrefixSkuResponseOutput { return o } -// List of all address prefixes. -func (o StaticRouteResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v StaticRouteResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +func (o PublicIPPrefixSkuResponseOutput) ToPublicIPPrefixSkuResponseOutputWithContext(ctx context.Context) PublicIPPrefixSkuResponseOutput { + return o } -// The name of the StaticRoute that is unique within a VnetRoute. -func (o StaticRouteResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticRouteResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +// Name of a public IP prefix SKU. +func (o PublicIPPrefixSkuResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPPrefixSkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The ip address of the next hop. -func (o StaticRouteResponseOutput) NextHopIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticRouteResponse) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +// Tier of a public IP prefix SKU. +func (o PublicIPPrefixSkuResponseOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v PublicIPPrefixSkuResponse) *string { return v.Tier }).(pulumi.StringPtrOutput) } -type StaticRouteResponseArrayOutput struct{ *pulumi.OutputState } +type PublicIPPrefixSkuResponsePtrOutput struct{ *pulumi.OutputState } -func (StaticRouteResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StaticRouteResponse)(nil)).Elem() +func (PublicIPPrefixSkuResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PublicIPPrefixSkuResponse)(nil)).Elem() } -func (o StaticRouteResponseArrayOutput) ToStaticRouteResponseArrayOutput() StaticRouteResponseArrayOutput { +func (o PublicIPPrefixSkuResponsePtrOutput) ToPublicIPPrefixSkuResponsePtrOutput() PublicIPPrefixSkuResponsePtrOutput { return o } -func (o StaticRouteResponseArrayOutput) ToStaticRouteResponseArrayOutputWithContext(ctx context.Context) StaticRouteResponseArrayOutput { +func (o PublicIPPrefixSkuResponsePtrOutput) ToPublicIPPrefixSkuResponsePtrOutputWithContext(ctx context.Context) PublicIPPrefixSkuResponsePtrOutput { return o } -func (o StaticRouteResponseArrayOutput) Index(i pulumi.IntInput) StaticRouteResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticRouteResponse { - return vs[0].([]StaticRouteResponse)[vs[1].(int)] - }).(StaticRouteResponseOutput) +func (o PublicIPPrefixSkuResponsePtrOutput) Elem() PublicIPPrefixSkuResponseOutput { + return o.ApplyT(func(v *PublicIPPrefixSkuResponse) PublicIPPrefixSkuResponse { + if v != nil { + return *v + } + var ret PublicIPPrefixSkuResponse + return ret + }).(PublicIPPrefixSkuResponseOutput) } -// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. -type StaticRoutesConfig struct { - // Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. - VnetLocalRouteOverrideCriteria *string `pulumi:"vnetLocalRouteOverrideCriteria"` +// Name of a public IP prefix SKU. +func (o PublicIPPrefixSkuResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPPrefixSkuResponse) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) } -// StaticRoutesConfigInput is an input type that accepts StaticRoutesConfigArgs and StaticRoutesConfigOutput values. -// You can construct a concrete instance of `StaticRoutesConfigInput` via: -// -// StaticRoutesConfigArgs{...} -type StaticRoutesConfigInput interface { - pulumi.Input +// Tier of a public IP prefix SKU. +func (o PublicIPPrefixSkuResponsePtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PublicIPPrefixSkuResponse) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) +} - ToStaticRoutesConfigOutput() StaticRoutesConfigOutput - ToStaticRoutesConfigOutputWithContext(context.Context) StaticRoutesConfigOutput +// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. +type QosDefinition struct { + // Destination IP ranges. + DestinationIpRanges []QosIpRange `pulumi:"destinationIpRanges"` + // Destination port ranges. + DestinationPortRanges []QosPortRange `pulumi:"destinationPortRanges"` + // List of markings to be used in the configuration. + Markings []int `pulumi:"markings"` + // RNM supported protocol types. + Protocol *string `pulumi:"protocol"` + // Source IP ranges. + SourceIpRanges []QosIpRange `pulumi:"sourceIpRanges"` + // Sources port ranges. + SourcePortRanges []QosPortRange `pulumi:"sourcePortRanges"` } -// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. -type StaticRoutesConfigArgs struct { - // Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. - VnetLocalRouteOverrideCriteria pulumi.StringPtrInput `pulumi:"vnetLocalRouteOverrideCriteria"` +// QosDefinitionInput is an input type that accepts QosDefinitionArgs and QosDefinitionOutput values. +// You can construct a concrete instance of `QosDefinitionInput` via: +// +// QosDefinitionArgs{...} +type QosDefinitionInput interface { + pulumi.Input + + ToQosDefinitionOutput() QosDefinitionOutput + ToQosDefinitionOutputWithContext(context.Context) QosDefinitionOutput } -func (StaticRoutesConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StaticRoutesConfig)(nil)).Elem() +// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. +type QosDefinitionArgs struct { + // Destination IP ranges. + DestinationIpRanges QosIpRangeArrayInput `pulumi:"destinationIpRanges"` + // Destination port ranges. + DestinationPortRanges QosPortRangeArrayInput `pulumi:"destinationPortRanges"` + // List of markings to be used in the configuration. + Markings pulumi.IntArrayInput `pulumi:"markings"` + // RNM supported protocol types. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // Source IP ranges. + SourceIpRanges QosIpRangeArrayInput `pulumi:"sourceIpRanges"` + // Sources port ranges. + SourcePortRanges QosPortRangeArrayInput `pulumi:"sourcePortRanges"` } -func (i StaticRoutesConfigArgs) ToStaticRoutesConfigOutput() StaticRoutesConfigOutput { - return i.ToStaticRoutesConfigOutputWithContext(context.Background()) +func (QosDefinitionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QosDefinition)(nil)).Elem() } -func (i StaticRoutesConfigArgs) ToStaticRoutesConfigOutputWithContext(ctx context.Context) StaticRoutesConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticRoutesConfigOutput) +func (i QosDefinitionArgs) ToQosDefinitionOutput() QosDefinitionOutput { + return i.ToQosDefinitionOutputWithContext(context.Background()) } -func (i StaticRoutesConfigArgs) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { - return i.ToStaticRoutesConfigPtrOutputWithContext(context.Background()) +func (i QosDefinitionArgs) ToQosDefinitionOutputWithContext(ctx context.Context) QosDefinitionOutput { + return pulumi.ToOutputWithContext(ctx, i).(QosDefinitionOutput) } -func (i StaticRoutesConfigArgs) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticRoutesConfigOutput).ToStaticRoutesConfigPtrOutputWithContext(ctx) -} - -// StaticRoutesConfigPtrInput is an input type that accepts StaticRoutesConfigArgs, StaticRoutesConfigPtr and StaticRoutesConfigPtrOutput values. -// You can construct a concrete instance of `StaticRoutesConfigPtrInput` via: -// -// StaticRoutesConfigArgs{...} +// QosDefinitionArrayInput is an input type that accepts QosDefinitionArray and QosDefinitionArrayOutput values. +// You can construct a concrete instance of `QosDefinitionArrayInput` via: // -// or: -// -// nil -type StaticRoutesConfigPtrInput interface { +// QosDefinitionArray{ QosDefinitionArgs{...} } +type QosDefinitionArrayInput interface { pulumi.Input - ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput - ToStaticRoutesConfigPtrOutputWithContext(context.Context) StaticRoutesConfigPtrOutput + ToQosDefinitionArrayOutput() QosDefinitionArrayOutput + ToQosDefinitionArrayOutputWithContext(context.Context) QosDefinitionArrayOutput } -type staticRoutesConfigPtrType StaticRoutesConfigArgs - -func StaticRoutesConfigPtr(v *StaticRoutesConfigArgs) StaticRoutesConfigPtrInput { - return (*staticRoutesConfigPtrType)(v) -} +type QosDefinitionArray []QosDefinitionInput -func (*staticRoutesConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StaticRoutesConfig)(nil)).Elem() +func (QosDefinitionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosDefinition)(nil)).Elem() } -func (i *staticRoutesConfigPtrType) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { - return i.ToStaticRoutesConfigPtrOutputWithContext(context.Background()) +func (i QosDefinitionArray) ToQosDefinitionArrayOutput() QosDefinitionArrayOutput { + return i.ToQosDefinitionArrayOutputWithContext(context.Background()) } -func (i *staticRoutesConfigPtrType) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StaticRoutesConfigPtrOutput) +func (i QosDefinitionArray) ToQosDefinitionArrayOutputWithContext(ctx context.Context) QosDefinitionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QosDefinitionArrayOutput) } -// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. -type StaticRoutesConfigOutput struct{ *pulumi.OutputState } +// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. +type QosDefinitionOutput struct{ *pulumi.OutputState } -func (StaticRoutesConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticRoutesConfig)(nil)).Elem() +func (QosDefinitionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QosDefinition)(nil)).Elem() } -func (o StaticRoutesConfigOutput) ToStaticRoutesConfigOutput() StaticRoutesConfigOutput { +func (o QosDefinitionOutput) ToQosDefinitionOutput() QosDefinitionOutput { return o } -func (o StaticRoutesConfigOutput) ToStaticRoutesConfigOutputWithContext(ctx context.Context) StaticRoutesConfigOutput { +func (o QosDefinitionOutput) ToQosDefinitionOutputWithContext(ctx context.Context) QosDefinitionOutput { return o } -func (o StaticRoutesConfigOutput) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { - return o.ToStaticRoutesConfigPtrOutputWithContext(context.Background()) -} - -func (o StaticRoutesConfigOutput) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticRoutesConfig) *StaticRoutesConfig { - return &v - }).(StaticRoutesConfigPtrOutput) -} - -// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. -func (o StaticRoutesConfigOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticRoutesConfig) *string { return v.VnetLocalRouteOverrideCriteria }).(pulumi.StringPtrOutput) -} - -type StaticRoutesConfigPtrOutput struct{ *pulumi.OutputState } - -func (StaticRoutesConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StaticRoutesConfig)(nil)).Elem() +// Destination IP ranges. +func (o QosDefinitionOutput) DestinationIpRanges() QosIpRangeArrayOutput { + return o.ApplyT(func(v QosDefinition) []QosIpRange { return v.DestinationIpRanges }).(QosIpRangeArrayOutput) } -func (o StaticRoutesConfigPtrOutput) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { - return o +// Destination port ranges. +func (o QosDefinitionOutput) DestinationPortRanges() QosPortRangeArrayOutput { + return o.ApplyT(func(v QosDefinition) []QosPortRange { return v.DestinationPortRanges }).(QosPortRangeArrayOutput) } -func (o StaticRoutesConfigPtrOutput) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { - return o +// List of markings to be used in the configuration. +func (o QosDefinitionOutput) Markings() pulumi.IntArrayOutput { + return o.ApplyT(func(v QosDefinition) []int { return v.Markings }).(pulumi.IntArrayOutput) } -func (o StaticRoutesConfigPtrOutput) Elem() StaticRoutesConfigOutput { - return o.ApplyT(func(v *StaticRoutesConfig) StaticRoutesConfig { - if v != nil { - return *v - } - var ret StaticRoutesConfig - return ret - }).(StaticRoutesConfigOutput) +// RNM supported protocol types. +func (o QosDefinitionOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v QosDefinition) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. -func (o StaticRoutesConfigPtrOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StaticRoutesConfig) *string { - if v == nil { - return nil - } - return v.VnetLocalRouteOverrideCriteria - }).(pulumi.StringPtrOutput) +// Source IP ranges. +func (o QosDefinitionOutput) SourceIpRanges() QosIpRangeArrayOutput { + return o.ApplyT(func(v QosDefinition) []QosIpRange { return v.SourceIpRanges }).(QosIpRangeArrayOutput) } -// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. -type StaticRoutesConfigResponse struct { - // Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. - PropagateStaticRoutes bool `pulumi:"propagateStaticRoutes"` - // Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. - VnetLocalRouteOverrideCriteria *string `pulumi:"vnetLocalRouteOverrideCriteria"` +// Sources port ranges. +func (o QosDefinitionOutput) SourcePortRanges() QosPortRangeArrayOutput { + return o.ApplyT(func(v QosDefinition) []QosPortRange { return v.SourcePortRanges }).(QosPortRangeArrayOutput) } -// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. -type StaticRoutesConfigResponseOutput struct{ *pulumi.OutputState } +type QosDefinitionArrayOutput struct{ *pulumi.OutputState } -func (StaticRoutesConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StaticRoutesConfigResponse)(nil)).Elem() +func (QosDefinitionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosDefinition)(nil)).Elem() } -func (o StaticRoutesConfigResponseOutput) ToStaticRoutesConfigResponseOutput() StaticRoutesConfigResponseOutput { +func (o QosDefinitionArrayOutput) ToQosDefinitionArrayOutput() QosDefinitionArrayOutput { return o } -func (o StaticRoutesConfigResponseOutput) ToStaticRoutesConfigResponseOutputWithContext(ctx context.Context) StaticRoutesConfigResponseOutput { +func (o QosDefinitionArrayOutput) ToQosDefinitionArrayOutputWithContext(ctx context.Context) QosDefinitionArrayOutput { return o } -// Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. -func (o StaticRoutesConfigResponseOutput) PropagateStaticRoutes() pulumi.BoolOutput { - return o.ApplyT(func(v StaticRoutesConfigResponse) bool { return v.PropagateStaticRoutes }).(pulumi.BoolOutput) +func (o QosDefinitionArrayOutput) Index(i pulumi.IntInput) QosDefinitionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosDefinition { + return vs[0].([]QosDefinition)[vs[1].(int)] + }).(QosDefinitionOutput) } -// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. -func (o StaticRoutesConfigResponseOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { - return o.ApplyT(func(v StaticRoutesConfigResponse) *string { return v.VnetLocalRouteOverrideCriteria }).(pulumi.StringPtrOutput) +// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. +type QosDefinitionResponse struct { + // Destination IP ranges. + DestinationIpRanges []QosIpRangeResponse `pulumi:"destinationIpRanges"` + // Destination port ranges. + DestinationPortRanges []QosPortRangeResponse `pulumi:"destinationPortRanges"` + // List of markings to be used in the configuration. + Markings []int `pulumi:"markings"` + // RNM supported protocol types. + Protocol *string `pulumi:"protocol"` + // Source IP ranges. + SourceIpRanges []QosIpRangeResponse `pulumi:"sourceIpRanges"` + // Sources port ranges. + SourcePortRanges []QosPortRangeResponse `pulumi:"sourcePortRanges"` } -type StaticRoutesConfigResponsePtrOutput struct{ *pulumi.OutputState } +// Quality of Service defines the traffic configuration between endpoints. Mandatory to have one marking. +type QosDefinitionResponseOutput struct{ *pulumi.OutputState } -func (StaticRoutesConfigResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StaticRoutesConfigResponse)(nil)).Elem() +func (QosDefinitionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QosDefinitionResponse)(nil)).Elem() } -func (o StaticRoutesConfigResponsePtrOutput) ToStaticRoutesConfigResponsePtrOutput() StaticRoutesConfigResponsePtrOutput { +func (o QosDefinitionResponseOutput) ToQosDefinitionResponseOutput() QosDefinitionResponseOutput { return o } -func (o StaticRoutesConfigResponsePtrOutput) ToStaticRoutesConfigResponsePtrOutputWithContext(ctx context.Context) StaticRoutesConfigResponsePtrOutput { +func (o QosDefinitionResponseOutput) ToQosDefinitionResponseOutputWithContext(ctx context.Context) QosDefinitionResponseOutput { return o } -func (o StaticRoutesConfigResponsePtrOutput) Elem() StaticRoutesConfigResponseOutput { - return o.ApplyT(func(v *StaticRoutesConfigResponse) StaticRoutesConfigResponse { - if v != nil { - return *v - } - var ret StaticRoutesConfigResponse - return ret - }).(StaticRoutesConfigResponseOutput) +// Destination IP ranges. +func (o QosDefinitionResponseOutput) DestinationIpRanges() QosIpRangeResponseArrayOutput { + return o.ApplyT(func(v QosDefinitionResponse) []QosIpRangeResponse { return v.DestinationIpRanges }).(QosIpRangeResponseArrayOutput) } -// Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. -func (o StaticRoutesConfigResponsePtrOutput) PropagateStaticRoutes() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *StaticRoutesConfigResponse) *bool { - if v == nil { - return nil - } - return &v.PropagateStaticRoutes - }).(pulumi.BoolPtrOutput) +// Destination port ranges. +func (o QosDefinitionResponseOutput) DestinationPortRanges() QosPortRangeResponseArrayOutput { + return o.ApplyT(func(v QosDefinitionResponse) []QosPortRangeResponse { return v.DestinationPortRanges }).(QosPortRangeResponseArrayOutput) } -// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. -func (o StaticRoutesConfigResponsePtrOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StaticRoutesConfigResponse) *string { - if v == nil { - return nil - } - return v.VnetLocalRouteOverrideCriteria - }).(pulumi.StringPtrOutput) +// List of markings to be used in the configuration. +func (o QosDefinitionResponseOutput) Markings() pulumi.IntArrayOutput { + return o.ApplyT(func(v QosDefinitionResponse) []int { return v.Markings }).(pulumi.IntArrayOutput) } -// Reference to another subresource. -type SubResource struct { - // Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. - // An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. - // A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. - // Example of a relative ID: $self/frontEndConfigurations/my-frontend. - Id *string `pulumi:"id"` +// RNM supported protocol types. +func (o QosDefinitionResponseOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v QosDefinitionResponse) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -// SubResourceInput is an input type that accepts SubResourceArgs and SubResourceOutput values. -// You can construct a concrete instance of `SubResourceInput` via: -// -// SubResourceArgs{...} -type SubResourceInput interface { - pulumi.Input - - ToSubResourceOutput() SubResourceOutput - ToSubResourceOutputWithContext(context.Context) SubResourceOutput +// Source IP ranges. +func (o QosDefinitionResponseOutput) SourceIpRanges() QosIpRangeResponseArrayOutput { + return o.ApplyT(func(v QosDefinitionResponse) []QosIpRangeResponse { return v.SourceIpRanges }).(QosIpRangeResponseArrayOutput) } -// Reference to another subresource. -type SubResourceArgs struct { - // Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. - // An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. - // A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. - // Example of a relative ID: $self/frontEndConfigurations/my-frontend. - Id pulumi.StringPtrInput `pulumi:"id"` +// Sources port ranges. +func (o QosDefinitionResponseOutput) SourcePortRanges() QosPortRangeResponseArrayOutput { + return o.ApplyT(func(v QosDefinitionResponse) []QosPortRangeResponse { return v.SourcePortRanges }).(QosPortRangeResponseArrayOutput) } -func (SubResourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SubResource)(nil)).Elem() +type QosDefinitionResponseArrayOutput struct{ *pulumi.OutputState } + +func (QosDefinitionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosDefinitionResponse)(nil)).Elem() } -func (i SubResourceArgs) ToSubResourceOutput() SubResourceOutput { - return i.ToSubResourceOutputWithContext(context.Background()) +func (o QosDefinitionResponseArrayOutput) ToQosDefinitionResponseArrayOutput() QosDefinitionResponseArrayOutput { + return o } -func (i SubResourceArgs) ToSubResourceOutputWithContext(ctx context.Context) SubResourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubResourceOutput) +func (o QosDefinitionResponseArrayOutput) ToQosDefinitionResponseArrayOutputWithContext(ctx context.Context) QosDefinitionResponseArrayOutput { + return o } -func (i SubResourceArgs) ToSubResourcePtrOutput() SubResourcePtrOutput { - return i.ToSubResourcePtrOutputWithContext(context.Background()) +func (o QosDefinitionResponseArrayOutput) Index(i pulumi.IntInput) QosDefinitionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosDefinitionResponse { + return vs[0].([]QosDefinitionResponse)[vs[1].(int)] + }).(QosDefinitionResponseOutput) } -func (i SubResourceArgs) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubResourceOutput).ToSubResourcePtrOutputWithContext(ctx) +// Qos Traffic Profiler IP Range properties. +type QosIpRange struct { + // End IP Address. + EndIP *string `pulumi:"endIP"` + // Start IP Address. + StartIP *string `pulumi:"startIP"` } -// SubResourcePtrInput is an input type that accepts SubResourceArgs, SubResourcePtr and SubResourcePtrOutput values. -// You can construct a concrete instance of `SubResourcePtrInput` via: -// -// SubResourceArgs{...} -// -// or: +// QosIpRangeInput is an input type that accepts QosIpRangeArgs and QosIpRangeOutput values. +// You can construct a concrete instance of `QosIpRangeInput` via: // -// nil -type SubResourcePtrInput interface { +// QosIpRangeArgs{...} +type QosIpRangeInput interface { pulumi.Input - ToSubResourcePtrOutput() SubResourcePtrOutput - ToSubResourcePtrOutputWithContext(context.Context) SubResourcePtrOutput + ToQosIpRangeOutput() QosIpRangeOutput + ToQosIpRangeOutputWithContext(context.Context) QosIpRangeOutput } -type subResourcePtrType SubResourceArgs - -func SubResourcePtr(v *SubResourceArgs) SubResourcePtrInput { - return (*subResourcePtrType)(v) +// Qos Traffic Profiler IP Range properties. +type QosIpRangeArgs struct { + // End IP Address. + EndIP pulumi.StringPtrInput `pulumi:"endIP"` + // Start IP Address. + StartIP pulumi.StringPtrInput `pulumi:"startIP"` } -func (*subResourcePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SubResource)(nil)).Elem() +func (QosIpRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QosIpRange)(nil)).Elem() } -func (i *subResourcePtrType) ToSubResourcePtrOutput() SubResourcePtrOutput { - return i.ToSubResourcePtrOutputWithContext(context.Background()) +func (i QosIpRangeArgs) ToQosIpRangeOutput() QosIpRangeOutput { + return i.ToQosIpRangeOutputWithContext(context.Background()) } -func (i *subResourcePtrType) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubResourcePtrOutput) +func (i QosIpRangeArgs) ToQosIpRangeOutputWithContext(ctx context.Context) QosIpRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(QosIpRangeOutput) } -// SubResourceArrayInput is an input type that accepts SubResourceArray and SubResourceArrayOutput values. -// You can construct a concrete instance of `SubResourceArrayInput` via: +// QosIpRangeArrayInput is an input type that accepts QosIpRangeArray and QosIpRangeArrayOutput values. +// You can construct a concrete instance of `QosIpRangeArrayInput` via: // -// SubResourceArray{ SubResourceArgs{...} } -type SubResourceArrayInput interface { +// QosIpRangeArray{ QosIpRangeArgs{...} } +type QosIpRangeArrayInput interface { pulumi.Input - ToSubResourceArrayOutput() SubResourceArrayOutput - ToSubResourceArrayOutputWithContext(context.Context) SubResourceArrayOutput + ToQosIpRangeArrayOutput() QosIpRangeArrayOutput + ToQosIpRangeArrayOutputWithContext(context.Context) QosIpRangeArrayOutput } -type SubResourceArray []SubResourceInput +type QosIpRangeArray []QosIpRangeInput -func (SubResourceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubResource)(nil)).Elem() +func (QosIpRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosIpRange)(nil)).Elem() } -func (i SubResourceArray) ToSubResourceArrayOutput() SubResourceArrayOutput { - return i.ToSubResourceArrayOutputWithContext(context.Background()) +func (i QosIpRangeArray) ToQosIpRangeArrayOutput() QosIpRangeArrayOutput { + return i.ToQosIpRangeArrayOutputWithContext(context.Background()) } -func (i SubResourceArray) ToSubResourceArrayOutputWithContext(ctx context.Context) SubResourceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubResourceArrayOutput) +func (i QosIpRangeArray) ToQosIpRangeArrayOutputWithContext(ctx context.Context) QosIpRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QosIpRangeArrayOutput) } -// Reference to another subresource. -type SubResourceOutput struct{ *pulumi.OutputState } +// Qos Traffic Profiler IP Range properties. +type QosIpRangeOutput struct{ *pulumi.OutputState } -func (SubResourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubResource)(nil)).Elem() +func (QosIpRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QosIpRange)(nil)).Elem() } -func (o SubResourceOutput) ToSubResourceOutput() SubResourceOutput { +func (o QosIpRangeOutput) ToQosIpRangeOutput() QosIpRangeOutput { return o } -func (o SubResourceOutput) ToSubResourceOutputWithContext(ctx context.Context) SubResourceOutput { +func (o QosIpRangeOutput) ToQosIpRangeOutputWithContext(ctx context.Context) QosIpRangeOutput { return o } -func (o SubResourceOutput) ToSubResourcePtrOutput() SubResourcePtrOutput { - return o.ToSubResourcePtrOutputWithContext(context.Background()) -} - -func (o SubResourceOutput) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SubResource) *SubResource { - return &v - }).(SubResourcePtrOutput) +// End IP Address. +func (o QosIpRangeOutput) EndIP() pulumi.StringPtrOutput { + return o.ApplyT(func(v QosIpRange) *string { return v.EndIP }).(pulumi.StringPtrOutput) } -// Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. -// An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. -// A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. -// Example of a relative ID: $self/frontEndConfigurations/my-frontend. -func (o SubResourceOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubResource) *string { return v.Id }).(pulumi.StringPtrOutput) +// Start IP Address. +func (o QosIpRangeOutput) StartIP() pulumi.StringPtrOutput { + return o.ApplyT(func(v QosIpRange) *string { return v.StartIP }).(pulumi.StringPtrOutput) } -type SubResourcePtrOutput struct{ *pulumi.OutputState } +type QosIpRangeArrayOutput struct{ *pulumi.OutputState } -func (SubResourcePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SubResource)(nil)).Elem() +func (QosIpRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosIpRange)(nil)).Elem() } -func (o SubResourcePtrOutput) ToSubResourcePtrOutput() SubResourcePtrOutput { +func (o QosIpRangeArrayOutput) ToQosIpRangeArrayOutput() QosIpRangeArrayOutput { return o } -func (o SubResourcePtrOutput) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { +func (o QosIpRangeArrayOutput) ToQosIpRangeArrayOutputWithContext(ctx context.Context) QosIpRangeArrayOutput { return o } -func (o SubResourcePtrOutput) Elem() SubResourceOutput { - return o.ApplyT(func(v *SubResource) SubResource { - if v != nil { - return *v - } - var ret SubResource - return ret - }).(SubResourceOutput) +func (o QosIpRangeArrayOutput) Index(i pulumi.IntInput) QosIpRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosIpRange { + return vs[0].([]QosIpRange)[vs[1].(int)] + }).(QosIpRangeOutput) } -// Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. -// An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. -// A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. -// Example of a relative ID: $self/frontEndConfigurations/my-frontend. -func (o SubResourcePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubResource) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +// Qos Traffic Profiler IP Range properties. +type QosIpRangeResponse struct { + // End IP Address. + EndIP *string `pulumi:"endIP"` + // Start IP Address. + StartIP *string `pulumi:"startIP"` } -type SubResourceArrayOutput struct{ *pulumi.OutputState } +// Qos Traffic Profiler IP Range properties. +type QosIpRangeResponseOutput struct{ *pulumi.OutputState } -func (SubResourceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubResource)(nil)).Elem() +func (QosIpRangeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QosIpRangeResponse)(nil)).Elem() } -func (o SubResourceArrayOutput) ToSubResourceArrayOutput() SubResourceArrayOutput { +func (o QosIpRangeResponseOutput) ToQosIpRangeResponseOutput() QosIpRangeResponseOutput { return o } -func (o SubResourceArrayOutput) ToSubResourceArrayOutputWithContext(ctx context.Context) SubResourceArrayOutput { +func (o QosIpRangeResponseOutput) ToQosIpRangeResponseOutputWithContext(ctx context.Context) QosIpRangeResponseOutput { return o } -func (o SubResourceArrayOutput) Index(i pulumi.IntInput) SubResourceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubResource { - return vs[0].([]SubResource)[vs[1].(int)] - }).(SubResourceOutput) +// End IP Address. +func (o QosIpRangeResponseOutput) EndIP() pulumi.StringPtrOutput { + return o.ApplyT(func(v QosIpRangeResponse) *string { return v.EndIP }).(pulumi.StringPtrOutput) } -// Reference to another subresource. -type SubResourceResponse struct { - // Resource ID. - Id *string `pulumi:"id"` +// Start IP Address. +func (o QosIpRangeResponseOutput) StartIP() pulumi.StringPtrOutput { + return o.ApplyT(func(v QosIpRangeResponse) *string { return v.StartIP }).(pulumi.StringPtrOutput) } -// Reference to another subresource. -type SubResourceResponseOutput struct{ *pulumi.OutputState } +type QosIpRangeResponseArrayOutput struct{ *pulumi.OutputState } -func (SubResourceResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubResourceResponse)(nil)).Elem() +func (QosIpRangeResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosIpRangeResponse)(nil)).Elem() } -func (o SubResourceResponseOutput) ToSubResourceResponseOutput() SubResourceResponseOutput { +func (o QosIpRangeResponseArrayOutput) ToQosIpRangeResponseArrayOutput() QosIpRangeResponseArrayOutput { return o } -func (o SubResourceResponseOutput) ToSubResourceResponseOutputWithContext(ctx context.Context) SubResourceResponseOutput { +func (o QosIpRangeResponseArrayOutput) ToQosIpRangeResponseArrayOutputWithContext(ctx context.Context) QosIpRangeResponseArrayOutput { return o } -// Resource ID. -func (o SubResourceResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubResourceResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o QosIpRangeResponseArrayOutput) Index(i pulumi.IntInput) QosIpRangeResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosIpRangeResponse { + return vs[0].([]QosIpRangeResponse)[vs[1].(int)] + }).(QosIpRangeResponseOutput) } -type SubResourceResponsePtrOutput struct{ *pulumi.OutputState } +// Qos Traffic Profiler Port range properties. +type QosPortRange struct { + // Qos Port Range end. + End *int `pulumi:"end"` + // Qos Port Range start. + Start *int `pulumi:"start"` +} -func (SubResourceResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SubResourceResponse)(nil)).Elem() +// QosPortRangeInput is an input type that accepts QosPortRangeArgs and QosPortRangeOutput values. +// You can construct a concrete instance of `QosPortRangeInput` via: +// +// QosPortRangeArgs{...} +type QosPortRangeInput interface { + pulumi.Input + + ToQosPortRangeOutput() QosPortRangeOutput + ToQosPortRangeOutputWithContext(context.Context) QosPortRangeOutput } -func (o SubResourceResponsePtrOutput) ToSubResourceResponsePtrOutput() SubResourceResponsePtrOutput { +// Qos Traffic Profiler Port range properties. +type QosPortRangeArgs struct { + // Qos Port Range end. + End pulumi.IntPtrInput `pulumi:"end"` + // Qos Port Range start. + Start pulumi.IntPtrInput `pulumi:"start"` +} + +func (QosPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QosPortRange)(nil)).Elem() +} + +func (i QosPortRangeArgs) ToQosPortRangeOutput() QosPortRangeOutput { + return i.ToQosPortRangeOutputWithContext(context.Background()) +} + +func (i QosPortRangeArgs) ToQosPortRangeOutputWithContext(ctx context.Context) QosPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(QosPortRangeOutput) +} + +// QosPortRangeArrayInput is an input type that accepts QosPortRangeArray and QosPortRangeArrayOutput values. +// You can construct a concrete instance of `QosPortRangeArrayInput` via: +// +// QosPortRangeArray{ QosPortRangeArgs{...} } +type QosPortRangeArrayInput interface { + pulumi.Input + + ToQosPortRangeArrayOutput() QosPortRangeArrayOutput + ToQosPortRangeArrayOutputWithContext(context.Context) QosPortRangeArrayOutput +} + +type QosPortRangeArray []QosPortRangeInput + +func (QosPortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosPortRange)(nil)).Elem() +} + +func (i QosPortRangeArray) ToQosPortRangeArrayOutput() QosPortRangeArrayOutput { + return i.ToQosPortRangeArrayOutputWithContext(context.Background()) +} + +func (i QosPortRangeArray) ToQosPortRangeArrayOutputWithContext(ctx context.Context) QosPortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QosPortRangeArrayOutput) +} + +// Qos Traffic Profiler Port range properties. +type QosPortRangeOutput struct{ *pulumi.OutputState } + +func (QosPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QosPortRange)(nil)).Elem() +} + +func (o QosPortRangeOutput) ToQosPortRangeOutput() QosPortRangeOutput { return o } -func (o SubResourceResponsePtrOutput) ToSubResourceResponsePtrOutputWithContext(ctx context.Context) SubResourceResponsePtrOutput { +func (o QosPortRangeOutput) ToQosPortRangeOutputWithContext(ctx context.Context) QosPortRangeOutput { return o } -func (o SubResourceResponsePtrOutput) Elem() SubResourceResponseOutput { - return o.ApplyT(func(v *SubResourceResponse) SubResourceResponse { - if v != nil { - return *v - } - var ret SubResourceResponse - return ret - }).(SubResourceResponseOutput) +// Qos Port Range end. +func (o QosPortRangeOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v QosPortRange) *int { return v.End }).(pulumi.IntPtrOutput) } -// Resource ID. -func (o SubResourceResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubResourceResponse) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +// Qos Port Range start. +func (o QosPortRangeOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v QosPortRange) *int { return v.Start }).(pulumi.IntPtrOutput) } -type SubResourceResponseArrayOutput struct{ *pulumi.OutputState } +type QosPortRangeArrayOutput struct{ *pulumi.OutputState } -func (SubResourceResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubResourceResponse)(nil)).Elem() +func (QosPortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosPortRange)(nil)).Elem() } -func (o SubResourceResponseArrayOutput) ToSubResourceResponseArrayOutput() SubResourceResponseArrayOutput { +func (o QosPortRangeArrayOutput) ToQosPortRangeArrayOutput() QosPortRangeArrayOutput { return o } -func (o SubResourceResponseArrayOutput) ToSubResourceResponseArrayOutputWithContext(ctx context.Context) SubResourceResponseArrayOutput { +func (o QosPortRangeArrayOutput) ToQosPortRangeArrayOutputWithContext(ctx context.Context) QosPortRangeArrayOutput { return o } -func (o SubResourceResponseArrayOutput) Index(i pulumi.IntInput) SubResourceResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubResourceResponse { - return vs[0].([]SubResourceResponse)[vs[1].(int)] - }).(SubResourceResponseOutput) +func (o QosPortRangeArrayOutput) Index(i pulumi.IntInput) QosPortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosPortRange { + return vs[0].([]QosPortRange)[vs[1].(int)] + }).(QosPortRangeOutput) } -// Subnet in a virtual network resource. -type SubnetType struct { - // The address prefix for the subnet. - AddressPrefix *string `pulumi:"addressPrefix"` - // List of address prefixes for the subnet. - AddressPrefixes []string `pulumi:"addressPrefixes"` - // Application gateway IP configurations of virtual network resource. - ApplicationGatewayIPConfigurations []ApplicationGatewayIPConfiguration `pulumi:"applicationGatewayIPConfigurations"` - // Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. - DefaultOutboundAccess *bool `pulumi:"defaultOutboundAccess"` - // An array of references to the delegations on the subnet. - Delegations []Delegation `pulumi:"delegations"` - // A unique read-only string that changes whenever the resource is updated. - Etag *string `pulumi:"etag"` - // Resource ID. - Id *string `pulumi:"id"` - // Array of IpAllocation which reference this subnet. - IpAllocations []SubResource `pulumi:"ipAllocations"` - // A list of IPAM Pools for allocating IP address prefixes. - IpamPoolPrefixAllocations []IpamPoolPrefixAllocation `pulumi:"ipamPoolPrefixAllocations"` - // 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"` - // Nat gateway associated with this subnet. - NatGateway *SubResource `pulumi:"natGateway"` - // The reference to the NetworkSecurityGroup resource. - NetworkSecurityGroup *NetworkSecurityGroupType `pulumi:"networkSecurityGroup"` - // Enable or Disable apply network policies on private end point in the subnet. - PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` - // Enable or Disable apply network policies on private link service in the subnet. - PrivateLinkServiceNetworkPolicies *string `pulumi:"privateLinkServiceNetworkPolicies"` - // The provisioning state of the resource. - ProvisioningState *string `pulumi:"provisioningState"` - // Gets an array of references to the external resources using subnet. - ResourceNavigationLinks []ResourceNavigationLink `pulumi:"resourceNavigationLinks"` - // The reference to the RouteTable resource. - RouteTable *RouteTableType `pulumi:"routeTable"` - // Gets an array of references to services injecting into this subnet. - ServiceAssociationLinks []ServiceAssociationLink `pulumi:"serviceAssociationLinks"` - // An array of service endpoint policies. - ServiceEndpointPolicies []ServiceEndpointPolicyType `pulumi:"serviceEndpointPolicies"` - // An array of service endpoints. - ServiceEndpoints []ServiceEndpointPropertiesFormat `pulumi:"serviceEndpoints"` - // Reference to an existing service gateway. - ServiceGateway *SubResource `pulumi:"serviceGateway"` - // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. - SharingScope *string `pulumi:"sharingScope"` - // Resource type. - Type *string `pulumi:"type"` +// Qos Traffic Profiler Port range properties. +type QosPortRangeResponse struct { + // Qos Port Range end. + End *int `pulumi:"end"` + // Qos Port Range start. + Start *int `pulumi:"start"` } -// Defaults sets the appropriate defaults for SubnetType -func (val *SubnetType) Defaults() *SubnetType { - if val == nil { - return nil - } - tmp := *val - if tmp.PrivateEndpointNetworkPolicies == nil { - privateEndpointNetworkPolicies_ := "Disabled" - tmp.PrivateEndpointNetworkPolicies = &privateEndpointNetworkPolicies_ - } - if tmp.PrivateLinkServiceNetworkPolicies == nil { - privateLinkServiceNetworkPolicies_ := "Enabled" - tmp.PrivateLinkServiceNetworkPolicies = &privateLinkServiceNetworkPolicies_ - } - return &tmp +// Qos Traffic Profiler Port range properties. +type QosPortRangeResponseOutput struct{ *pulumi.OutputState } + +func (QosPortRangeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QosPortRangeResponse)(nil)).Elem() } -// SubnetTypeInput is an input type that accepts SubnetTypeArgs and SubnetTypeOutput values. -// You can construct a concrete instance of `SubnetTypeInput` via: -// -// SubnetTypeArgs{...} -type SubnetTypeInput interface { - pulumi.Input +func (o QosPortRangeResponseOutput) ToQosPortRangeResponseOutput() QosPortRangeResponseOutput { + return o +} - ToSubnetTypeOutput() SubnetTypeOutput - ToSubnetTypeOutputWithContext(context.Context) SubnetTypeOutput +func (o QosPortRangeResponseOutput) ToQosPortRangeResponseOutputWithContext(ctx context.Context) QosPortRangeResponseOutput { + return o } -// Subnet in a virtual network resource. -type SubnetTypeArgs struct { - // The address prefix for the subnet. - AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` - // List of address prefixes for the subnet. - AddressPrefixes pulumi.StringArrayInput `pulumi:"addressPrefixes"` - // Application gateway IP configurations of virtual network resource. - ApplicationGatewayIPConfigurations ApplicationGatewayIPConfigurationArrayInput `pulumi:"applicationGatewayIPConfigurations"` - // Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. - DefaultOutboundAccess pulumi.BoolPtrInput `pulumi:"defaultOutboundAccess"` - // An array of references to the delegations on the subnet. - Delegations DelegationArrayInput `pulumi:"delegations"` - // A unique read-only string that changes whenever the resource is updated. - Etag pulumi.StringPtrInput `pulumi:"etag"` - // Resource ID. - Id pulumi.StringPtrInput `pulumi:"id"` - // Array of IpAllocation which reference this subnet. - IpAllocations SubResourceArrayInput `pulumi:"ipAllocations"` - // A list of IPAM Pools for allocating IP address prefixes. - IpamPoolPrefixAllocations IpamPoolPrefixAllocationArrayInput `pulumi:"ipamPoolPrefixAllocations"` - // 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"` - // Nat gateway associated with this subnet. - NatGateway SubResourcePtrInput `pulumi:"natGateway"` - // The reference to the NetworkSecurityGroup resource. - NetworkSecurityGroup NetworkSecurityGroupTypePtrInput `pulumi:"networkSecurityGroup"` - // Enable or Disable apply network policies on private end point in the subnet. - PrivateEndpointNetworkPolicies pulumi.StringPtrInput `pulumi:"privateEndpointNetworkPolicies"` - // Enable or Disable apply network policies on private link service in the subnet. - PrivateLinkServiceNetworkPolicies pulumi.StringPtrInput `pulumi:"privateLinkServiceNetworkPolicies"` - // The provisioning state of the resource. - ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` - // Gets an array of references to the external resources using subnet. - ResourceNavigationLinks ResourceNavigationLinkArrayInput `pulumi:"resourceNavigationLinks"` - // The reference to the RouteTable resource. - RouteTable RouteTableTypePtrInput `pulumi:"routeTable"` - // Gets an array of references to services injecting into this subnet. - ServiceAssociationLinks ServiceAssociationLinkArrayInput `pulumi:"serviceAssociationLinks"` - // An array of service endpoint policies. - ServiceEndpointPolicies ServiceEndpointPolicyTypeArrayInput `pulumi:"serviceEndpointPolicies"` - // An array of service endpoints. - ServiceEndpoints ServiceEndpointPropertiesFormatArrayInput `pulumi:"serviceEndpoints"` - // Reference to an existing service gateway. - ServiceGateway SubResourcePtrInput `pulumi:"serviceGateway"` - // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. - SharingScope pulumi.StringPtrInput `pulumi:"sharingScope"` - // Resource type. - Type pulumi.StringPtrInput `pulumi:"type"` +// Qos Port Range end. +func (o QosPortRangeResponseOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v QosPortRangeResponse) *int { return v.End }).(pulumi.IntPtrOutput) } -// Defaults sets the appropriate defaults for SubnetTypeArgs -func (val *SubnetTypeArgs) Defaults() *SubnetTypeArgs { - if val == nil { - return nil - } - tmp := *val - if tmp.PrivateEndpointNetworkPolicies == nil { - tmp.PrivateEndpointNetworkPolicies = pulumi.StringPtr("Disabled") - } - if tmp.PrivateLinkServiceNetworkPolicies == nil { - tmp.PrivateLinkServiceNetworkPolicies = pulumi.StringPtr("Enabled") - } - return &tmp +// Qos Port Range start. +func (o QosPortRangeResponseOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v QosPortRangeResponse) *int { return v.Start }).(pulumi.IntPtrOutput) } -func (SubnetTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetType)(nil)).Elem() + +type QosPortRangeResponseArrayOutput struct{ *pulumi.OutputState } + +func (QosPortRangeResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QosPortRangeResponse)(nil)).Elem() } -func (i SubnetTypeArgs) ToSubnetTypeOutput() SubnetTypeOutput { - return i.ToSubnetTypeOutputWithContext(context.Background()) +func (o QosPortRangeResponseArrayOutput) ToQosPortRangeResponseArrayOutput() QosPortRangeResponseArrayOutput { + return o } -func (i SubnetTypeArgs) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetTypeOutput) +func (o QosPortRangeResponseArrayOutput) ToQosPortRangeResponseArrayOutputWithContext(ctx context.Context) QosPortRangeResponseArrayOutput { + return o } -func (i SubnetTypeArgs) ToSubnetTypePtrOutput() SubnetTypePtrOutput { - return i.ToSubnetTypePtrOutputWithContext(context.Background()) +func (o QosPortRangeResponseArrayOutput) Index(i pulumi.IntInput) QosPortRangeResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QosPortRangeResponse { + return vs[0].([]QosPortRangeResponse)[vs[1].(int)] + }).(QosPortRangeResponseOutput) } -func (i SubnetTypeArgs) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetTypeOutput).ToSubnetTypePtrOutputWithContext(ctx) +// Gateway or VpnServerConfiguration Radius server with radius secret details +type RadiusAuthServerResponse struct { + // Radius server IPAddress + RadiusServerAddress *string `pulumi:"radiusServerAddress"` + // Radius server secret + RadiusServerSecret *string `pulumi:"radiusServerSecret"` } -// SubnetTypePtrInput is an input type that accepts SubnetTypeArgs, SubnetTypePtr and SubnetTypePtrOutput values. -// You can construct a concrete instance of `SubnetTypePtrInput` via: -// -// SubnetTypeArgs{...} -// -// or: -// -// nil -type SubnetTypePtrInput interface { - pulumi.Input +// Gateway or VpnServerConfiguration Radius server with radius secret details +type RadiusAuthServerResponseOutput struct{ *pulumi.OutputState } - ToSubnetTypePtrOutput() SubnetTypePtrOutput - ToSubnetTypePtrOutputWithContext(context.Context) SubnetTypePtrOutput +func (RadiusAuthServerResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RadiusAuthServerResponse)(nil)).Elem() } -type subnetTypePtrType SubnetTypeArgs +func (o RadiusAuthServerResponseOutput) ToRadiusAuthServerResponseOutput() RadiusAuthServerResponseOutput { + return o +} -func SubnetTypePtr(v *SubnetTypeArgs) SubnetTypePtrInput { - return (*subnetTypePtrType)(v) +func (o RadiusAuthServerResponseOutput) ToRadiusAuthServerResponseOutputWithContext(ctx context.Context) RadiusAuthServerResponseOutput { + return o } -func (*subnetTypePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SubnetType)(nil)).Elem() +// Radius server IPAddress +func (o RadiusAuthServerResponseOutput) RadiusServerAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RadiusAuthServerResponse) *string { return v.RadiusServerAddress }).(pulumi.StringPtrOutput) } -func (i *subnetTypePtrType) ToSubnetTypePtrOutput() SubnetTypePtrOutput { - return i.ToSubnetTypePtrOutputWithContext(context.Background()) +// Radius server secret +func (o RadiusAuthServerResponseOutput) RadiusServerSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v RadiusAuthServerResponse) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) } -func (i *subnetTypePtrType) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetTypePtrOutput) +type RadiusAuthServerResponseArrayOutput struct{ *pulumi.OutputState } + +func (RadiusAuthServerResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RadiusAuthServerResponse)(nil)).Elem() } -// SubnetTypeArrayInput is an input type that accepts SubnetTypeArray and SubnetTypeArrayOutput values. -// You can construct a concrete instance of `SubnetTypeArrayInput` via: +func (o RadiusAuthServerResponseArrayOutput) ToRadiusAuthServerResponseArrayOutput() RadiusAuthServerResponseArrayOutput { + return o +} + +func (o RadiusAuthServerResponseArrayOutput) ToRadiusAuthServerResponseArrayOutputWithContext(ctx context.Context) RadiusAuthServerResponseArrayOutput { + return o +} + +func (o RadiusAuthServerResponseArrayOutput) Index(i pulumi.IntInput) RadiusAuthServerResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RadiusAuthServerResponse { + return vs[0].([]RadiusAuthServerResponse)[vs[1].(int)] + }).(RadiusAuthServerResponseOutput) +} + +// Radius Server Settings. +type RadiusServer struct { + // The address of this radius server. + RadiusServerAddress string `pulumi:"radiusServerAddress"` + // The initial score assigned to this radius server. + RadiusServerScore *float64 `pulumi:"radiusServerScore"` + // The secret used for this radius server. + RadiusServerSecret *string `pulumi:"radiusServerSecret"` +} + +// RadiusServerInput is an input type that accepts RadiusServerArgs and RadiusServerOutput values. +// You can construct a concrete instance of `RadiusServerInput` via: // -// SubnetTypeArray{ SubnetTypeArgs{...} } -type SubnetTypeArrayInput interface { +// RadiusServerArgs{...} +type RadiusServerInput interface { pulumi.Input - ToSubnetTypeArrayOutput() SubnetTypeArrayOutput - ToSubnetTypeArrayOutputWithContext(context.Context) SubnetTypeArrayOutput + ToRadiusServerOutput() RadiusServerOutput + ToRadiusServerOutputWithContext(context.Context) RadiusServerOutput } -type SubnetTypeArray []SubnetTypeInput +// Radius Server Settings. +type RadiusServerArgs struct { + // The address of this radius server. + RadiusServerAddress pulumi.StringInput `pulumi:"radiusServerAddress"` + // The initial score assigned to this radius server. + RadiusServerScore pulumi.Float64PtrInput `pulumi:"radiusServerScore"` + // The secret used for this radius server. + RadiusServerSecret pulumi.StringPtrInput `pulumi:"radiusServerSecret"` +} -func (SubnetTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubnetType)(nil)).Elem() +func (RadiusServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RadiusServer)(nil)).Elem() } -func (i SubnetTypeArray) ToSubnetTypeArrayOutput() SubnetTypeArrayOutput { - return i.ToSubnetTypeArrayOutputWithContext(context.Background()) +func (i RadiusServerArgs) ToRadiusServerOutput() RadiusServerOutput { + return i.ToRadiusServerOutputWithContext(context.Background()) +} + +func (i RadiusServerArgs) ToRadiusServerOutputWithContext(ctx context.Context) RadiusServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(RadiusServerOutput) +} + +// RadiusServerArrayInput is an input type that accepts RadiusServerArray and RadiusServerArrayOutput values. +// You can construct a concrete instance of `RadiusServerArrayInput` via: +// +// RadiusServerArray{ RadiusServerArgs{...} } +type RadiusServerArrayInput interface { + pulumi.Input + + ToRadiusServerArrayOutput() RadiusServerArrayOutput + ToRadiusServerArrayOutputWithContext(context.Context) RadiusServerArrayOutput +} + +type RadiusServerArray []RadiusServerInput + +func (RadiusServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RadiusServer)(nil)).Elem() +} + +func (i RadiusServerArray) ToRadiusServerArrayOutput() RadiusServerArrayOutput { + return i.ToRadiusServerArrayOutputWithContext(context.Background()) +} + +func (i RadiusServerArray) ToRadiusServerArrayOutputWithContext(ctx context.Context) RadiusServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RadiusServerArrayOutput) +} + +// Radius Server Settings. +type RadiusServerOutput struct{ *pulumi.OutputState } + +func (RadiusServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RadiusServer)(nil)).Elem() +} + +func (o RadiusServerOutput) ToRadiusServerOutput() RadiusServerOutput { + return o +} + +func (o RadiusServerOutput) ToRadiusServerOutputWithContext(ctx context.Context) RadiusServerOutput { + return o +} + +// The address of this radius server. +func (o RadiusServerOutput) RadiusServerAddress() pulumi.StringOutput { + return o.ApplyT(func(v RadiusServer) string { return v.RadiusServerAddress }).(pulumi.StringOutput) +} + +// The initial score assigned to this radius server. +func (o RadiusServerOutput) RadiusServerScore() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RadiusServer) *float64 { return v.RadiusServerScore }).(pulumi.Float64PtrOutput) +} + +// The secret used for this radius server. +func (o RadiusServerOutput) RadiusServerSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v RadiusServer) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) +} + +type RadiusServerArrayOutput struct{ *pulumi.OutputState } + +func (RadiusServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RadiusServer)(nil)).Elem() +} + +func (o RadiusServerArrayOutput) ToRadiusServerArrayOutput() RadiusServerArrayOutput { + return o +} + +func (o RadiusServerArrayOutput) ToRadiusServerArrayOutputWithContext(ctx context.Context) RadiusServerArrayOutput { + return o +} + +func (o RadiusServerArrayOutput) Index(i pulumi.IntInput) RadiusServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RadiusServer { + return vs[0].([]RadiusServer)[vs[1].(int)] + }).(RadiusServerOutput) +} + +// Radius Server Settings. +type RadiusServerResponse struct { + // The address of this radius server. + RadiusServerAddress string `pulumi:"radiusServerAddress"` + // The initial score assigned to this radius server. + RadiusServerScore *float64 `pulumi:"radiusServerScore"` + // The secret used for this radius server. + RadiusServerSecret *string `pulumi:"radiusServerSecret"` +} + +// Radius Server Settings. +type RadiusServerResponseOutput struct{ *pulumi.OutputState } + +func (RadiusServerResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RadiusServerResponse)(nil)).Elem() +} + +func (o RadiusServerResponseOutput) ToRadiusServerResponseOutput() RadiusServerResponseOutput { + return o +} + +func (o RadiusServerResponseOutput) ToRadiusServerResponseOutputWithContext(ctx context.Context) RadiusServerResponseOutput { + return o +} + +// The address of this radius server. +func (o RadiusServerResponseOutput) RadiusServerAddress() pulumi.StringOutput { + return o.ApplyT(func(v RadiusServerResponse) string { return v.RadiusServerAddress }).(pulumi.StringOutput) +} + +// The initial score assigned to this radius server. +func (o RadiusServerResponseOutput) RadiusServerScore() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RadiusServerResponse) *float64 { return v.RadiusServerScore }).(pulumi.Float64PtrOutput) +} + +// The secret used for this radius server. +func (o RadiusServerResponseOutput) RadiusServerSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v RadiusServerResponse) *string { return v.RadiusServerSecret }).(pulumi.StringPtrOutput) +} + +type RadiusServerResponseArrayOutput struct{ *pulumi.OutputState } + +func (RadiusServerResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RadiusServerResponse)(nil)).Elem() +} + +func (o RadiusServerResponseArrayOutput) ToRadiusServerResponseArrayOutput() RadiusServerResponseArrayOutput { + return o +} + +func (o RadiusServerResponseArrayOutput) ToRadiusServerResponseArrayOutputWithContext(ctx context.Context) RadiusServerResponseArrayOutput { + return o +} + +func (o RadiusServerResponseArrayOutput) Index(i pulumi.IntInput) RadiusServerResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RadiusServerResponse { + return vs[0].([]RadiusServerResponse)[vs[1].(int)] + }).(RadiusServerResponseOutput) +} + +// Represents the Reachability Analysis Intent properties. +type ReachabilityAnalysisIntentProperties struct { + Description *string `pulumi:"description"` + // Destination resource id to verify the reachability path of. + DestinationResourceId string `pulumi:"destinationResourceId"` + // IP traffic information. + IpTraffic IPTraffic `pulumi:"ipTraffic"` + // Source resource id to verify the reachability path of. + SourceResourceId string `pulumi:"sourceResourceId"` +} + +// ReachabilityAnalysisIntentPropertiesInput is an input type that accepts ReachabilityAnalysisIntentPropertiesArgs and ReachabilityAnalysisIntentPropertiesOutput values. +// You can construct a concrete instance of `ReachabilityAnalysisIntentPropertiesInput` via: +// +// ReachabilityAnalysisIntentPropertiesArgs{...} +type ReachabilityAnalysisIntentPropertiesInput interface { + pulumi.Input + + ToReachabilityAnalysisIntentPropertiesOutput() ReachabilityAnalysisIntentPropertiesOutput + ToReachabilityAnalysisIntentPropertiesOutputWithContext(context.Context) ReachabilityAnalysisIntentPropertiesOutput +} + +// Represents the Reachability Analysis Intent properties. +type ReachabilityAnalysisIntentPropertiesArgs struct { + Description pulumi.StringPtrInput `pulumi:"description"` + // Destination resource id to verify the reachability path of. + DestinationResourceId pulumi.StringInput `pulumi:"destinationResourceId"` + // IP traffic information. + IpTraffic IPTrafficInput `pulumi:"ipTraffic"` + // Source resource id to verify the reachability path of. + SourceResourceId pulumi.StringInput `pulumi:"sourceResourceId"` +} + +func (ReachabilityAnalysisIntentPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReachabilityAnalysisIntentProperties)(nil)).Elem() +} + +func (i ReachabilityAnalysisIntentPropertiesArgs) ToReachabilityAnalysisIntentPropertiesOutput() ReachabilityAnalysisIntentPropertiesOutput { + return i.ToReachabilityAnalysisIntentPropertiesOutputWithContext(context.Background()) +} + +func (i ReachabilityAnalysisIntentPropertiesArgs) ToReachabilityAnalysisIntentPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisIntentPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReachabilityAnalysisIntentPropertiesOutput) +} + +// Represents the Reachability Analysis Intent properties. +type ReachabilityAnalysisIntentPropertiesOutput struct{ *pulumi.OutputState } + +func (ReachabilityAnalysisIntentPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReachabilityAnalysisIntentProperties)(nil)).Elem() +} + +func (o ReachabilityAnalysisIntentPropertiesOutput) ToReachabilityAnalysisIntentPropertiesOutput() ReachabilityAnalysisIntentPropertiesOutput { + return o +} + +func (o ReachabilityAnalysisIntentPropertiesOutput) ToReachabilityAnalysisIntentPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisIntentPropertiesOutput { + return o +} + +func (o ReachabilityAnalysisIntentPropertiesOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Destination resource id to verify the reachability path of. +func (o ReachabilityAnalysisIntentPropertiesOutput) DestinationResourceId() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) string { return v.DestinationResourceId }).(pulumi.StringOutput) +} + +// IP traffic information. +func (o ReachabilityAnalysisIntentPropertiesOutput) IpTraffic() IPTrafficOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) IPTraffic { return v.IpTraffic }).(IPTrafficOutput) +} + +// Source resource id to verify the reachability path of. +func (o ReachabilityAnalysisIntentPropertiesOutput) SourceResourceId() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentProperties) string { return v.SourceResourceId }).(pulumi.StringOutput) +} + +// Represents the Reachability Analysis Intent properties. +type ReachabilityAnalysisIntentPropertiesResponse struct { + Description *string `pulumi:"description"` + // Destination resource id to verify the reachability path of. + DestinationResourceId string `pulumi:"destinationResourceId"` + // IP traffic information. + IpTraffic IPTrafficResponse `pulumi:"ipTraffic"` + // Provisioning states of a resource. + ProvisioningState string `pulumi:"provisioningState"` + // Source resource id to verify the reachability path of. + SourceResourceId string `pulumi:"sourceResourceId"` +} + +// Represents the Reachability Analysis Intent properties. +type ReachabilityAnalysisIntentPropertiesResponseOutput struct{ *pulumi.OutputState } + +func (ReachabilityAnalysisIntentPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReachabilityAnalysisIntentPropertiesResponse)(nil)).Elem() +} + +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) ToReachabilityAnalysisIntentPropertiesResponseOutput() ReachabilityAnalysisIntentPropertiesResponseOutput { + return o +} + +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) ToReachabilityAnalysisIntentPropertiesResponseOutputWithContext(ctx context.Context) ReachabilityAnalysisIntentPropertiesResponseOutput { + return o +} + +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Destination resource id to verify the reachability path of. +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) DestinationResourceId() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) string { return v.DestinationResourceId }).(pulumi.StringOutput) +} + +// IP traffic information. +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) IpTraffic() IPTrafficResponseOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) IPTrafficResponse { return v.IpTraffic }).(IPTrafficResponseOutput) +} + +// Provisioning states of a resource. +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Source resource id to verify the reachability path of. +func (o ReachabilityAnalysisIntentPropertiesResponseOutput) SourceResourceId() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisIntentPropertiesResponse) string { return v.SourceResourceId }).(pulumi.StringOutput) +} + +// Represents the Reachability Analysis Run properties. +type ReachabilityAnalysisRunProperties struct { + Description *string `pulumi:"description"` + // Id of the intent resource to run analysis on. + IntentId string `pulumi:"intentId"` +} + +// ReachabilityAnalysisRunPropertiesInput is an input type that accepts ReachabilityAnalysisRunPropertiesArgs and ReachabilityAnalysisRunPropertiesOutput values. +// You can construct a concrete instance of `ReachabilityAnalysisRunPropertiesInput` via: +// +// ReachabilityAnalysisRunPropertiesArgs{...} +type ReachabilityAnalysisRunPropertiesInput interface { + pulumi.Input + + ToReachabilityAnalysisRunPropertiesOutput() ReachabilityAnalysisRunPropertiesOutput + ToReachabilityAnalysisRunPropertiesOutputWithContext(context.Context) ReachabilityAnalysisRunPropertiesOutput +} + +// Represents the Reachability Analysis Run properties. +type ReachabilityAnalysisRunPropertiesArgs struct { + Description pulumi.StringPtrInput `pulumi:"description"` + // Id of the intent resource to run analysis on. + IntentId pulumi.StringInput `pulumi:"intentId"` +} + +func (ReachabilityAnalysisRunPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReachabilityAnalysisRunProperties)(nil)).Elem() +} + +func (i ReachabilityAnalysisRunPropertiesArgs) ToReachabilityAnalysisRunPropertiesOutput() ReachabilityAnalysisRunPropertiesOutput { + return i.ToReachabilityAnalysisRunPropertiesOutputWithContext(context.Background()) +} + +func (i ReachabilityAnalysisRunPropertiesArgs) ToReachabilityAnalysisRunPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisRunPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReachabilityAnalysisRunPropertiesOutput) +} + +// Represents the Reachability Analysis Run properties. +type ReachabilityAnalysisRunPropertiesOutput struct{ *pulumi.OutputState } + +func (ReachabilityAnalysisRunPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReachabilityAnalysisRunProperties)(nil)).Elem() +} + +func (o ReachabilityAnalysisRunPropertiesOutput) ToReachabilityAnalysisRunPropertiesOutput() ReachabilityAnalysisRunPropertiesOutput { + return o +} + +func (o ReachabilityAnalysisRunPropertiesOutput) ToReachabilityAnalysisRunPropertiesOutputWithContext(ctx context.Context) ReachabilityAnalysisRunPropertiesOutput { + return o +} + +func (o ReachabilityAnalysisRunPropertiesOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunProperties) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Id of the intent resource to run analysis on. +func (o ReachabilityAnalysisRunPropertiesOutput) IntentId() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunProperties) string { return v.IntentId }).(pulumi.StringOutput) +} + +// Represents the Reachability Analysis Run properties. +type ReachabilityAnalysisRunPropertiesResponse struct { + AnalysisResult string `pulumi:"analysisResult"` + Description *string `pulumi:"description"` + ErrorMessage string `pulumi:"errorMessage"` + // Intent information. + IntentContent IntentContentResponse `pulumi:"intentContent"` + // Id of the intent resource to run analysis on. + IntentId string `pulumi:"intentId"` + // Provisioning states of a resource. + ProvisioningState string `pulumi:"provisioningState"` +} + +// Represents the Reachability Analysis Run properties. +type ReachabilityAnalysisRunPropertiesResponseOutput struct{ *pulumi.OutputState } + +func (ReachabilityAnalysisRunPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReachabilityAnalysisRunPropertiesResponse)(nil)).Elem() +} + +func (o ReachabilityAnalysisRunPropertiesResponseOutput) ToReachabilityAnalysisRunPropertiesResponseOutput() ReachabilityAnalysisRunPropertiesResponseOutput { + return o +} + +func (o ReachabilityAnalysisRunPropertiesResponseOutput) ToReachabilityAnalysisRunPropertiesResponseOutputWithContext(ctx context.Context) ReachabilityAnalysisRunPropertiesResponseOutput { + return o +} + +func (o ReachabilityAnalysisRunPropertiesResponseOutput) AnalysisResult() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.AnalysisResult }).(pulumi.StringOutput) +} + +func (o ReachabilityAnalysisRunPropertiesResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o ReachabilityAnalysisRunPropertiesResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +// Intent information. +func (o ReachabilityAnalysisRunPropertiesResponseOutput) IntentContent() IntentContentResponseOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) IntentContentResponse { return v.IntentContent }).(IntentContentResponseOutput) +} + +// Id of the intent resource to run analysis on. +func (o ReachabilityAnalysisRunPropertiesResponseOutput) IntentId() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.IntentId }).(pulumi.StringOutput) +} + +// Provisioning states of a resource. +func (o ReachabilityAnalysisRunPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ReachabilityAnalysisRunPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// A collective group of information about the record set information. +type RecordSetResponse struct { + // Fqdn that resolves to private endpoint ip address. + Fqdn *string `pulumi:"fqdn"` + // The private ip address of the private endpoint. + IpAddresses []string `pulumi:"ipAddresses"` + // The provisioning state of the recordset. + ProvisioningState string `pulumi:"provisioningState"` + // Recordset name. + RecordSetName *string `pulumi:"recordSetName"` + // Resource record type. + RecordType *string `pulumi:"recordType"` + // Recordset time to live. + Ttl *int `pulumi:"ttl"` +} + +// A collective group of information about the record set information. +type RecordSetResponseOutput struct{ *pulumi.OutputState } + +func (RecordSetResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetResponse)(nil)).Elem() +} + +func (o RecordSetResponseOutput) ToRecordSetResponseOutput() RecordSetResponseOutput { + return o +} + +func (o RecordSetResponseOutput) ToRecordSetResponseOutputWithContext(ctx context.Context) RecordSetResponseOutput { + return o +} + +// Fqdn that resolves to private endpoint ip address. +func (o RecordSetResponseOutput) Fqdn() pulumi.StringPtrOutput { + return o.ApplyT(func(v RecordSetResponse) *string { return v.Fqdn }).(pulumi.StringPtrOutput) +} + +// The private ip address of the private endpoint. +func (o RecordSetResponseOutput) IpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v RecordSetResponse) []string { return v.IpAddresses }).(pulumi.StringArrayOutput) +} + +// The provisioning state of the recordset. +func (o RecordSetResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v RecordSetResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Recordset name. +func (o RecordSetResponseOutput) RecordSetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RecordSetResponse) *string { return v.RecordSetName }).(pulumi.StringPtrOutput) +} + +// Resource record type. +func (o RecordSetResponseOutput) RecordType() pulumi.StringPtrOutput { + return o.ApplyT(func(v RecordSetResponse) *string { return v.RecordType }).(pulumi.StringPtrOutput) +} + +// Recordset time to live. +func (o RecordSetResponseOutput) Ttl() pulumi.IntPtrOutput { + return o.ApplyT(func(v RecordSetResponse) *int { return v.Ttl }).(pulumi.IntPtrOutput) +} + +type RecordSetResponseArrayOutput struct{ *pulumi.OutputState } + +func (RecordSetResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RecordSetResponse)(nil)).Elem() +} + +func (o RecordSetResponseArrayOutput) ToRecordSetResponseArrayOutput() RecordSetResponseArrayOutput { + return o +} + +func (o RecordSetResponseArrayOutput) ToRecordSetResponseArrayOutputWithContext(ctx context.Context) RecordSetResponseArrayOutput { + return o +} + +func (o RecordSetResponseArrayOutput) Index(i pulumi.IntInput) RecordSetResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RecordSetResponse { + return vs[0].([]RecordSetResponse)[vs[1].(int)] + }).(RecordSetResponseOutput) +} + +// Reference to a public IP address. +type ReferencedPublicIpAddressResponse struct { + // The PublicIPAddress Reference. + Id *string `pulumi:"id"` +} + +// Reference to a public IP address. +type ReferencedPublicIpAddressResponseOutput struct{ *pulumi.OutputState } + +func (ReferencedPublicIpAddressResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReferencedPublicIpAddressResponse)(nil)).Elem() +} + +func (o ReferencedPublicIpAddressResponseOutput) ToReferencedPublicIpAddressResponseOutput() ReferencedPublicIpAddressResponseOutput { + return o +} + +func (o ReferencedPublicIpAddressResponseOutput) ToReferencedPublicIpAddressResponseOutputWithContext(ctx context.Context) ReferencedPublicIpAddressResponseOutput { + return o +} + +// The PublicIPAddress Reference. +func (o ReferencedPublicIpAddressResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReferencedPublicIpAddressResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type ReferencedPublicIpAddressResponseArrayOutput struct{ *pulumi.OutputState } + +func (ReferencedPublicIpAddressResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReferencedPublicIpAddressResponse)(nil)).Elem() +} + +func (o ReferencedPublicIpAddressResponseArrayOutput) ToReferencedPublicIpAddressResponseArrayOutput() ReferencedPublicIpAddressResponseArrayOutput { + return o +} + +func (o ReferencedPublicIpAddressResponseArrayOutput) ToReferencedPublicIpAddressResponseArrayOutputWithContext(ctx context.Context) ReferencedPublicIpAddressResponseArrayOutput { + return o +} + +func (o ReferencedPublicIpAddressResponseArrayOutput) Index(i pulumi.IntInput) ReferencedPublicIpAddressResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReferencedPublicIpAddressResponse { + return vs[0].([]ReferencedPublicIpAddressResponse)[vs[1].(int)] + }).(ReferencedPublicIpAddressResponseOutput) +} + +// Gateway Resiliency based Recommendations +type ResiliencyRecommendationComponentsResponse struct { + // Current Score of the gateway + CurrentScore *string `pulumi:"currentScore"` + // Max score that the gateway can achieve if the specified recommendation is applied + MaxScore *string `pulumi:"maxScore"` + // Name of the Resiliency based Recommendation Component + Name *string `pulumi:"name"` + // List of Gateway Resiliency based Recommendations + Recommendations []GatewayResiliencyRecommendationResponse `pulumi:"recommendations"` +} + +// Gateway Resiliency based Recommendations +type ResiliencyRecommendationComponentsResponseOutput struct{ *pulumi.OutputState } + +func (ResiliencyRecommendationComponentsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResiliencyRecommendationComponentsResponse)(nil)).Elem() +} + +func (o ResiliencyRecommendationComponentsResponseOutput) ToResiliencyRecommendationComponentsResponseOutput() ResiliencyRecommendationComponentsResponseOutput { + return o +} + +func (o ResiliencyRecommendationComponentsResponseOutput) ToResiliencyRecommendationComponentsResponseOutputWithContext(ctx context.Context) ResiliencyRecommendationComponentsResponseOutput { + return o +} + +// Current Score of the gateway +func (o ResiliencyRecommendationComponentsResponseOutput) CurrentScore() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) *string { return v.CurrentScore }).(pulumi.StringPtrOutput) +} + +// Max score that the gateway can achieve if the specified recommendation is applied +func (o ResiliencyRecommendationComponentsResponseOutput) MaxScore() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) *string { return v.MaxScore }).(pulumi.StringPtrOutput) +} + +// Name of the Resiliency based Recommendation Component +func (o ResiliencyRecommendationComponentsResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// List of Gateway Resiliency based Recommendations +func (o ResiliencyRecommendationComponentsResponseOutput) Recommendations() GatewayResiliencyRecommendationResponseArrayOutput { + return o.ApplyT(func(v ResiliencyRecommendationComponentsResponse) []GatewayResiliencyRecommendationResponse { + return v.Recommendations + }).(GatewayResiliencyRecommendationResponseArrayOutput) +} + +type ResiliencyRecommendationComponentsResponseArrayOutput struct{ *pulumi.OutputState } + +func (ResiliencyRecommendationComponentsResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResiliencyRecommendationComponentsResponse)(nil)).Elem() +} + +func (o ResiliencyRecommendationComponentsResponseArrayOutput) ToResiliencyRecommendationComponentsResponseArrayOutput() ResiliencyRecommendationComponentsResponseArrayOutput { + return o +} + +func (o ResiliencyRecommendationComponentsResponseArrayOutput) ToResiliencyRecommendationComponentsResponseArrayOutputWithContext(ctx context.Context) ResiliencyRecommendationComponentsResponseArrayOutput { + return o +} + +func (o ResiliencyRecommendationComponentsResponseArrayOutput) Index(i pulumi.IntInput) ResiliencyRecommendationComponentsResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResiliencyRecommendationComponentsResponse { + return vs[0].([]ResiliencyRecommendationComponentsResponse)[vs[1].(int)] + }).(ResiliencyRecommendationComponentsResponseOutput) +} + +// Representation of basic resource information. +type ResourceBasicsResponse struct { + // List of IP address prefixes of the resource. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // ResourceId of the Azure resource. + ResourceId *string `pulumi:"resourceId"` +} + +// Representation of basic resource information. +type ResourceBasicsResponseOutput struct{ *pulumi.OutputState } + +func (ResourceBasicsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceBasicsResponse)(nil)).Elem() +} + +func (o ResourceBasicsResponseOutput) ToResourceBasicsResponseOutput() ResourceBasicsResponseOutput { + return o +} + +func (o ResourceBasicsResponseOutput) ToResourceBasicsResponseOutputWithContext(ctx context.Context) ResourceBasicsResponseOutput { + return o +} + +// List of IP address prefixes of the resource. +func (o ResourceBasicsResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ResourceBasicsResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +// ResourceId of the Azure resource. +func (o ResourceBasicsResponseOutput) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceBasicsResponse) *string { return v.ResourceId }).(pulumi.StringPtrOutput) +} + +type ResourceBasicsResponseArrayOutput struct{ *pulumi.OutputState } + +func (ResourceBasicsResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceBasicsResponse)(nil)).Elem() +} + +func (o ResourceBasicsResponseArrayOutput) ToResourceBasicsResponseArrayOutput() ResourceBasicsResponseArrayOutput { + return o +} + +func (o ResourceBasicsResponseArrayOutput) ToResourceBasicsResponseArrayOutputWithContext(ctx context.Context) ResourceBasicsResponseArrayOutput { + return o +} + +func (o ResourceBasicsResponseArrayOutput) Index(i pulumi.IntInput) ResourceBasicsResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceBasicsResponse { + return vs[0].([]ResourceBasicsResponse)[vs[1].(int)] + }).(ResourceBasicsResponseOutput) +} + +// ResourceNavigationLink resource. +type ResourceNavigationLink struct { + // Resource ID. + Id *string `pulumi:"id"` + // Link to the external resource + Link *string `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType *string `pulumi:"linkedResourceType"` + // Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `pulumi:"name"` +} + +// ResourceNavigationLinkInput is an input type that accepts ResourceNavigationLinkArgs and ResourceNavigationLinkOutput values. +// You can construct a concrete instance of `ResourceNavigationLinkInput` via: +// +// ResourceNavigationLinkArgs{...} +type ResourceNavigationLinkInput interface { + pulumi.Input + + ToResourceNavigationLinkOutput() ResourceNavigationLinkOutput + ToResourceNavigationLinkOutputWithContext(context.Context) ResourceNavigationLinkOutput +} + +// ResourceNavigationLink resource. +type ResourceNavigationLinkArgs struct { + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Link to the external resource + Link pulumi.StringPtrInput `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType pulumi.StringPtrInput `pulumi:"linkedResourceType"` + // 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"` +} + +func (ResourceNavigationLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceNavigationLink)(nil)).Elem() +} + +func (i ResourceNavigationLinkArgs) ToResourceNavigationLinkOutput() ResourceNavigationLinkOutput { + return i.ToResourceNavigationLinkOutputWithContext(context.Background()) +} + +func (i ResourceNavigationLinkArgs) ToResourceNavigationLinkOutputWithContext(ctx context.Context) ResourceNavigationLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceNavigationLinkOutput) +} + +// ResourceNavigationLinkArrayInput is an input type that accepts ResourceNavigationLinkArray and ResourceNavigationLinkArrayOutput values. +// You can construct a concrete instance of `ResourceNavigationLinkArrayInput` via: +// +// ResourceNavigationLinkArray{ ResourceNavigationLinkArgs{...} } +type ResourceNavigationLinkArrayInput interface { + pulumi.Input + + ToResourceNavigationLinkArrayOutput() ResourceNavigationLinkArrayOutput + ToResourceNavigationLinkArrayOutputWithContext(context.Context) ResourceNavigationLinkArrayOutput +} + +type ResourceNavigationLinkArray []ResourceNavigationLinkInput + +func (ResourceNavigationLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceNavigationLink)(nil)).Elem() +} + +func (i ResourceNavigationLinkArray) ToResourceNavigationLinkArrayOutput() ResourceNavigationLinkArrayOutput { + return i.ToResourceNavigationLinkArrayOutputWithContext(context.Background()) +} + +func (i ResourceNavigationLinkArray) ToResourceNavigationLinkArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ResourceNavigationLinkArrayOutput) +} + +// ResourceNavigationLink resource. +type ResourceNavigationLinkOutput struct{ *pulumi.OutputState } + +func (ResourceNavigationLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceNavigationLink)(nil)).Elem() +} + +func (o ResourceNavigationLinkOutput) ToResourceNavigationLinkOutput() ResourceNavigationLinkOutput { + return o +} + +func (o ResourceNavigationLinkOutput) ToResourceNavigationLinkOutputWithContext(ctx context.Context) ResourceNavigationLinkOutput { + return o +} + +// Resource ID. +func (o ResourceNavigationLinkOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLink) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Link to the external resource +func (o ResourceNavigationLinkOutput) Link() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLink) *string { return v.Link }).(pulumi.StringPtrOutput) +} + +// Resource type of the linked resource. +func (o ResourceNavigationLinkOutput) LinkedResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLink) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +} + +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ResourceNavigationLinkOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLink) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type ResourceNavigationLinkArrayOutput struct{ *pulumi.OutputState } + +func (ResourceNavigationLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceNavigationLink)(nil)).Elem() +} + +func (o ResourceNavigationLinkArrayOutput) ToResourceNavigationLinkArrayOutput() ResourceNavigationLinkArrayOutput { + return o +} + +func (o ResourceNavigationLinkArrayOutput) ToResourceNavigationLinkArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkArrayOutput { + return o +} + +func (o ResourceNavigationLinkArrayOutput) Index(i pulumi.IntInput) ResourceNavigationLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceNavigationLink { + return vs[0].([]ResourceNavigationLink)[vs[1].(int)] + }).(ResourceNavigationLinkOutput) +} + +// ResourceNavigationLink resource. +type ResourceNavigationLinkResponse struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id string `pulumi:"id"` + // Link to the external resource. + Link *string `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType *string `pulumi:"linkedResourceType"` + // 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 provisioning state of the resource navigation link resource. + ProvisioningState string `pulumi:"provisioningState"` + // Resource type. + Type string `pulumi:"type"` +} + +// ResourceNavigationLink resource. +type ResourceNavigationLinkResponseOutput struct{ *pulumi.OutputState } + +func (ResourceNavigationLinkResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceNavigationLinkResponse)(nil)).Elem() +} + +func (o ResourceNavigationLinkResponseOutput) ToResourceNavigationLinkResponseOutput() ResourceNavigationLinkResponseOutput { + return o +} + +func (o ResourceNavigationLinkResponseOutput) ToResourceNavigationLinkResponseOutputWithContext(ctx context.Context) ResourceNavigationLinkResponseOutput { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ResourceNavigationLinkResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ResourceNavigationLinkResponseOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.Id }).(pulumi.StringOutput) +} + +// Link to the external resource. +func (o ResourceNavigationLinkResponseOutput) Link() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) *string { return v.Link }).(pulumi.StringPtrOutput) +} + +// Resource type of the linked resource. +func (o ResourceNavigationLinkResponseOutput) LinkedResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +} + +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ResourceNavigationLinkResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource navigation link resource. +func (o ResourceNavigationLinkResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Resource type. +func (o ResourceNavigationLinkResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type ResourceNavigationLinkResponseArrayOutput struct{ *pulumi.OutputState } + +func (ResourceNavigationLinkResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceNavigationLinkResponse)(nil)).Elem() +} + +func (o ResourceNavigationLinkResponseArrayOutput) ToResourceNavigationLinkResponseArrayOutput() ResourceNavigationLinkResponseArrayOutput { + return o +} + +func (o ResourceNavigationLinkResponseArrayOutput) ToResourceNavigationLinkResponseArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkResponseArrayOutput { + return o +} + +func (o ResourceNavigationLinkResponseArrayOutput) Index(i pulumi.IntInput) ResourceNavigationLinkResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceNavigationLinkResponse { + return vs[0].([]ResourceNavigationLinkResponse)[vs[1].(int)] + }).(ResourceNavigationLinkResponseOutput) +} + +// ResourceNavigationLink resource. +type ResourceNavigationLinkResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Link to the external resource + Link *string `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType *string `pulumi:"linkedResourceType"` + // Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `pulumi:"name"` + // Provisioning state of the ResourceNavigationLink resource. + ProvisioningState string `pulumi:"provisioningState"` +} + +// ResourceNavigationLink resource. +type ResourceNavigationLinkResponseV1Output struct{ *pulumi.OutputState } + +func (ResourceNavigationLinkResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceNavigationLinkResponseV1)(nil)).Elem() +} + +func (o ResourceNavigationLinkResponseV1Output) ToResourceNavigationLinkResponseV1Output() ResourceNavigationLinkResponseV1Output { + return o +} + +func (o ResourceNavigationLinkResponseV1Output) ToResourceNavigationLinkResponseV1OutputWithContext(ctx context.Context) ResourceNavigationLinkResponseV1Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ResourceNavigationLinkResponseV1Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponseV1) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ResourceNavigationLinkResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Link to the external resource +func (o ResourceNavigationLinkResponseV1Output) Link() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponseV1) *string { return v.Link }).(pulumi.StringPtrOutput) +} + +// Resource type of the linked resource. +func (o ResourceNavigationLinkResponseV1Output) LinkedResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponseV1) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +} + +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ResourceNavigationLinkResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Provisioning state of the ResourceNavigationLink resource. +func (o ResourceNavigationLinkResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ResourceNavigationLinkResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +type ResourceNavigationLinkResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ResourceNavigationLinkResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ResourceNavigationLinkResponseV1)(nil)).Elem() +} + +func (o ResourceNavigationLinkResponseV1ArrayOutput) ToResourceNavigationLinkResponseV1ArrayOutput() ResourceNavigationLinkResponseV1ArrayOutput { + return o +} + +func (o ResourceNavigationLinkResponseV1ArrayOutput) ToResourceNavigationLinkResponseV1ArrayOutputWithContext(ctx context.Context) ResourceNavigationLinkResponseV1ArrayOutput { + return o +} + +func (o ResourceNavigationLinkResponseV1ArrayOutput) Index(i pulumi.IntInput) ResourceNavigationLinkResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ResourceNavigationLinkResponseV1 { + return vs[0].([]ResourceNavigationLinkResponseV1)[vs[1].(int)] + }).(ResourceNavigationLinkResponseV1Output) +} + +// Parameters that define the retention policy for flow log. +type RetentionPolicyParameters struct { + // Number of days to retain flow log records. + Days *int `pulumi:"days"` + // Flag to enable/disable retention. + Enabled *bool `pulumi:"enabled"` +} + +// Defaults sets the appropriate defaults for RetentionPolicyParameters +func (val *RetentionPolicyParameters) Defaults() *RetentionPolicyParameters { + if val == nil { + return nil + } + tmp := *val + if tmp.Days == nil { + days_ := 0 + tmp.Days = &days_ + } + if tmp.Enabled == nil { + enabled_ := false + tmp.Enabled = &enabled_ + } + return &tmp +} + +// RetentionPolicyParametersInput is an input type that accepts RetentionPolicyParametersArgs and RetentionPolicyParametersOutput values. +// You can construct a concrete instance of `RetentionPolicyParametersInput` via: +// +// RetentionPolicyParametersArgs{...} +type RetentionPolicyParametersInput interface { + pulumi.Input + + ToRetentionPolicyParametersOutput() RetentionPolicyParametersOutput + ToRetentionPolicyParametersOutputWithContext(context.Context) RetentionPolicyParametersOutput +} + +// Parameters that define the retention policy for flow log. +type RetentionPolicyParametersArgs struct { + // Number of days to retain flow log records. + Days pulumi.IntPtrInput `pulumi:"days"` + // Flag to enable/disable retention. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +// Defaults sets the appropriate defaults for RetentionPolicyParametersArgs +func (val *RetentionPolicyParametersArgs) Defaults() *RetentionPolicyParametersArgs { + if val == nil { + return nil + } + tmp := *val + if tmp.Days == nil { + tmp.Days = pulumi.IntPtr(0) + } + if tmp.Enabled == nil { + tmp.Enabled = pulumi.BoolPtr(false) + } + return &tmp +} +func (RetentionPolicyParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RetentionPolicyParameters)(nil)).Elem() +} + +func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersOutput() RetentionPolicyParametersOutput { + return i.ToRetentionPolicyParametersOutputWithContext(context.Background()) +} + +func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersOutputWithContext(ctx context.Context) RetentionPolicyParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(RetentionPolicyParametersOutput) +} + +func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { + return i.ToRetentionPolicyParametersPtrOutputWithContext(context.Background()) +} + +func (i RetentionPolicyParametersArgs) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RetentionPolicyParametersOutput).ToRetentionPolicyParametersPtrOutputWithContext(ctx) +} + +// RetentionPolicyParametersPtrInput is an input type that accepts RetentionPolicyParametersArgs, RetentionPolicyParametersPtr and RetentionPolicyParametersPtrOutput values. +// You can construct a concrete instance of `RetentionPolicyParametersPtrInput` via: +// +// RetentionPolicyParametersArgs{...} +// +// or: +// +// nil +type RetentionPolicyParametersPtrInput interface { + pulumi.Input + + ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput + ToRetentionPolicyParametersPtrOutputWithContext(context.Context) RetentionPolicyParametersPtrOutput +} + +type retentionPolicyParametersPtrType RetentionPolicyParametersArgs + +func RetentionPolicyParametersPtr(v *RetentionPolicyParametersArgs) RetentionPolicyParametersPtrInput { + return (*retentionPolicyParametersPtrType)(v) +} + +func (*retentionPolicyParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RetentionPolicyParameters)(nil)).Elem() +} + +func (i *retentionPolicyParametersPtrType) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { + return i.ToRetentionPolicyParametersPtrOutputWithContext(context.Background()) +} + +func (i *retentionPolicyParametersPtrType) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RetentionPolicyParametersPtrOutput) +} + +// Parameters that define the retention policy for flow log. +type RetentionPolicyParametersOutput struct{ *pulumi.OutputState } + +func (RetentionPolicyParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RetentionPolicyParameters)(nil)).Elem() +} + +func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersOutput() RetentionPolicyParametersOutput { + return o +} + +func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersOutputWithContext(ctx context.Context) RetentionPolicyParametersOutput { + return o +} + +func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { + return o.ToRetentionPolicyParametersPtrOutputWithContext(context.Background()) +} + +func (o RetentionPolicyParametersOutput) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RetentionPolicyParameters) *RetentionPolicyParameters { + return &v + }).(RetentionPolicyParametersPtrOutput) +} + +// Number of days to retain flow log records. +func (o RetentionPolicyParametersOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v RetentionPolicyParameters) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +// Flag to enable/disable retention. +func (o RetentionPolicyParametersOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RetentionPolicyParameters) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type RetentionPolicyParametersPtrOutput struct{ *pulumi.OutputState } + +func (RetentionPolicyParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RetentionPolicyParameters)(nil)).Elem() +} + +func (o RetentionPolicyParametersPtrOutput) ToRetentionPolicyParametersPtrOutput() RetentionPolicyParametersPtrOutput { + return o +} + +func (o RetentionPolicyParametersPtrOutput) ToRetentionPolicyParametersPtrOutputWithContext(ctx context.Context) RetentionPolicyParametersPtrOutput { + return o +} + +func (o RetentionPolicyParametersPtrOutput) Elem() RetentionPolicyParametersOutput { + return o.ApplyT(func(v *RetentionPolicyParameters) RetentionPolicyParameters { + if v != nil { + return *v + } + var ret RetentionPolicyParameters + return ret + }).(RetentionPolicyParametersOutput) +} + +// Number of days to retain flow log records. +func (o RetentionPolicyParametersPtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RetentionPolicyParameters) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +// Flag to enable/disable retention. +func (o RetentionPolicyParametersPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RetentionPolicyParameters) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Parameters that define the retention policy for flow log. +type RetentionPolicyParametersResponse struct { + // Number of days to retain flow log records. + Days *int `pulumi:"days"` + // Flag to enable/disable retention. + Enabled *bool `pulumi:"enabled"` +} + +// Defaults sets the appropriate defaults for RetentionPolicyParametersResponse +func (val *RetentionPolicyParametersResponse) Defaults() *RetentionPolicyParametersResponse { + if val == nil { + return nil + } + tmp := *val + if tmp.Days == nil { + days_ := 0 + tmp.Days = &days_ + } + if tmp.Enabled == nil { + enabled_ := false + tmp.Enabled = &enabled_ + } + return &tmp +} + +// Parameters that define the retention policy for flow log. +type RetentionPolicyParametersResponseOutput struct{ *pulumi.OutputState } + +func (RetentionPolicyParametersResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RetentionPolicyParametersResponse)(nil)).Elem() +} + +func (o RetentionPolicyParametersResponseOutput) ToRetentionPolicyParametersResponseOutput() RetentionPolicyParametersResponseOutput { + return o +} + +func (o RetentionPolicyParametersResponseOutput) ToRetentionPolicyParametersResponseOutputWithContext(ctx context.Context) RetentionPolicyParametersResponseOutput { + return o +} + +// Number of days to retain flow log records. +func (o RetentionPolicyParametersResponseOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v RetentionPolicyParametersResponse) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +// Flag to enable/disable retention. +func (o RetentionPolicyParametersResponseOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RetentionPolicyParametersResponse) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type RetentionPolicyParametersResponsePtrOutput struct{ *pulumi.OutputState } + +func (RetentionPolicyParametersResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RetentionPolicyParametersResponse)(nil)).Elem() +} + +func (o RetentionPolicyParametersResponsePtrOutput) ToRetentionPolicyParametersResponsePtrOutput() RetentionPolicyParametersResponsePtrOutput { + return o +} + +func (o RetentionPolicyParametersResponsePtrOutput) ToRetentionPolicyParametersResponsePtrOutputWithContext(ctx context.Context) RetentionPolicyParametersResponsePtrOutput { + return o +} + +func (o RetentionPolicyParametersResponsePtrOutput) Elem() RetentionPolicyParametersResponseOutput { + return o.ApplyT(func(v *RetentionPolicyParametersResponse) RetentionPolicyParametersResponse { + if v != nil { + return *v + } + var ret RetentionPolicyParametersResponse + return ret + }).(RetentionPolicyParametersResponseOutput) +} + +// Number of days to retain flow log records. +func (o RetentionPolicyParametersResponsePtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RetentionPolicyParametersResponse) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +// Flag to enable/disable retention. +func (o RetentionPolicyParametersResponsePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RetentionPolicyParametersResponse) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Route resource. +type RouteType struct { + // The destination CIDR to which the route applies. + AddressPrefix *string `pulumi:"addressPrefix"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + NextHopIpAddress *string `pulumi:"nextHopIpAddress"` + // The type of Azure hop the packet should be sent to. + NextHopType string `pulumi:"nextHopType"` + // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The type of the resource. + Type *string `pulumi:"type"` +} + +// RouteTypeInput is an input type that accepts RouteTypeArgs and RouteTypeOutput values. +// You can construct a concrete instance of `RouteTypeInput` via: +// +// RouteTypeArgs{...} +type RouteTypeInput interface { + pulumi.Input + + ToRouteTypeOutput() RouteTypeOutput + ToRouteTypeOutputWithContext(context.Context) RouteTypeOutput +} + +// Route resource. +type RouteTypeArgs struct { + // The destination CIDR to which the route applies. + AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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 IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + NextHopIpAddress pulumi.StringPtrInput `pulumi:"nextHopIpAddress"` + // The type of Azure hop the packet should be sent to. + NextHopType pulumi.StringInput `pulumi:"nextHopType"` + // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` + // The type of the resource. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (RouteTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteType)(nil)).Elem() +} + +func (i RouteTypeArgs) ToRouteTypeOutput() RouteTypeOutput { + return i.ToRouteTypeOutputWithContext(context.Background()) +} + +func (i RouteTypeArgs) ToRouteTypeOutputWithContext(ctx context.Context) RouteTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTypeOutput) +} + +// RouteTypeArrayInput is an input type that accepts RouteTypeArray and RouteTypeArrayOutput values. +// You can construct a concrete instance of `RouteTypeArrayInput` via: +// +// RouteTypeArray{ RouteTypeArgs{...} } +type RouteTypeArrayInput interface { + pulumi.Input + + ToRouteTypeArrayOutput() RouteTypeArrayOutput + ToRouteTypeArrayOutputWithContext(context.Context) RouteTypeArrayOutput +} + +type RouteTypeArray []RouteTypeInput + +func (RouteTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteType)(nil)).Elem() +} + +func (i RouteTypeArray) ToRouteTypeArrayOutput() RouteTypeArrayOutput { + return i.ToRouteTypeArrayOutputWithContext(context.Background()) +} + +func (i RouteTypeArray) ToRouteTypeArrayOutputWithContext(ctx context.Context) RouteTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTypeArrayOutput) +} + +// Route resource. +type RouteTypeOutput struct{ *pulumi.OutputState } + +func (RouteTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteType)(nil)).Elem() +} + +func (o RouteTypeOutput) ToRouteTypeOutput() RouteTypeOutput { + return o +} + +func (o RouteTypeOutput) ToRouteTypeOutputWithContext(ctx context.Context) RouteTypeOutput { + return o +} + +// The destination CIDR to which the route applies. +func (o RouteTypeOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RouteTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o RouteTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. +func (o RouteTypeOutput) NextHopIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +} + +// The type of Azure hop the packet should be sent to. +func (o RouteTypeOutput) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v RouteType) string { return v.NextHopType }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o RouteTypeOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The type of the resource. +func (o RouteTypeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteType) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type RouteTypeArrayOutput struct{ *pulumi.OutputState } + +func (RouteTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteType)(nil)).Elem() +} + +func (o RouteTypeArrayOutput) ToRouteTypeArrayOutput() RouteTypeArrayOutput { + return o +} + +func (o RouteTypeArrayOutput) ToRouteTypeArrayOutputWithContext(ctx context.Context) RouteTypeArrayOutput { + return o +} + +func (o RouteTypeArrayOutput) Index(i pulumi.IntInput) RouteTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteType { + return vs[0].([]RouteType)[vs[1].(int)] + }).(RouteTypeOutput) +} + +// Route Filter Rule Resource. +type RouteFilterRuleType struct { + // The access type of the rule. + Access string `pulumi:"access"` + // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. + Communities []string `pulumi:"communities"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // 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 rule type of the rule. + RouteFilterRuleType string `pulumi:"routeFilterRuleType"` +} + +// RouteFilterRuleTypeInput is an input type that accepts RouteFilterRuleTypeArgs and RouteFilterRuleTypeOutput values. +// You can construct a concrete instance of `RouteFilterRuleTypeInput` via: +// +// RouteFilterRuleTypeArgs{...} +type RouteFilterRuleTypeInput interface { + pulumi.Input + + ToRouteFilterRuleTypeOutput() RouteFilterRuleTypeOutput + ToRouteFilterRuleTypeOutputWithContext(context.Context) RouteFilterRuleTypeOutput +} + +// Route Filter Rule Resource. +type RouteFilterRuleTypeArgs struct { + // The access type of the rule. + Access pulumi.StringInput `pulumi:"access"` + // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. + Communities pulumi.StringArrayInput `pulumi:"communities"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Resource location. + Location pulumi.StringPtrInput `pulumi:"location"` + // 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 rule type of the rule. + RouteFilterRuleType pulumi.StringInput `pulumi:"routeFilterRuleType"` +} + +func (RouteFilterRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteFilterRuleType)(nil)).Elem() +} + +func (i RouteFilterRuleTypeArgs) ToRouteFilterRuleTypeOutput() RouteFilterRuleTypeOutput { + return i.ToRouteFilterRuleTypeOutputWithContext(context.Background()) +} + +func (i RouteFilterRuleTypeArgs) ToRouteFilterRuleTypeOutputWithContext(ctx context.Context) RouteFilterRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteFilterRuleTypeOutput) +} + +// RouteFilterRuleTypeArrayInput is an input type that accepts RouteFilterRuleTypeArray and RouteFilterRuleTypeArrayOutput values. +// You can construct a concrete instance of `RouteFilterRuleTypeArrayInput` via: +// +// RouteFilterRuleTypeArray{ RouteFilterRuleTypeArgs{...} } +type RouteFilterRuleTypeArrayInput interface { + pulumi.Input + + ToRouteFilterRuleTypeArrayOutput() RouteFilterRuleTypeArrayOutput + ToRouteFilterRuleTypeArrayOutputWithContext(context.Context) RouteFilterRuleTypeArrayOutput +} + +type RouteFilterRuleTypeArray []RouteFilterRuleTypeInput + +func (RouteFilterRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteFilterRuleType)(nil)).Elem() +} + +func (i RouteFilterRuleTypeArray) ToRouteFilterRuleTypeArrayOutput() RouteFilterRuleTypeArrayOutput { + return i.ToRouteFilterRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i RouteFilterRuleTypeArray) ToRouteFilterRuleTypeArrayOutputWithContext(ctx context.Context) RouteFilterRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteFilterRuleTypeArrayOutput) +} + +// Route Filter Rule Resource. +type RouteFilterRuleTypeOutput struct{ *pulumi.OutputState } + +func (RouteFilterRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteFilterRuleType)(nil)).Elem() +} + +func (o RouteFilterRuleTypeOutput) ToRouteFilterRuleTypeOutput() RouteFilterRuleTypeOutput { + return o +} + +func (o RouteFilterRuleTypeOutput) ToRouteFilterRuleTypeOutputWithContext(ctx context.Context) RouteFilterRuleTypeOutput { + return o +} + +// The access type of the rule. +func (o RouteFilterRuleTypeOutput) Access() pulumi.StringOutput { + return o.ApplyT(func(v RouteFilterRuleType) string { return v.Access }).(pulumi.StringOutput) +} + +// The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. +func (o RouteFilterRuleTypeOutput) Communities() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteFilterRuleType) []string { return v.Communities }).(pulumi.StringArrayOutput) +} + +// Resource ID. +func (o RouteFilterRuleTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteFilterRuleType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteFilterRuleTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteFilterRuleType) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o RouteFilterRuleTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteFilterRuleType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The rule type of the rule. +func (o RouteFilterRuleTypeOutput) RouteFilterRuleType() pulumi.StringOutput { + return o.ApplyT(func(v RouteFilterRuleType) string { return v.RouteFilterRuleType }).(pulumi.StringOutput) +} + +type RouteFilterRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (RouteFilterRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteFilterRuleType)(nil)).Elem() +} + +func (o RouteFilterRuleTypeArrayOutput) ToRouteFilterRuleTypeArrayOutput() RouteFilterRuleTypeArrayOutput { + return o +} + +func (o RouteFilterRuleTypeArrayOutput) ToRouteFilterRuleTypeArrayOutputWithContext(ctx context.Context) RouteFilterRuleTypeArrayOutput { + return o +} + +func (o RouteFilterRuleTypeArrayOutput) Index(i pulumi.IntInput) RouteFilterRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteFilterRuleType { + return vs[0].([]RouteFilterRuleType)[vs[1].(int)] + }).(RouteFilterRuleTypeOutput) +} + +// Route Filter Rule Resource. +type RouteFilterRuleResponse struct { + // The access type of the rule. + Access string `pulumi:"access"` + // The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. + Communities []string `pulumi:"communities"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // 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 provisioning state of the route filter rule resource. + ProvisioningState string `pulumi:"provisioningState"` + // The rule type of the rule. + RouteFilterRuleType string `pulumi:"routeFilterRuleType"` +} + +// Route Filter Rule Resource. +type RouteFilterRuleResponseOutput struct{ *pulumi.OutputState } + +func (RouteFilterRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteFilterRuleResponse)(nil)).Elem() +} + +func (o RouteFilterRuleResponseOutput) ToRouteFilterRuleResponseOutput() RouteFilterRuleResponseOutput { + return o +} + +func (o RouteFilterRuleResponseOutput) ToRouteFilterRuleResponseOutputWithContext(ctx context.Context) RouteFilterRuleResponseOutput { + return o +} + +// The access type of the rule. +func (o RouteFilterRuleResponseOutput) Access() pulumi.StringOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.Access }).(pulumi.StringOutput) +} + +// The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. +func (o RouteFilterRuleResponseOutput) Communities() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) []string { return v.Communities }).(pulumi.StringArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RouteFilterRuleResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o RouteFilterRuleResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteFilterRuleResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o RouteFilterRuleResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the route filter rule resource. +func (o RouteFilterRuleResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The rule type of the rule. +func (o RouteFilterRuleResponseOutput) RouteFilterRuleType() pulumi.StringOutput { + return o.ApplyT(func(v RouteFilterRuleResponse) string { return v.RouteFilterRuleType }).(pulumi.StringOutput) +} + +type RouteFilterRuleResponseArrayOutput struct{ *pulumi.OutputState } + +func (RouteFilterRuleResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteFilterRuleResponse)(nil)).Elem() +} + +func (o RouteFilterRuleResponseArrayOutput) ToRouteFilterRuleResponseArrayOutput() RouteFilterRuleResponseArrayOutput { + return o +} + +func (o RouteFilterRuleResponseArrayOutput) ToRouteFilterRuleResponseArrayOutputWithContext(ctx context.Context) RouteFilterRuleResponseArrayOutput { + return o +} + +func (o RouteFilterRuleResponseArrayOutput) Index(i pulumi.IntInput) RouteFilterRuleResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteFilterRuleResponse { + return vs[0].([]RouteFilterRuleResponse)[vs[1].(int)] + }).(RouteFilterRuleResponseOutput) +} + +// A RouteMap Rule. +type RouteMapRule struct { + // List of actions which will be applied on a match. + Actions []Action `pulumi:"actions"` + // List of matching criterion which will be applied to traffic. + MatchCriteria []Criterion `pulumi:"matchCriteria"` + // The unique name for the rule. + Name *string `pulumi:"name"` + // Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. + NextStepIfMatched *string `pulumi:"nextStepIfMatched"` +} + +// RouteMapRuleInput is an input type that accepts RouteMapRuleArgs and RouteMapRuleOutput values. +// You can construct a concrete instance of `RouteMapRuleInput` via: +// +// RouteMapRuleArgs{...} +type RouteMapRuleInput interface { + pulumi.Input + + ToRouteMapRuleOutput() RouteMapRuleOutput + ToRouteMapRuleOutputWithContext(context.Context) RouteMapRuleOutput +} + +// A RouteMap Rule. +type RouteMapRuleArgs struct { + // List of actions which will be applied on a match. + Actions ActionArrayInput `pulumi:"actions"` + // List of matching criterion which will be applied to traffic. + MatchCriteria CriterionArrayInput `pulumi:"matchCriteria"` + // The unique name for the rule. + Name pulumi.StringPtrInput `pulumi:"name"` + // Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. + NextStepIfMatched pulumi.StringPtrInput `pulumi:"nextStepIfMatched"` +} + +func (RouteMapRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteMapRule)(nil)).Elem() +} + +func (i RouteMapRuleArgs) ToRouteMapRuleOutput() RouteMapRuleOutput { + return i.ToRouteMapRuleOutputWithContext(context.Background()) +} + +func (i RouteMapRuleArgs) ToRouteMapRuleOutputWithContext(ctx context.Context) RouteMapRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteMapRuleOutput) +} + +// RouteMapRuleArrayInput is an input type that accepts RouteMapRuleArray and RouteMapRuleArrayOutput values. +// You can construct a concrete instance of `RouteMapRuleArrayInput` via: +// +// RouteMapRuleArray{ RouteMapRuleArgs{...} } +type RouteMapRuleArrayInput interface { + pulumi.Input + + ToRouteMapRuleArrayOutput() RouteMapRuleArrayOutput + ToRouteMapRuleArrayOutputWithContext(context.Context) RouteMapRuleArrayOutput +} + +type RouteMapRuleArray []RouteMapRuleInput + +func (RouteMapRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteMapRule)(nil)).Elem() +} + +func (i RouteMapRuleArray) ToRouteMapRuleArrayOutput() RouteMapRuleArrayOutput { + return i.ToRouteMapRuleArrayOutputWithContext(context.Background()) +} + +func (i RouteMapRuleArray) ToRouteMapRuleArrayOutputWithContext(ctx context.Context) RouteMapRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteMapRuleArrayOutput) +} + +// A RouteMap Rule. +type RouteMapRuleOutput struct{ *pulumi.OutputState } + +func (RouteMapRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteMapRule)(nil)).Elem() +} + +func (o RouteMapRuleOutput) ToRouteMapRuleOutput() RouteMapRuleOutput { + return o +} + +func (o RouteMapRuleOutput) ToRouteMapRuleOutputWithContext(ctx context.Context) RouteMapRuleOutput { + return o +} + +// List of actions which will be applied on a match. +func (o RouteMapRuleOutput) Actions() ActionArrayOutput { + return o.ApplyT(func(v RouteMapRule) []Action { return v.Actions }).(ActionArrayOutput) +} + +// List of matching criterion which will be applied to traffic. +func (o RouteMapRuleOutput) MatchCriteria() CriterionArrayOutput { + return o.ApplyT(func(v RouteMapRule) []Criterion { return v.MatchCriteria }).(CriterionArrayOutput) +} + +// The unique name for the rule. +func (o RouteMapRuleOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteMapRule) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. +func (o RouteMapRuleOutput) NextStepIfMatched() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteMapRule) *string { return v.NextStepIfMatched }).(pulumi.StringPtrOutput) +} + +type RouteMapRuleArrayOutput struct{ *pulumi.OutputState } + +func (RouteMapRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteMapRule)(nil)).Elem() +} + +func (o RouteMapRuleArrayOutput) ToRouteMapRuleArrayOutput() RouteMapRuleArrayOutput { + return o +} + +func (o RouteMapRuleArrayOutput) ToRouteMapRuleArrayOutputWithContext(ctx context.Context) RouteMapRuleArrayOutput { + return o +} + +func (o RouteMapRuleArrayOutput) Index(i pulumi.IntInput) RouteMapRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteMapRule { + return vs[0].([]RouteMapRule)[vs[1].(int)] + }).(RouteMapRuleOutput) +} + +// A RouteMap Rule. +type RouteMapRuleResponse struct { + // List of actions which will be applied on a match. + Actions []ActionResponse `pulumi:"actions"` + // List of matching criterion which will be applied to traffic. + MatchCriteria []CriterionResponse `pulumi:"matchCriteria"` + // The unique name for the rule. + Name *string `pulumi:"name"` + // Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. + NextStepIfMatched *string `pulumi:"nextStepIfMatched"` +} + +// A RouteMap Rule. +type RouteMapRuleResponseOutput struct{ *pulumi.OutputState } + +func (RouteMapRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteMapRuleResponse)(nil)).Elem() +} + +func (o RouteMapRuleResponseOutput) ToRouteMapRuleResponseOutput() RouteMapRuleResponseOutput { + return o +} + +func (o RouteMapRuleResponseOutput) ToRouteMapRuleResponseOutputWithContext(ctx context.Context) RouteMapRuleResponseOutput { + return o +} + +// List of actions which will be applied on a match. +func (o RouteMapRuleResponseOutput) Actions() ActionResponseArrayOutput { + return o.ApplyT(func(v RouteMapRuleResponse) []ActionResponse { return v.Actions }).(ActionResponseArrayOutput) +} + +// List of matching criterion which will be applied to traffic. +func (o RouteMapRuleResponseOutput) MatchCriteria() CriterionResponseArrayOutput { + return o.ApplyT(func(v RouteMapRuleResponse) []CriterionResponse { return v.MatchCriteria }).(CriterionResponseArrayOutput) +} + +// The unique name for the rule. +func (o RouteMapRuleResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteMapRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. +func (o RouteMapRuleResponseOutput) NextStepIfMatched() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteMapRuleResponse) *string { return v.NextStepIfMatched }).(pulumi.StringPtrOutput) +} + +type RouteMapRuleResponseArrayOutput struct{ *pulumi.OutputState } + +func (RouteMapRuleResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteMapRuleResponse)(nil)).Elem() +} + +func (o RouteMapRuleResponseArrayOutput) ToRouteMapRuleResponseArrayOutput() RouteMapRuleResponseArrayOutput { + return o +} + +func (o RouteMapRuleResponseArrayOutput) ToRouteMapRuleResponseArrayOutputWithContext(ctx context.Context) RouteMapRuleResponseArrayOutput { + return o +} + +func (o RouteMapRuleResponseArrayOutput) Index(i pulumi.IntInput) RouteMapRuleResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteMapRuleResponse { + return vs[0].([]RouteMapRuleResponse)[vs[1].(int)] + }).(RouteMapRuleResponseOutput) +} + +// Route resource. +type RouteResponse struct { + // The destination CIDR to which the route applies. + AddressPrefix *string `pulumi:"addressPrefix"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // A value indicating whether this route overrides overlapping BGP routes regardless of LPM. + HasBgpOverride bool `pulumi:"hasBgpOverride"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + NextHopIpAddress *string `pulumi:"nextHopIpAddress"` + // The type of Azure hop the packet should be sent to. + NextHopType string `pulumi:"nextHopType"` + // The provisioning state of the route resource. + ProvisioningState string `pulumi:"provisioningState"` + // The type of the resource. + Type *string `pulumi:"type"` +} + +// Route resource. +type RouteResponseOutput struct{ *pulumi.OutputState } + +func (RouteResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteResponse)(nil)).Elem() +} + +func (o RouteResponseOutput) ToRouteResponseOutput() RouteResponseOutput { + return o +} + +func (o RouteResponseOutput) ToRouteResponseOutputWithContext(ctx context.Context) RouteResponseOutput { + return o +} + +// The destination CIDR to which the route applies. +func (o RouteResponseOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponse) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RouteResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v RouteResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// A value indicating whether this route overrides overlapping BGP routes regardless of LPM. +func (o RouteResponseOutput) HasBgpOverride() pulumi.BoolOutput { + return o.ApplyT(func(v RouteResponse) bool { return v.HasBgpOverride }).(pulumi.BoolOutput) +} + +// Resource ID. +func (o RouteResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o RouteResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. +func (o RouteResponseOutput) NextHopIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponse) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +} + +// The type of Azure hop the packet should be sent to. +func (o RouteResponseOutput) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v RouteResponse) string { return v.NextHopType }).(pulumi.StringOutput) +} + +// The provisioning state of the route resource. +func (o RouteResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v RouteResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The type of the resource. +func (o RouteResponseOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type RouteResponseArrayOutput struct{ *pulumi.OutputState } + +func (RouteResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteResponse)(nil)).Elem() +} + +func (o RouteResponseArrayOutput) ToRouteResponseArrayOutput() RouteResponseArrayOutput { + return o +} + +func (o RouteResponseArrayOutput) ToRouteResponseArrayOutputWithContext(ctx context.Context) RouteResponseArrayOutput { + return o +} + +func (o RouteResponseArrayOutput) Index(i pulumi.IntInput) RouteResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteResponse { + return vs[0].([]RouteResponse)[vs[1].(int)] + }).(RouteResponseOutput) +} + +// Route resource +type RouteResponseV1 struct { + // The destination CIDR to which the route applies. + AddressPrefix *string `pulumi:"addressPrefix"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + NextHopIpAddress *string `pulumi:"nextHopIpAddress"` + // The type of Azure hop the packet should be sent to. + NextHopType string `pulumi:"nextHopType"` + // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` +} + +// Route resource +type RouteResponseV1Output struct{ *pulumi.OutputState } + +func (RouteResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*RouteResponseV1)(nil)).Elem() +} + +func (o RouteResponseV1Output) ToRouteResponseV1Output() RouteResponseV1Output { + return o +} + +func (o RouteResponseV1Output) ToRouteResponseV1OutputWithContext(ctx context.Context) RouteResponseV1Output { + return o +} + +// The destination CIDR to which the route applies. +func (o RouteResponseV1Output) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponseV1) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RouteResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o RouteResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. +func (o RouteResponseV1Output) NextHopIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponseV1) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +} + +// The type of Azure hop the packet should be sent to. +func (o RouteResponseV1Output) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v RouteResponseV1) string { return v.NextHopType }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o RouteResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +type RouteResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (RouteResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteResponseV1)(nil)).Elem() +} + +func (o RouteResponseV1ArrayOutput) ToRouteResponseV1ArrayOutput() RouteResponseV1ArrayOutput { + return o +} + +func (o RouteResponseV1ArrayOutput) ToRouteResponseV1ArrayOutputWithContext(ctx context.Context) RouteResponseV1ArrayOutput { + return o +} + +func (o RouteResponseV1ArrayOutput) Index(i pulumi.IntInput) RouteResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteResponseV1 { + return vs[0].([]RouteResponseV1)[vs[1].(int)] + }).(RouteResponseV1Output) +} + +type RouteSourceDetailsResponse struct { + // Express Route Circuit identifier + Circuit *string `pulumi:"circuit"` + // Flag to indicate if the route learned from the primary device is active or passive + Pri *string `pulumi:"pri"` + // Flag to indicate if the route learned from the secondary device is active or passive + Sec *string `pulumi:"sec"` +} + +type RouteSourceDetailsResponseOutput struct{ *pulumi.OutputState } + +func (RouteSourceDetailsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSourceDetailsResponse)(nil)).Elem() +} + +func (o RouteSourceDetailsResponseOutput) ToRouteSourceDetailsResponseOutput() RouteSourceDetailsResponseOutput { + return o +} + +func (o RouteSourceDetailsResponseOutput) ToRouteSourceDetailsResponseOutputWithContext(ctx context.Context) RouteSourceDetailsResponseOutput { + return o +} + +// Express Route Circuit identifier +func (o RouteSourceDetailsResponseOutput) Circuit() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSourceDetailsResponse) *string { return v.Circuit }).(pulumi.StringPtrOutput) +} + +// Flag to indicate if the route learned from the primary device is active or passive +func (o RouteSourceDetailsResponseOutput) Pri() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSourceDetailsResponse) *string { return v.Pri }).(pulumi.StringPtrOutput) +} + +// Flag to indicate if the route learned from the secondary device is active or passive +func (o RouteSourceDetailsResponseOutput) Sec() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSourceDetailsResponse) *string { return v.Sec }).(pulumi.StringPtrOutput) +} + +type RouteSourceDetailsResponseArrayOutput struct{ *pulumi.OutputState } + +func (RouteSourceDetailsResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSourceDetailsResponse)(nil)).Elem() +} + +func (o RouteSourceDetailsResponseArrayOutput) ToRouteSourceDetailsResponseArrayOutput() RouteSourceDetailsResponseArrayOutput { + return o +} + +func (o RouteSourceDetailsResponseArrayOutput) ToRouteSourceDetailsResponseArrayOutputWithContext(ctx context.Context) RouteSourceDetailsResponseArrayOutput { + return o +} + +func (o RouteSourceDetailsResponseArrayOutput) Index(i pulumi.IntInput) RouteSourceDetailsResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSourceDetailsResponse { + return vs[0].([]RouteSourceDetailsResponse)[vs[1].(int)] + }).(RouteSourceDetailsResponseOutput) +} + +// Route table resource. +type RouteTableType struct { + // Whether to disable the routes learned by BGP on that route table. True means disable. + DisableBgpRoutePropagation *bool `pulumi:"disableBgpRoutePropagation"` + // Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // Collection of routes contained within a route table. + Routes []RouteType `pulumi:"routes"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` +} + +// RouteTableTypeInput is an input type that accepts RouteTableTypeArgs and RouteTableTypeOutput values. +// You can construct a concrete instance of `RouteTableTypeInput` via: +// +// RouteTableTypeArgs{...} +type RouteTableTypeInput interface { + pulumi.Input + + ToRouteTableTypeOutput() RouteTableTypeOutput + ToRouteTableTypeOutputWithContext(context.Context) RouteTableTypeOutput +} + +// Route table resource. +type RouteTableTypeArgs struct { + // Whether to disable the routes learned by BGP on that route table. True means disable. + DisableBgpRoutePropagation pulumi.BoolPtrInput `pulumi:"disableBgpRoutePropagation"` + // Gets a unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Resource location. + Location pulumi.StringPtrInput `pulumi:"location"` + // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` + // Collection of routes contained within a route table. + Routes RouteTypeArrayInput `pulumi:"routes"` + // Resource tags. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (RouteTableTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableType)(nil)).Elem() +} + +func (i RouteTableTypeArgs) ToRouteTableTypeOutput() RouteTableTypeOutput { + return i.ToRouteTableTypeOutputWithContext(context.Background()) +} + +func (i RouteTableTypeArgs) ToRouteTableTypeOutputWithContext(ctx context.Context) RouteTableTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableTypeOutput) +} + +func (i RouteTableTypeArgs) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { + return i.ToRouteTableTypePtrOutputWithContext(context.Background()) +} + +func (i RouteTableTypeArgs) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableTypeOutput).ToRouteTableTypePtrOutputWithContext(ctx) +} + +// RouteTableTypePtrInput is an input type that accepts RouteTableTypeArgs, RouteTableTypePtr and RouteTableTypePtrOutput values. +// You can construct a concrete instance of `RouteTableTypePtrInput` via: +// +// RouteTableTypeArgs{...} +// +// or: +// +// nil +type RouteTableTypePtrInput interface { + pulumi.Input + + ToRouteTableTypePtrOutput() RouteTableTypePtrOutput + ToRouteTableTypePtrOutputWithContext(context.Context) RouteTableTypePtrOutput +} + +type routeTableTypePtrType RouteTableTypeArgs + +func RouteTableTypePtr(v *RouteTableTypeArgs) RouteTableTypePtrInput { + return (*routeTableTypePtrType)(v) +} + +func (*routeTableTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableType)(nil)).Elem() +} + +func (i *routeTableTypePtrType) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { + return i.ToRouteTableTypePtrOutputWithContext(context.Background()) +} + +func (i *routeTableTypePtrType) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableTypePtrOutput) +} + +// Route table resource. +type RouteTableTypeOutput struct{ *pulumi.OutputState } + +func (RouteTableTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableType)(nil)).Elem() +} + +func (o RouteTableTypeOutput) ToRouteTableTypeOutput() RouteTableTypeOutput { + return o +} + +func (o RouteTableTypeOutput) ToRouteTableTypeOutputWithContext(ctx context.Context) RouteTableTypeOutput { + return o +} + +func (o RouteTableTypeOutput) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { + return o.ToRouteTableTypePtrOutputWithContext(context.Background()) +} + +func (o RouteTableTypeOutput) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteTableType) *RouteTableType { + return &v + }).(RouteTableTypePtrOutput) +} + +// Whether to disable the routes learned by BGP on that route table. True means disable. +func (o RouteTableTypeOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RouteTableType) *bool { return v.DisableBgpRoutePropagation }).(pulumi.BoolPtrOutput) +} + +// Gets a unique read-only string that changes whenever the resource is updated. +func (o RouteTableTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableType) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteTableTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteTableTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableType) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o RouteTableTypeOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// Collection of routes contained within a route table. +func (o RouteTableTypeOutput) Routes() RouteTypeArrayOutput { + return o.ApplyT(func(v RouteTableType) []RouteType { return v.Routes }).(RouteTypeArrayOutput) +} + +// Resource tags. +func (o RouteTableTypeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v RouteTableType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +type RouteTableTypePtrOutput struct{ *pulumi.OutputState } + +func (RouteTableTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableType)(nil)).Elem() +} + +func (o RouteTableTypePtrOutput) ToRouteTableTypePtrOutput() RouteTableTypePtrOutput { + return o +} + +func (o RouteTableTypePtrOutput) ToRouteTableTypePtrOutputWithContext(ctx context.Context) RouteTableTypePtrOutput { + return o +} + +func (o RouteTableTypePtrOutput) Elem() RouteTableTypeOutput { + return o.ApplyT(func(v *RouteTableType) RouteTableType { + if v != nil { + return *v + } + var ret RouteTableType + return ret + }).(RouteTableTypeOutput) +} + +// Whether to disable the routes learned by BGP on that route table. True means disable. +func (o RouteTableTypePtrOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RouteTableType) *bool { + if v == nil { + return nil + } + return v.DisableBgpRoutePropagation + }).(pulumi.BoolPtrOutput) +} + +// Gets a unique read-only string that changes whenever the resource is updated. +func (o RouteTableTypePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableType) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteTableTypePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableType) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteTableTypePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableType) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o RouteTableTypePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableType) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// Collection of routes contained within a route table. +func (o RouteTableTypePtrOutput) Routes() RouteTypeArrayOutput { + return o.ApplyT(func(v *RouteTableType) []RouteType { + if v == nil { + return nil + } + return v.Routes + }).(RouteTypeArrayOutput) +} + +// Resource tags. +func (o RouteTableTypePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *RouteTableType) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Route table resource. +type RouteTableResponse struct { + // Whether to disable the routes learned by BGP on that route table. True means disable. + DisableBgpRoutePropagation *bool `pulumi:"disableBgpRoutePropagation"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the route table resource. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the route table. + ResourceGuid string `pulumi:"resourceGuid"` + // Collection of routes contained within a route table. + Routes []RouteResponse `pulumi:"routes"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` +} + +// Route table resource. +type RouteTableResponseOutput struct{ *pulumi.OutputState } + +func (RouteTableResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableResponse)(nil)).Elem() +} + +func (o RouteTableResponseOutput) ToRouteTableResponseOutput() RouteTableResponseOutput { + return o +} + +func (o RouteTableResponseOutput) ToRouteTableResponseOutputWithContext(ctx context.Context) RouteTableResponseOutput { + return o +} + +// Whether to disable the routes learned by BGP on that route table. True means disable. +func (o RouteTableResponseOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RouteTableResponse) *bool { return v.DisableBgpRoutePropagation }).(pulumi.BoolPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RouteTableResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o RouteTableResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteTableResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o RouteTableResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the route table resource. +func (o RouteTableResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The resource GUID property of the route table. +func (o RouteTableResponseOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Collection of routes contained within a route table. +func (o RouteTableResponseOutput) Routes() RouteResponseArrayOutput { + return o.ApplyT(func(v RouteTableResponse) []RouteResponse { return v.Routes }).(RouteResponseArrayOutput) +} + +// A collection of references to subnets. +func (o RouteTableResponseOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v RouteTableResponse) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o RouteTableResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v RouteTableResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o RouteTableResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type RouteTableResponsePtrOutput struct{ *pulumi.OutputState } + +func (RouteTableResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableResponse)(nil)).Elem() +} + +func (o RouteTableResponsePtrOutput) ToRouteTableResponsePtrOutput() RouteTableResponsePtrOutput { + return o +} + +func (o RouteTableResponsePtrOutput) ToRouteTableResponsePtrOutputWithContext(ctx context.Context) RouteTableResponsePtrOutput { + return o +} + +func (o RouteTableResponsePtrOutput) Elem() RouteTableResponseOutput { + return o.ApplyT(func(v *RouteTableResponse) RouteTableResponse { + if v != nil { + return *v + } + var ret RouteTableResponse + return ret + }).(RouteTableResponseOutput) +} + +// Whether to disable the routes learned by BGP on that route table. True means disable. +func (o RouteTableResponsePtrOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *bool { + if v == nil { + return nil + } + return v.DisableBgpRoutePropagation + }).(pulumi.BoolPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o RouteTableResponsePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteTableResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteTableResponsePtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o RouteTableResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the route table resource. +func (o RouteTableResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// The resource GUID property of the route table. +func (o RouteTableResponsePtrOutput) ResourceGuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return &v.ResourceGuid + }).(pulumi.StringPtrOutput) +} + +// Collection of routes contained within a route table. +func (o RouteTableResponsePtrOutput) Routes() RouteResponseArrayOutput { + return o.ApplyT(func(v *RouteTableResponse) []RouteResponse { + if v == nil { + return nil + } + return v.Routes + }).(RouteResponseArrayOutput) +} + +// A collection of references to subnets. +func (o RouteTableResponsePtrOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v *RouteTableResponse) []SubnetResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o RouteTableResponsePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *RouteTableResponse) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o RouteTableResponsePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponse) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// Route table resource. +type RouteTableResponseV1 struct { + // Gets or sets whether to disable the routes learned by BGP on that route table. True means disable. + DisableBgpRoutePropagation *bool `pulumi:"disableBgpRoutePropagation"` + // Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // Collection of routes contained within a route table. + Routes []RouteResponseV1 `pulumi:"routes"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` +} + +// Route table resource. +type RouteTableResponseV1Output struct{ *pulumi.OutputState } + +func (RouteTableResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableResponseV1)(nil)).Elem() +} + +func (o RouteTableResponseV1Output) ToRouteTableResponseV1Output() RouteTableResponseV1Output { + return o +} + +func (o RouteTableResponseV1Output) ToRouteTableResponseV1OutputWithContext(ctx context.Context) RouteTableResponseV1Output { + return o +} + +// Gets or sets whether to disable the routes learned by BGP on that route table. True means disable. +func (o RouteTableResponseV1Output) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RouteTableResponseV1) *bool { return v.DisableBgpRoutePropagation }).(pulumi.BoolPtrOutput) +} + +// Gets a unique read-only string that changes whenever the resource is updated. +func (o RouteTableResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteTableResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteTableResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o RouteTableResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponseV1) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o RouteTableResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// Collection of routes contained within a route table. +func (o RouteTableResponseV1Output) Routes() RouteResponseV1ArrayOutput { + return o.ApplyT(func(v RouteTableResponseV1) []RouteResponseV1 { return v.Routes }).(RouteResponseV1ArrayOutput) +} + +// A collection of references to subnets. +func (o RouteTableResponseV1Output) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v RouteTableResponseV1) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o RouteTableResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v RouteTableResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o RouteTableResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableResponseV1) string { return v.Type }).(pulumi.StringOutput) +} + +type RouteTableResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (RouteTableResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableResponseV1)(nil)).Elem() +} + +func (o RouteTableResponseV1PtrOutput) ToRouteTableResponseV1PtrOutput() RouteTableResponseV1PtrOutput { + return o +} + +func (o RouteTableResponseV1PtrOutput) ToRouteTableResponseV1PtrOutputWithContext(ctx context.Context) RouteTableResponseV1PtrOutput { + return o +} + +func (o RouteTableResponseV1PtrOutput) Elem() RouteTableResponseV1Output { + return o.ApplyT(func(v *RouteTableResponseV1) RouteTableResponseV1 { + if v != nil { + return *v + } + var ret RouteTableResponseV1 + return ret + }).(RouteTableResponseV1Output) +} + +// Gets or sets whether to disable the routes learned by BGP on that route table. True means disable. +func (o RouteTableResponseV1PtrOutput) DisableBgpRoutePropagation() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *bool { + if v == nil { + return nil + } + return v.DisableBgpRoutePropagation + }).(pulumi.BoolPtrOutput) +} + +// Gets a unique read-only string that changes whenever the resource is updated. +func (o RouteTableResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o RouteTableResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o RouteTableResponseV1PtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o RouteTableResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o RouteTableResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// Collection of routes contained within a route table. +func (o RouteTableResponseV1PtrOutput) Routes() RouteResponseV1ArrayOutput { + return o.ApplyT(func(v *RouteTableResponseV1) []RouteResponseV1 { + if v == nil { + return nil + } + return v.Routes + }).(RouteResponseV1ArrayOutput) +} + +// A collection of references to subnets. +func (o RouteTableResponseV1PtrOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v *RouteTableResponseV1) []SubnetResponse { + if v == nil { + return nil + } + return v.Subnets + }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o RouteTableResponseV1PtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *RouteTableResponseV1) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o RouteTableResponseV1PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTableResponseV1) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// Properties of route target address +type RouteTargetAddressPropertiesFormat struct { + // The private IPv4 or IPv6 address of the service gateway route target address. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The Private IP allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The reference to the subnet resource. + Subnet *SubnetType `pulumi:"subnet"` +} + +// Defaults sets the appropriate defaults for RouteTargetAddressPropertiesFormat +func (val *RouteTargetAddressPropertiesFormat) Defaults() *RouteTargetAddressPropertiesFormat { + if val == nil { + return nil + } + tmp := *val + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// RouteTargetAddressPropertiesFormatInput is an input type that accepts RouteTargetAddressPropertiesFormatArgs and RouteTargetAddressPropertiesFormatOutput values. +// You can construct a concrete instance of `RouteTargetAddressPropertiesFormatInput` via: +// +// RouteTargetAddressPropertiesFormatArgs{...} +type RouteTargetAddressPropertiesFormatInput interface { + pulumi.Input + + ToRouteTargetAddressPropertiesFormatOutput() RouteTargetAddressPropertiesFormatOutput + ToRouteTargetAddressPropertiesFormatOutputWithContext(context.Context) RouteTargetAddressPropertiesFormatOutput +} + +// Properties of route target address +type RouteTargetAddressPropertiesFormatArgs struct { + // The private IPv4 or IPv6 address of the service gateway route target address. + PrivateIPAddress pulumi.StringPtrInput `pulumi:"privateIPAddress"` + // The Private IP allocation method. + PrivateIPAllocationMethod pulumi.StringPtrInput `pulumi:"privateIPAllocationMethod"` + // The reference to the subnet resource. + Subnet SubnetTypePtrInput `pulumi:"subnet"` +} + +// Defaults sets the appropriate defaults for RouteTargetAddressPropertiesFormatArgs +func (val *RouteTargetAddressPropertiesFormatArgs) Defaults() *RouteTargetAddressPropertiesFormatArgs { + if val == nil { + return nil + } + tmp := *val + + return &tmp +} +func (RouteTargetAddressPropertiesFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTargetAddressPropertiesFormat)(nil)).Elem() +} + +func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatOutput() RouteTargetAddressPropertiesFormatOutput { + return i.ToRouteTargetAddressPropertiesFormatOutputWithContext(context.Background()) +} + +func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTargetAddressPropertiesFormatOutput) +} + +func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { + return i.ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Background()) +} + +func (i RouteTargetAddressPropertiesFormatArgs) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTargetAddressPropertiesFormatOutput).ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx) +} + +// RouteTargetAddressPropertiesFormatPtrInput is an input type that accepts RouteTargetAddressPropertiesFormatArgs, RouteTargetAddressPropertiesFormatPtr and RouteTargetAddressPropertiesFormatPtrOutput values. +// You can construct a concrete instance of `RouteTargetAddressPropertiesFormatPtrInput` via: +// +// RouteTargetAddressPropertiesFormatArgs{...} +// +// or: +// +// nil +type RouteTargetAddressPropertiesFormatPtrInput interface { + pulumi.Input + + ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput + ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Context) RouteTargetAddressPropertiesFormatPtrOutput +} + +type routeTargetAddressPropertiesFormatPtrType RouteTargetAddressPropertiesFormatArgs + +func RouteTargetAddressPropertiesFormatPtr(v *RouteTargetAddressPropertiesFormatArgs) RouteTargetAddressPropertiesFormatPtrInput { + return (*routeTargetAddressPropertiesFormatPtrType)(v) +} + +func (*routeTargetAddressPropertiesFormatPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTargetAddressPropertiesFormat)(nil)).Elem() +} + +func (i *routeTargetAddressPropertiesFormatPtrType) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { + return i.ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Background()) +} + +func (i *routeTargetAddressPropertiesFormatPtrType) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTargetAddressPropertiesFormatPtrOutput) +} + +// Properties of route target address +type RouteTargetAddressPropertiesFormatOutput struct{ *pulumi.OutputState } + +func (RouteTargetAddressPropertiesFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTargetAddressPropertiesFormat)(nil)).Elem() +} + +func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatOutput() RouteTargetAddressPropertiesFormatOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { + return o.ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(context.Background()) +} + +func (o RouteTargetAddressPropertiesFormatOutput) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteTargetAddressPropertiesFormat) *RouteTargetAddressPropertiesFormat { + return &v + }).(RouteTargetAddressPropertiesFormatPtrOutput) +} + +// The private IPv4 or IPv6 address of the service gateway route target address. +func (o RouteTargetAddressPropertiesFormatOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTargetAddressPropertiesFormat) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The Private IP allocation method. +func (o RouteTargetAddressPropertiesFormatOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTargetAddressPropertiesFormat) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// The reference to the subnet resource. +func (o RouteTargetAddressPropertiesFormatOutput) Subnet() SubnetTypePtrOutput { + return o.ApplyT(func(v RouteTargetAddressPropertiesFormat) *SubnetType { return v.Subnet }).(SubnetTypePtrOutput) +} + +type RouteTargetAddressPropertiesFormatPtrOutput struct{ *pulumi.OutputState } + +func (RouteTargetAddressPropertiesFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTargetAddressPropertiesFormat)(nil)).Elem() +} + +func (o RouteTargetAddressPropertiesFormatPtrOutput) ToRouteTargetAddressPropertiesFormatPtrOutput() RouteTargetAddressPropertiesFormatPtrOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatPtrOutput) ToRouteTargetAddressPropertiesFormatPtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatPtrOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatPtrOutput) Elem() RouteTargetAddressPropertiesFormatOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) RouteTargetAddressPropertiesFormat { + if v != nil { + return *v + } + var ret RouteTargetAddressPropertiesFormat + return ret + }).(RouteTargetAddressPropertiesFormatOutput) +} + +// The private IPv4 or IPv6 address of the service gateway route target address. +func (o RouteTargetAddressPropertiesFormatPtrOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) *string { + if v == nil { + return nil + } + return v.PrivateIPAddress + }).(pulumi.StringPtrOutput) +} + +// The Private IP allocation method. +func (o RouteTargetAddressPropertiesFormatPtrOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) *string { + if v == nil { + return nil + } + return v.PrivateIPAllocationMethod + }).(pulumi.StringPtrOutput) +} + +// The reference to the subnet resource. +func (o RouteTargetAddressPropertiesFormatPtrOutput) Subnet() SubnetTypePtrOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormat) *SubnetType { + if v == nil { + return nil + } + return v.Subnet + }).(SubnetTypePtrOutput) +} + +// Properties of route target address +type RouteTargetAddressPropertiesFormatResponse struct { + // The private IPv4 or IPv6 address of the service gateway route target address. + PrivateIPAddress *string `pulumi:"privateIPAddress"` + // The Private IP allocation method. + PrivateIPAllocationMethod *string `pulumi:"privateIPAllocationMethod"` + // The reference to the subnet resource. + Subnet *SubnetResponseV2 `pulumi:"subnet"` +} + +// Defaults sets the appropriate defaults for RouteTargetAddressPropertiesFormatResponse +func (val *RouteTargetAddressPropertiesFormatResponse) Defaults() *RouteTargetAddressPropertiesFormatResponse { + if val == nil { + return nil + } + tmp := *val + tmp.Subnet = tmp.Subnet.Defaults() + + return &tmp +} + +// Properties of route target address +type RouteTargetAddressPropertiesFormatResponseOutput struct{ *pulumi.OutputState } + +func (RouteTargetAddressPropertiesFormatResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTargetAddressPropertiesFormatResponse)(nil)).Elem() +} + +func (o RouteTargetAddressPropertiesFormatResponseOutput) ToRouteTargetAddressPropertiesFormatResponseOutput() RouteTargetAddressPropertiesFormatResponseOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatResponseOutput) ToRouteTargetAddressPropertiesFormatResponseOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatResponseOutput { + return o +} + +// The private IPv4 or IPv6 address of the service gateway route target address. +func (o RouteTargetAddressPropertiesFormatResponseOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTargetAddressPropertiesFormatResponse) *string { return v.PrivateIPAddress }).(pulumi.StringPtrOutput) +} + +// The Private IP allocation method. +func (o RouteTargetAddressPropertiesFormatResponseOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTargetAddressPropertiesFormatResponse) *string { return v.PrivateIPAllocationMethod }).(pulumi.StringPtrOutput) +} + +// The reference to the subnet resource. +func (o RouteTargetAddressPropertiesFormatResponseOutput) Subnet() SubnetResponseV2PtrOutput { + return o.ApplyT(func(v RouteTargetAddressPropertiesFormatResponse) *SubnetResponseV2 { return v.Subnet }).(SubnetResponseV2PtrOutput) +} + +type RouteTargetAddressPropertiesFormatResponsePtrOutput struct{ *pulumi.OutputState } + +func (RouteTargetAddressPropertiesFormatResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTargetAddressPropertiesFormatResponse)(nil)).Elem() +} + +func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) ToRouteTargetAddressPropertiesFormatResponsePtrOutput() RouteTargetAddressPropertiesFormatResponsePtrOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) ToRouteTargetAddressPropertiesFormatResponsePtrOutputWithContext(ctx context.Context) RouteTargetAddressPropertiesFormatResponsePtrOutput { + return o +} + +func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) Elem() RouteTargetAddressPropertiesFormatResponseOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) RouteTargetAddressPropertiesFormatResponse { + if v != nil { + return *v + } + var ret RouteTargetAddressPropertiesFormatResponse + return ret + }).(RouteTargetAddressPropertiesFormatResponseOutput) +} + +// The private IPv4 or IPv6 address of the service gateway route target address. +func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) PrivateIPAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) *string { + if v == nil { + return nil + } + return v.PrivateIPAddress + }).(pulumi.StringPtrOutput) +} + +// The Private IP allocation method. +func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) PrivateIPAllocationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) *string { + if v == nil { + return nil + } + return v.PrivateIPAllocationMethod + }).(pulumi.StringPtrOutput) +} + +// The reference to the subnet resource. +func (o RouteTargetAddressPropertiesFormatResponsePtrOutput) Subnet() SubnetResponseV2PtrOutput { + return o.ApplyT(func(v *RouteTargetAddressPropertiesFormatResponse) *SubnetResponseV2 { + if v == nil { + return nil + } + return v.Subnet + }).(SubnetResponseV2PtrOutput) +} + +// Routing Configuration indicating the associated and propagated route tables for this connection. +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. + InboundRouteMap *SubResource `pulumi:"inboundRouteMap"` + // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. + OutboundRouteMap *SubResource `pulumi:"outboundRouteMap"` + // The list of RouteTables to advertise the routes to. + PropagatedRouteTables *PropagatedRouteTable `pulumi:"propagatedRouteTables"` + // List of routes that control routing from VirtualHub into a virtual network connection. + VnetRoutes *VnetRoute `pulumi:"vnetRoutes"` +} + +// RoutingConfigurationTypeInput is an input type that accepts RoutingConfigurationTypeArgs and RoutingConfigurationTypeOutput values. +// You can construct a concrete instance of `RoutingConfigurationTypeInput` via: +// +// RoutingConfigurationTypeArgs{...} +type RoutingConfigurationTypeInput interface { + pulumi.Input + + ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput + ToRoutingConfigurationTypeOutputWithContext(context.Context) RoutingConfigurationTypeOutput +} + +// Routing Configuration indicating the associated and propagated route tables for this connection. +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. + InboundRouteMap SubResourcePtrInput `pulumi:"inboundRouteMap"` + // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. + OutboundRouteMap SubResourcePtrInput `pulumi:"outboundRouteMap"` + // The list of RouteTables to advertise the routes to. + PropagatedRouteTables PropagatedRouteTablePtrInput `pulumi:"propagatedRouteTables"` + // List of routes that control routing from VirtualHub into a virtual network connection. + VnetRoutes VnetRoutePtrInput `pulumi:"vnetRoutes"` +} + +func (RoutingConfigurationTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingConfigurationType)(nil)).Elem() +} + +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput { + return i.ToRoutingConfigurationTypeOutputWithContext(context.Background()) +} + +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypeOutputWithContext(ctx context.Context) RoutingConfigurationTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypeOutput) +} + +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return i.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) +} + +func (i RoutingConfigurationTypeArgs) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingConfigurationTypeOutput).ToRoutingConfigurationTypePtrOutputWithContext(ctx) +} + +// RoutingConfigurationTypePtrInput is an input type that accepts RoutingConfigurationTypeArgs, RoutingConfigurationTypePtr and RoutingConfigurationTypePtrOutput values. +// You can construct a concrete instance of `RoutingConfigurationTypePtrInput` via: +// +// RoutingConfigurationTypeArgs{...} +// +// or: +// +// nil +type RoutingConfigurationTypePtrInput interface { + pulumi.Input + + ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput + ToRoutingConfigurationTypePtrOutputWithContext(context.Context) RoutingConfigurationTypePtrOutput +} + +type routingConfigurationTypePtrType RoutingConfigurationTypeArgs + +func RoutingConfigurationTypePtr(v *RoutingConfigurationTypeArgs) RoutingConfigurationTypePtrInput { + return (*routingConfigurationTypePtrType)(v) +} + +func (*routingConfigurationTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfigurationType)(nil)).Elem() +} + +func (i *routingConfigurationTypePtrType) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return i.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) +} + +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 RoutingConfigurationTypeOutput struct{ *pulumi.OutputState } + +func (RoutingConfigurationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingConfigurationType)(nil)).Elem() +} + +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypeOutput() RoutingConfigurationTypeOutput { + return o +} + +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypeOutputWithContext(ctx context.Context) RoutingConfigurationTypeOutput { + return o +} + +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return o.ToRoutingConfigurationTypePtrOutputWithContext(context.Background()) +} + +func (o RoutingConfigurationTypeOutput) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingConfigurationType) *RoutingConfigurationType { + return &v + }).(RoutingConfigurationTypePtrOutput) +} + +// The resource id RouteTable associated with this RoutingConfiguration. +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 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 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 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 RoutingConfigurationTypeOutput) VnetRoutes() VnetRoutePtrOutput { + return o.ApplyT(func(v RoutingConfigurationType) *VnetRoute { return v.VnetRoutes }).(VnetRoutePtrOutput) +} + +type RoutingConfigurationTypePtrOutput struct{ *pulumi.OutputState } + +func (RoutingConfigurationTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfigurationType)(nil)).Elem() +} + +func (o RoutingConfigurationTypePtrOutput) ToRoutingConfigurationTypePtrOutput() RoutingConfigurationTypePtrOutput { + return o +} + +func (o RoutingConfigurationTypePtrOutput) ToRoutingConfigurationTypePtrOutputWithContext(ctx context.Context) RoutingConfigurationTypePtrOutput { + return o +} + +func (o RoutingConfigurationTypePtrOutput) Elem() RoutingConfigurationTypeOutput { + return o.ApplyT(func(v *RoutingConfigurationType) RoutingConfigurationType { + if v != nil { + return *v + } + var ret RoutingConfigurationType + return ret + }).(RoutingConfigurationTypeOutput) +} + +// The resource id RouteTable associated with this RoutingConfiguration. +func (o RoutingConfigurationTypePtrOutput) AssociatedRouteTable() SubResourcePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { + if v == nil { + return nil + } + return v.AssociatedRouteTable + }).(SubResourcePtrOutput) +} + +// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. +func (o RoutingConfigurationTypePtrOutput) InboundRouteMap() SubResourcePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { + if v == nil { + return nil + } + return v.InboundRouteMap + }).(SubResourcePtrOutput) +} + +// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. +func (o RoutingConfigurationTypePtrOutput) OutboundRouteMap() SubResourcePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *SubResource { + if v == nil { + return nil + } + return v.OutboundRouteMap + }).(SubResourcePtrOutput) +} + +// The list of RouteTables to advertise the routes to. +func (o RoutingConfigurationTypePtrOutput) PropagatedRouteTables() PropagatedRouteTablePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *PropagatedRouteTable { + if v == nil { + return nil + } + return v.PropagatedRouteTables + }).(PropagatedRouteTablePtrOutput) +} + +// List of routes that control routing from VirtualHub into a virtual network connection. +func (o RoutingConfigurationTypePtrOutput) VnetRoutes() VnetRoutePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationType) *VnetRoute { + if v == nil { + return nil + } + return v.VnetRoutes + }).(VnetRoutePtrOutput) +} + +// Routing Configuration indicating the associated and propagated route tables for this connection. +type RoutingConfigurationResponse struct { + // The resource id RouteTable associated with this RoutingConfiguration. + AssociatedRouteTable *SubResourceResponse `pulumi:"associatedRouteTable"` + // The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. + InboundRouteMap *SubResourceResponse `pulumi:"inboundRouteMap"` + // The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. + OutboundRouteMap *SubResourceResponse `pulumi:"outboundRouteMap"` + // The list of RouteTables to advertise the routes to. + PropagatedRouteTables *PropagatedRouteTableResponse `pulumi:"propagatedRouteTables"` + // List of routes that control routing from VirtualHub into a virtual network connection. + VnetRoutes *VnetRouteResponse `pulumi:"vnetRoutes"` +} + +// Routing Configuration indicating the associated and propagated route tables for this connection. +type RoutingConfigurationResponseOutput struct{ *pulumi.OutputState } + +func (RoutingConfigurationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingConfigurationResponse)(nil)).Elem() +} + +func (o RoutingConfigurationResponseOutput) ToRoutingConfigurationResponseOutput() RoutingConfigurationResponseOutput { + return o +} + +func (o RoutingConfigurationResponseOutput) ToRoutingConfigurationResponseOutputWithContext(ctx context.Context) RoutingConfigurationResponseOutput { + return o +} + +// The resource id RouteTable associated with this RoutingConfiguration. +func (o RoutingConfigurationResponseOutput) AssociatedRouteTable() SubResourceResponsePtrOutput { + return o.ApplyT(func(v RoutingConfigurationResponse) *SubResourceResponse { return v.AssociatedRouteTable }).(SubResourceResponsePtrOutput) +} + +// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. +func (o RoutingConfigurationResponseOutput) InboundRouteMap() SubResourceResponsePtrOutput { + return o.ApplyT(func(v RoutingConfigurationResponse) *SubResourceResponse { return v.InboundRouteMap }).(SubResourceResponsePtrOutput) +} + +// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. +func (o RoutingConfigurationResponseOutput) OutboundRouteMap() SubResourceResponsePtrOutput { + return o.ApplyT(func(v RoutingConfigurationResponse) *SubResourceResponse { return v.OutboundRouteMap }).(SubResourceResponsePtrOutput) +} + +// The list of RouteTables to advertise the routes to. +func (o RoutingConfigurationResponseOutput) PropagatedRouteTables() PropagatedRouteTableResponsePtrOutput { + return o.ApplyT(func(v RoutingConfigurationResponse) *PropagatedRouteTableResponse { return v.PropagatedRouteTables }).(PropagatedRouteTableResponsePtrOutput) +} + +// List of routes that control routing from VirtualHub into a virtual network connection. +func (o RoutingConfigurationResponseOutput) VnetRoutes() VnetRouteResponsePtrOutput { + return o.ApplyT(func(v RoutingConfigurationResponse) *VnetRouteResponse { return v.VnetRoutes }).(VnetRouteResponsePtrOutput) +} + +type RoutingConfigurationResponsePtrOutput struct{ *pulumi.OutputState } + +func (RoutingConfigurationResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingConfigurationResponse)(nil)).Elem() +} + +func (o RoutingConfigurationResponsePtrOutput) ToRoutingConfigurationResponsePtrOutput() RoutingConfigurationResponsePtrOutput { + return o +} + +func (o RoutingConfigurationResponsePtrOutput) ToRoutingConfigurationResponsePtrOutputWithContext(ctx context.Context) RoutingConfigurationResponsePtrOutput { + return o +} + +func (o RoutingConfigurationResponsePtrOutput) Elem() RoutingConfigurationResponseOutput { + return o.ApplyT(func(v *RoutingConfigurationResponse) RoutingConfigurationResponse { + if v != nil { + return *v + } + var ret RoutingConfigurationResponse + return ret + }).(RoutingConfigurationResponseOutput) +} + +// The resource id RouteTable associated with this RoutingConfiguration. +func (o RoutingConfigurationResponsePtrOutput) AssociatedRouteTable() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationResponse) *SubResourceResponse { + if v == nil { + return nil + } + return v.AssociatedRouteTable + }).(SubResourceResponsePtrOutput) +} + +// The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. +func (o RoutingConfigurationResponsePtrOutput) InboundRouteMap() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationResponse) *SubResourceResponse { + if v == nil { + return nil + } + return v.InboundRouteMap + }).(SubResourceResponsePtrOutput) +} + +// The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. +func (o RoutingConfigurationResponsePtrOutput) OutboundRouteMap() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationResponse) *SubResourceResponse { + if v == nil { + return nil + } + return v.OutboundRouteMap + }).(SubResourceResponsePtrOutput) +} + +// The list of RouteTables to advertise the routes to. +func (o RoutingConfigurationResponsePtrOutput) PropagatedRouteTables() PropagatedRouteTableResponsePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationResponse) *PropagatedRouteTableResponse { + if v == nil { + return nil + } + return v.PropagatedRouteTables + }).(PropagatedRouteTableResponsePtrOutput) +} + +// List of routes that control routing from VirtualHub into a virtual network connection. +func (o RoutingConfigurationResponsePtrOutput) VnetRoutes() VnetRouteResponsePtrOutput { + return o.ApplyT(func(v *RoutingConfigurationResponse) *VnetRouteResponse { + if v == nil { + return nil + } + return v.VnetRoutes + }).(VnetRouteResponsePtrOutput) +} + +// The routing policy object used in a RoutingIntent resource. +type RoutingPolicy struct { + // List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). + Destinations []string `pulumi:"destinations"` + // The unique name for the routing policy. + Name string `pulumi:"name"` + // The next hop resource id on which this routing policy is applicable to. + NextHop string `pulumi:"nextHop"` +} + +// RoutingPolicyInput is an input type that accepts RoutingPolicyArgs and RoutingPolicyOutput values. +// You can construct a concrete instance of `RoutingPolicyInput` via: +// +// RoutingPolicyArgs{...} +type RoutingPolicyInput interface { + pulumi.Input + + ToRoutingPolicyOutput() RoutingPolicyOutput + ToRoutingPolicyOutputWithContext(context.Context) RoutingPolicyOutput +} + +// The routing policy object used in a RoutingIntent resource. +type RoutingPolicyArgs struct { + // List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). + Destinations pulumi.StringArrayInput `pulumi:"destinations"` + // The unique name for the routing policy. + Name pulumi.StringInput `pulumi:"name"` + // The next hop resource id on which this routing policy is applicable to. + NextHop pulumi.StringInput `pulumi:"nextHop"` +} + +func (RoutingPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingPolicy)(nil)).Elem() +} + +func (i RoutingPolicyArgs) ToRoutingPolicyOutput() RoutingPolicyOutput { + return i.ToRoutingPolicyOutputWithContext(context.Background()) +} + +func (i RoutingPolicyArgs) ToRoutingPolicyOutputWithContext(ctx context.Context) RoutingPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingPolicyOutput) +} + +// RoutingPolicyArrayInput is an input type that accepts RoutingPolicyArray and RoutingPolicyArrayOutput values. +// You can construct a concrete instance of `RoutingPolicyArrayInput` via: +// +// RoutingPolicyArray{ RoutingPolicyArgs{...} } +type RoutingPolicyArrayInput interface { + pulumi.Input + + ToRoutingPolicyArrayOutput() RoutingPolicyArrayOutput + ToRoutingPolicyArrayOutputWithContext(context.Context) RoutingPolicyArrayOutput +} + +type RoutingPolicyArray []RoutingPolicyInput + +func (RoutingPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RoutingPolicy)(nil)).Elem() +} + +func (i RoutingPolicyArray) ToRoutingPolicyArrayOutput() RoutingPolicyArrayOutput { + return i.ToRoutingPolicyArrayOutputWithContext(context.Background()) +} + +func (i RoutingPolicyArray) ToRoutingPolicyArrayOutputWithContext(ctx context.Context) RoutingPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingPolicyArrayOutput) +} + +// The routing policy object used in a RoutingIntent resource. +type RoutingPolicyOutput struct{ *pulumi.OutputState } + +func (RoutingPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingPolicy)(nil)).Elem() +} + +func (o RoutingPolicyOutput) ToRoutingPolicyOutput() RoutingPolicyOutput { + return o +} + +func (o RoutingPolicyOutput) ToRoutingPolicyOutputWithContext(ctx context.Context) RoutingPolicyOutput { + return o +} + +// List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). +func (o RoutingPolicyOutput) Destinations() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoutingPolicy) []string { return v.Destinations }).(pulumi.StringArrayOutput) +} + +// The unique name for the routing policy. +func (o RoutingPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RoutingPolicy) string { return v.Name }).(pulumi.StringOutput) +} + +// The next hop resource id on which this routing policy is applicable to. +func (o RoutingPolicyOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v RoutingPolicy) string { return v.NextHop }).(pulumi.StringOutput) +} + +type RoutingPolicyArrayOutput struct{ *pulumi.OutputState } + +func (RoutingPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RoutingPolicy)(nil)).Elem() +} + +func (o RoutingPolicyArrayOutput) ToRoutingPolicyArrayOutput() RoutingPolicyArrayOutput { + return o +} + +func (o RoutingPolicyArrayOutput) ToRoutingPolicyArrayOutputWithContext(ctx context.Context) RoutingPolicyArrayOutput { + return o +} + +func (o RoutingPolicyArrayOutput) Index(i pulumi.IntInput) RoutingPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RoutingPolicy { + return vs[0].([]RoutingPolicy)[vs[1].(int)] + }).(RoutingPolicyOutput) +} + +// The routing policy object used in a RoutingIntent resource. +type RoutingPolicyResponse struct { + // List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). + Destinations []string `pulumi:"destinations"` + // The unique name for the routing policy. + Name string `pulumi:"name"` + // The next hop resource id on which this routing policy is applicable to. + NextHop string `pulumi:"nextHop"` +} + +// The routing policy object used in a RoutingIntent resource. +type RoutingPolicyResponseOutput struct{ *pulumi.OutputState } + +func (RoutingPolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingPolicyResponse)(nil)).Elem() +} + +func (o RoutingPolicyResponseOutput) ToRoutingPolicyResponseOutput() RoutingPolicyResponseOutput { + return o +} + +func (o RoutingPolicyResponseOutput) ToRoutingPolicyResponseOutputWithContext(ctx context.Context) RoutingPolicyResponseOutput { + return o +} + +// List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). +func (o RoutingPolicyResponseOutput) Destinations() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoutingPolicyResponse) []string { return v.Destinations }).(pulumi.StringArrayOutput) +} + +// The unique name for the routing policy. +func (o RoutingPolicyResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RoutingPolicyResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The next hop resource id on which this routing policy is applicable to. +func (o RoutingPolicyResponseOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v RoutingPolicyResponse) string { return v.NextHop }).(pulumi.StringOutput) +} + +type RoutingPolicyResponseArrayOutput struct{ *pulumi.OutputState } + +func (RoutingPolicyResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RoutingPolicyResponse)(nil)).Elem() +} + +func (o RoutingPolicyResponseArrayOutput) ToRoutingPolicyResponseArrayOutput() RoutingPolicyResponseArrayOutput { + return o +} + +func (o RoutingPolicyResponseArrayOutput) ToRoutingPolicyResponseArrayOutputWithContext(ctx context.Context) RoutingPolicyResponseArrayOutput { + return o +} + +func (o RoutingPolicyResponseArrayOutput) Index(i pulumi.IntInput) RoutingPolicyResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RoutingPolicyResponse { + return vs[0].([]RoutingPolicyResponse)[vs[1].(int)] + }).(RoutingPolicyResponseOutput) +} + +// Next hop. +type RoutingRuleNextHop struct { + // Next hop address. Only required if the next hop type is VirtualAppliance. + NextHopAddress *string `pulumi:"nextHopAddress"` + // Next hop type. + NextHopType string `pulumi:"nextHopType"` +} + +// RoutingRuleNextHopInput is an input type that accepts RoutingRuleNextHopArgs and RoutingRuleNextHopOutput values. +// You can construct a concrete instance of `RoutingRuleNextHopInput` via: +// +// RoutingRuleNextHopArgs{...} +type RoutingRuleNextHopInput interface { + pulumi.Input + + ToRoutingRuleNextHopOutput() RoutingRuleNextHopOutput + ToRoutingRuleNextHopOutputWithContext(context.Context) RoutingRuleNextHopOutput +} + +// Next hop. +type RoutingRuleNextHopArgs struct { + // Next hop address. Only required if the next hop type is VirtualAppliance. + NextHopAddress pulumi.StringPtrInput `pulumi:"nextHopAddress"` + // Next hop type. + NextHopType pulumi.StringInput `pulumi:"nextHopType"` +} + +func (RoutingRuleNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingRuleNextHop)(nil)).Elem() +} + +func (i RoutingRuleNextHopArgs) ToRoutingRuleNextHopOutput() RoutingRuleNextHopOutput { + return i.ToRoutingRuleNextHopOutputWithContext(context.Background()) +} + +func (i RoutingRuleNextHopArgs) ToRoutingRuleNextHopOutputWithContext(ctx context.Context) RoutingRuleNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingRuleNextHopOutput) +} + +// Next hop. +type RoutingRuleNextHopOutput struct{ *pulumi.OutputState } + +func (RoutingRuleNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingRuleNextHop)(nil)).Elem() +} + +func (o RoutingRuleNextHopOutput) ToRoutingRuleNextHopOutput() RoutingRuleNextHopOutput { + return o +} + +func (o RoutingRuleNextHopOutput) ToRoutingRuleNextHopOutputWithContext(ctx context.Context) RoutingRuleNextHopOutput { + return o +} + +// Next hop address. Only required if the next hop type is VirtualAppliance. +func (o RoutingRuleNextHopOutput) NextHopAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RoutingRuleNextHop) *string { return v.NextHopAddress }).(pulumi.StringPtrOutput) +} + +// Next hop type. +func (o RoutingRuleNextHopOutput) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v RoutingRuleNextHop) string { return v.NextHopType }).(pulumi.StringOutput) +} + +// Next hop. +type RoutingRuleNextHopResponse struct { + // Next hop address. Only required if the next hop type is VirtualAppliance. + NextHopAddress *string `pulumi:"nextHopAddress"` + // Next hop type. + NextHopType string `pulumi:"nextHopType"` +} + +// Next hop. +type RoutingRuleNextHopResponseOutput struct{ *pulumi.OutputState } + +func (RoutingRuleNextHopResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingRuleNextHopResponse)(nil)).Elem() +} + +func (o RoutingRuleNextHopResponseOutput) ToRoutingRuleNextHopResponseOutput() RoutingRuleNextHopResponseOutput { + return o +} + +func (o RoutingRuleNextHopResponseOutput) ToRoutingRuleNextHopResponseOutputWithContext(ctx context.Context) RoutingRuleNextHopResponseOutput { + return o +} + +// Next hop address. Only required if the next hop type is VirtualAppliance. +func (o RoutingRuleNextHopResponseOutput) NextHopAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v RoutingRuleNextHopResponse) *string { return v.NextHopAddress }).(pulumi.StringPtrOutput) +} + +// Next hop type. +func (o RoutingRuleNextHopResponseOutput) NextHopType() pulumi.StringOutput { + return o.ApplyT(func(v RoutingRuleNextHopResponse) string { return v.NextHopType }).(pulumi.StringOutput) +} + +// Route destination. +type RoutingRuleRouteDestination struct { + // Destination address. + DestinationAddress string `pulumi:"destinationAddress"` + // Destination type. + Type string `pulumi:"type"` +} + +// RoutingRuleRouteDestinationInput is an input type that accepts RoutingRuleRouteDestinationArgs and RoutingRuleRouteDestinationOutput values. +// You can construct a concrete instance of `RoutingRuleRouteDestinationInput` via: +// +// RoutingRuleRouteDestinationArgs{...} +type RoutingRuleRouteDestinationInput interface { + pulumi.Input + + ToRoutingRuleRouteDestinationOutput() RoutingRuleRouteDestinationOutput + ToRoutingRuleRouteDestinationOutputWithContext(context.Context) RoutingRuleRouteDestinationOutput +} + +// Route destination. +type RoutingRuleRouteDestinationArgs struct { + // Destination address. + DestinationAddress pulumi.StringInput `pulumi:"destinationAddress"` + // Destination type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (RoutingRuleRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingRuleRouteDestination)(nil)).Elem() +} + +func (i RoutingRuleRouteDestinationArgs) ToRoutingRuleRouteDestinationOutput() RoutingRuleRouteDestinationOutput { + return i.ToRoutingRuleRouteDestinationOutputWithContext(context.Background()) +} + +func (i RoutingRuleRouteDestinationArgs) ToRoutingRuleRouteDestinationOutputWithContext(ctx context.Context) RoutingRuleRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingRuleRouteDestinationOutput) +} + +// Route destination. +type RoutingRuleRouteDestinationOutput struct{ *pulumi.OutputState } + +func (RoutingRuleRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingRuleRouteDestination)(nil)).Elem() +} + +func (o RoutingRuleRouteDestinationOutput) ToRoutingRuleRouteDestinationOutput() RoutingRuleRouteDestinationOutput { + return o +} + +func (o RoutingRuleRouteDestinationOutput) ToRoutingRuleRouteDestinationOutputWithContext(ctx context.Context) RoutingRuleRouteDestinationOutput { + return o +} + +// Destination address. +func (o RoutingRuleRouteDestinationOutput) DestinationAddress() pulumi.StringOutput { + return o.ApplyT(func(v RoutingRuleRouteDestination) string { return v.DestinationAddress }).(pulumi.StringOutput) +} + +// Destination type. +func (o RoutingRuleRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v RoutingRuleRouteDestination) string { return v.Type }).(pulumi.StringOutput) +} + +// Route destination. +type RoutingRuleRouteDestinationResponse struct { + // Destination address. + DestinationAddress string `pulumi:"destinationAddress"` + // Destination type. + Type string `pulumi:"type"` +} + +// Route destination. +type RoutingRuleRouteDestinationResponseOutput struct{ *pulumi.OutputState } + +func (RoutingRuleRouteDestinationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingRuleRouteDestinationResponse)(nil)).Elem() +} + +func (o RoutingRuleRouteDestinationResponseOutput) ToRoutingRuleRouteDestinationResponseOutput() RoutingRuleRouteDestinationResponseOutput { + return o +} + +func (o RoutingRuleRouteDestinationResponseOutput) ToRoutingRuleRouteDestinationResponseOutputWithContext(ctx context.Context) RoutingRuleRouteDestinationResponseOutput { + return o +} + +// Destination address. +func (o RoutingRuleRouteDestinationResponseOutput) DestinationAddress() pulumi.StringOutput { + return o.ApplyT(func(v RoutingRuleRouteDestinationResponse) string { return v.DestinationAddress }).(pulumi.StringOutput) +} + +// Destination type. +func (o RoutingRuleRouteDestinationResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v RoutingRuleRouteDestinationResponse) string { return v.Type }).(pulumi.StringOutput) +} + +// Network security rule. +type SecurityRuleType struct { + // The network traffic is allowed or denied. + Access string `pulumi:"access"` + // A description for this rule. Restricted to 140 chars. + Description *string `pulumi:"description"` + // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + DestinationAddressPrefix *string `pulumi:"destinationAddressPrefix"` + // The destination address prefixes. CIDR or destination IP ranges. + DestinationAddressPrefixes []string `pulumi:"destinationAddressPrefixes"` + // The application security group specified as destination. + DestinationApplicationSecurityGroups []ApplicationSecurityGroupType `pulumi:"destinationApplicationSecurityGroups"` + // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + DestinationPortRange *string `pulumi:"destinationPortRange"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. + Direction string `pulumi:"direction"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority *int `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + SourceAddressPrefix *string `pulumi:"sourceAddressPrefix"` + // The CIDR or source IP ranges. + SourceAddressPrefixes []string `pulumi:"sourceAddressPrefixes"` + // The application security group specified as source. + SourceApplicationSecurityGroups []ApplicationSecurityGroupType `pulumi:"sourceApplicationSecurityGroups"` + // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + SourcePortRange *string `pulumi:"sourcePortRange"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The type of the resource. + Type *string `pulumi:"type"` +} + +// SecurityRuleTypeInput is an input type that accepts SecurityRuleTypeArgs and SecurityRuleTypeOutput values. +// You can construct a concrete instance of `SecurityRuleTypeInput` via: +// +// SecurityRuleTypeArgs{...} +type SecurityRuleTypeInput interface { + pulumi.Input + + ToSecurityRuleTypeOutput() SecurityRuleTypeOutput + ToSecurityRuleTypeOutputWithContext(context.Context) SecurityRuleTypeOutput +} + +// Network security rule. +type SecurityRuleTypeArgs struct { + // The network traffic is allowed or denied. + Access pulumi.StringInput `pulumi:"access"` + // A description for this rule. Restricted to 140 chars. + Description pulumi.StringPtrInput `pulumi:"description"` + // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + DestinationAddressPrefix pulumi.StringPtrInput `pulumi:"destinationAddressPrefix"` + // The destination address prefixes. CIDR or destination IP ranges. + DestinationAddressPrefixes pulumi.StringArrayInput `pulumi:"destinationAddressPrefixes"` + // The application security group specified as destination. + DestinationApplicationSecurityGroups ApplicationSecurityGroupTypeArrayInput `pulumi:"destinationApplicationSecurityGroups"` + // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + DestinationPortRange pulumi.StringPtrInput `pulumi:"destinationPortRange"` + // The destination port ranges. + DestinationPortRanges pulumi.StringArrayInput `pulumi:"destinationPortRanges"` + // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. + Direction pulumi.StringInput `pulumi:"direction"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority pulumi.IntPtrInput `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` + // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + SourceAddressPrefix pulumi.StringPtrInput `pulumi:"sourceAddressPrefix"` + // The CIDR or source IP ranges. + SourceAddressPrefixes pulumi.StringArrayInput `pulumi:"sourceAddressPrefixes"` + // The application security group specified as source. + SourceApplicationSecurityGroups ApplicationSecurityGroupTypeArrayInput `pulumi:"sourceApplicationSecurityGroups"` + // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + SourcePortRange pulumi.StringPtrInput `pulumi:"sourcePortRange"` + // The source port ranges. + SourcePortRanges pulumi.StringArrayInput `pulumi:"sourcePortRanges"` + // The type of the resource. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (SecurityRuleTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityRuleType)(nil)).Elem() +} + +func (i SecurityRuleTypeArgs) ToSecurityRuleTypeOutput() SecurityRuleTypeOutput { + return i.ToSecurityRuleTypeOutputWithContext(context.Background()) +} + +func (i SecurityRuleTypeArgs) ToSecurityRuleTypeOutputWithContext(ctx context.Context) SecurityRuleTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityRuleTypeOutput) +} + +// SecurityRuleTypeArrayInput is an input type that accepts SecurityRuleTypeArray and SecurityRuleTypeArrayOutput values. +// You can construct a concrete instance of `SecurityRuleTypeArrayInput` via: +// +// SecurityRuleTypeArray{ SecurityRuleTypeArgs{...} } +type SecurityRuleTypeArrayInput interface { + pulumi.Input + + ToSecurityRuleTypeArrayOutput() SecurityRuleTypeArrayOutput + ToSecurityRuleTypeArrayOutputWithContext(context.Context) SecurityRuleTypeArrayOutput +} + +type SecurityRuleTypeArray []SecurityRuleTypeInput + +func (SecurityRuleTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityRuleType)(nil)).Elem() +} + +func (i SecurityRuleTypeArray) ToSecurityRuleTypeArrayOutput() SecurityRuleTypeArrayOutput { + return i.ToSecurityRuleTypeArrayOutputWithContext(context.Background()) +} + +func (i SecurityRuleTypeArray) ToSecurityRuleTypeArrayOutputWithContext(ctx context.Context) SecurityRuleTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityRuleTypeArrayOutput) +} + +// Network security rule. +type SecurityRuleTypeOutput struct{ *pulumi.OutputState } + +func (SecurityRuleTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityRuleType)(nil)).Elem() +} + +func (o SecurityRuleTypeOutput) ToSecurityRuleTypeOutput() SecurityRuleTypeOutput { + return o +} + +func (o SecurityRuleTypeOutput) ToSecurityRuleTypeOutputWithContext(ctx context.Context) SecurityRuleTypeOutput { + return o +} + +// The network traffic is allowed or denied. +func (o SecurityRuleTypeOutput) Access() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleType) string { return v.Access }).(pulumi.StringOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o SecurityRuleTypeOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. +func (o SecurityRuleTypeOutput) DestinationAddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.DestinationAddressPrefix }).(pulumi.StringPtrOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o SecurityRuleTypeOutput) DestinationAddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleType) []string { return v.DestinationAddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The application security group specified as destination. +func (o SecurityRuleTypeOutput) DestinationApplicationSecurityGroups() ApplicationSecurityGroupTypeArrayOutput { + return o.ApplyT(func(v SecurityRuleType) []ApplicationSecurityGroupType { return v.DestinationApplicationSecurityGroups }).(ApplicationSecurityGroupTypeArrayOutput) +} + +// The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. +func (o SecurityRuleTypeOutput) DestinationPortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.DestinationPortRange }).(pulumi.StringPtrOutput) +} + +// The destination port ranges. +func (o SecurityRuleTypeOutput) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleType) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. +func (o SecurityRuleTypeOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleType) string { return v.Direction }).(pulumi.StringOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SecurityRuleTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SecurityRuleTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SecurityRuleTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o SecurityRuleTypeOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *int { return v.Priority }).(pulumi.IntPtrOutput) +} + +// Network protocol this rule applies to. +func (o SecurityRuleTypeOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleType) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o SecurityRuleTypeOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. +func (o SecurityRuleTypeOutput) SourceAddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.SourceAddressPrefix }).(pulumi.StringPtrOutput) +} + +// The CIDR or source IP ranges. +func (o SecurityRuleTypeOutput) SourceAddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleType) []string { return v.SourceAddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The application security group specified as source. +func (o SecurityRuleTypeOutput) SourceApplicationSecurityGroups() ApplicationSecurityGroupTypeArrayOutput { + return o.ApplyT(func(v SecurityRuleType) []ApplicationSecurityGroupType { return v.SourceApplicationSecurityGroups }).(ApplicationSecurityGroupTypeArrayOutput) +} + +// The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. +func (o SecurityRuleTypeOutput) SourcePortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.SourcePortRange }).(pulumi.StringPtrOutput) +} + +// The source port ranges. +func (o SecurityRuleTypeOutput) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleType) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The type of the resource. +func (o SecurityRuleTypeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleType) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SecurityRuleTypeArrayOutput struct{ *pulumi.OutputState } + +func (SecurityRuleTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityRuleType)(nil)).Elem() +} + +func (o SecurityRuleTypeArrayOutput) ToSecurityRuleTypeArrayOutput() SecurityRuleTypeArrayOutput { + return o +} + +func (o SecurityRuleTypeArrayOutput) ToSecurityRuleTypeArrayOutputWithContext(ctx context.Context) SecurityRuleTypeArrayOutput { + return o +} + +func (o SecurityRuleTypeArrayOutput) Index(i pulumi.IntInput) SecurityRuleTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityRuleType { + return vs[0].([]SecurityRuleType)[vs[1].(int)] + }).(SecurityRuleTypeOutput) +} + +// Network security rule. +type SecurityRuleResponse struct { + // The network traffic is allowed or denied. + Access string `pulumi:"access"` + // A description for this rule. Restricted to 140 chars. + Description *string `pulumi:"description"` + // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + DestinationAddressPrefix *string `pulumi:"destinationAddressPrefix"` + // The destination address prefixes. CIDR or destination IP ranges. + DestinationAddressPrefixes []string `pulumi:"destinationAddressPrefixes"` + // The application security group specified as destination. + DestinationApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"destinationApplicationSecurityGroups"` + // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + DestinationPortRange *string `pulumi:"destinationPortRange"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. + Direction string `pulumi:"direction"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority int `pulumi:"priority"` + // Network protocol this rule applies to. + Protocol string `pulumi:"protocol"` + // The provisioning state of the security rule resource. + ProvisioningState string `pulumi:"provisioningState"` + // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + SourceAddressPrefix *string `pulumi:"sourceAddressPrefix"` + // The CIDR or source IP ranges. + SourceAddressPrefixes []string `pulumi:"sourceAddressPrefixes"` + // The application security group specified as source. + SourceApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"sourceApplicationSecurityGroups"` + // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + SourcePortRange *string `pulumi:"sourcePortRange"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` + // The type of the resource. + Type *string `pulumi:"type"` +} + +// Network security rule. +type SecurityRuleResponseOutput struct{ *pulumi.OutputState } + +func (SecurityRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityRuleResponse)(nil)).Elem() +} + +func (o SecurityRuleResponseOutput) ToSecurityRuleResponseOutput() SecurityRuleResponseOutput { + return o +} + +func (o SecurityRuleResponseOutput) ToSecurityRuleResponseOutputWithContext(ctx context.Context) SecurityRuleResponseOutput { + return o +} + +// The network traffic is allowed or denied. +func (o SecurityRuleResponseOutput) Access() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponse) string { return v.Access }).(pulumi.StringOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o SecurityRuleResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. +func (o SecurityRuleResponseOutput) DestinationAddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.DestinationAddressPrefix }).(pulumi.StringPtrOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o SecurityRuleResponseOutput) DestinationAddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponse) []string { return v.DestinationAddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The application security group specified as destination. +func (o SecurityRuleResponseOutput) DestinationApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v SecurityRuleResponse) []ApplicationSecurityGroupResponse { + return v.DestinationApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) +} + +// The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. +func (o SecurityRuleResponseOutput) DestinationPortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.DestinationPortRange }).(pulumi.StringPtrOutput) +} + +// The destination port ranges. +func (o SecurityRuleResponseOutput) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponse) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. +func (o SecurityRuleResponseOutput) Direction() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponse) string { return v.Direction }).(pulumi.StringOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SecurityRuleResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o SecurityRuleResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SecurityRuleResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o SecurityRuleResponseOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v SecurityRuleResponse) int { return v.Priority }).(pulumi.IntOutput) +} + +// Network protocol this rule applies to. +func (o SecurityRuleResponseOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponse) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the security rule resource. +func (o SecurityRuleResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. +func (o SecurityRuleResponseOutput) SourceAddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.SourceAddressPrefix }).(pulumi.StringPtrOutput) +} + +// The CIDR or source IP ranges. +func (o SecurityRuleResponseOutput) SourceAddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponse) []string { return v.SourceAddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The application security group specified as source. +func (o SecurityRuleResponseOutput) SourceApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v SecurityRuleResponse) []ApplicationSecurityGroupResponse { + return v.SourceApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) +} + +// The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. +func (o SecurityRuleResponseOutput) SourcePortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.SourcePortRange }).(pulumi.StringPtrOutput) +} + +// The source port ranges. +func (o SecurityRuleResponseOutput) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponse) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +// The type of the resource. +func (o SecurityRuleResponseOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SecurityRuleResponseArrayOutput struct{ *pulumi.OutputState } + +func (SecurityRuleResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityRuleResponse)(nil)).Elem() +} + +func (o SecurityRuleResponseArrayOutput) ToSecurityRuleResponseArrayOutput() SecurityRuleResponseArrayOutput { + return o +} + +func (o SecurityRuleResponseArrayOutput) ToSecurityRuleResponseArrayOutputWithContext(ctx context.Context) SecurityRuleResponseArrayOutput { + return o +} + +func (o SecurityRuleResponseArrayOutput) Index(i pulumi.IntInput) SecurityRuleResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityRuleResponse { + return vs[0].([]SecurityRuleResponse)[vs[1].(int)] + }).(SecurityRuleResponseOutput) +} + +// Network security rule. +type SecurityRuleResponseV1 struct { + // The network traffic is allowed or denied. + Access string `pulumi:"access"` + // A description for this rule. Restricted to 140 chars. + Description *string `pulumi:"description"` + // The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + DestinationAddressPrefix *string `pulumi:"destinationAddressPrefix"` + // The destination address prefixes. CIDR or destination IP ranges. + DestinationAddressPrefixes []string `pulumi:"destinationAddressPrefixes"` + // The application security group specified as destination. + DestinationApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"destinationApplicationSecurityGroups"` + // The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + DestinationPortRange *string `pulumi:"destinationPortRange"` + // The destination port ranges. + DestinationPortRanges []string `pulumi:"destinationPortRanges"` + // The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. + Direction string `pulumi:"direction"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // 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 priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority *int `pulumi:"priority"` + // Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', 'Icmp', 'Esp', and '*'. + Protocol string `pulumi:"protocol"` + // The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `pulumi:"provisioningState"` + // The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + SourceAddressPrefix *string `pulumi:"sourceAddressPrefix"` + // The CIDR or source IP ranges. + SourceAddressPrefixes []string `pulumi:"sourceAddressPrefixes"` + // The application security group specified as source. + SourceApplicationSecurityGroups []ApplicationSecurityGroupResponse `pulumi:"sourceApplicationSecurityGroups"` + // The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + SourcePortRange *string `pulumi:"sourcePortRange"` + // The source port ranges. + SourcePortRanges []string `pulumi:"sourcePortRanges"` +} + +// Network security rule. +type SecurityRuleResponseV1Output struct{ *pulumi.OutputState } + +func (SecurityRuleResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityRuleResponseV1)(nil)).Elem() +} + +func (o SecurityRuleResponseV1Output) ToSecurityRuleResponseV1Output() SecurityRuleResponseV1Output { + return o +} + +func (o SecurityRuleResponseV1Output) ToSecurityRuleResponseV1OutputWithContext(ctx context.Context) SecurityRuleResponseV1Output { + return o +} + +// The network traffic is allowed or denied. +func (o SecurityRuleResponseV1Output) Access() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) string { return v.Access }).(pulumi.StringOutput) +} + +// A description for this rule. Restricted to 140 chars. +func (o SecurityRuleResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. +func (o SecurityRuleResponseV1Output) DestinationAddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.DestinationAddressPrefix }).(pulumi.StringPtrOutput) +} + +// The destination address prefixes. CIDR or destination IP ranges. +func (o SecurityRuleResponseV1Output) DestinationAddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) []string { return v.DestinationAddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The application security group specified as destination. +func (o SecurityRuleResponseV1Output) DestinationApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) []ApplicationSecurityGroupResponse { + return v.DestinationApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) +} + +// The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. +func (o SecurityRuleResponseV1Output) DestinationPortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.DestinationPortRange }).(pulumi.StringPtrOutput) +} + +// The destination port ranges. +func (o SecurityRuleResponseV1Output) DestinationPortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) []string { return v.DestinationPortRanges }).(pulumi.StringArrayOutput) +} + +// The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. +func (o SecurityRuleResponseV1Output) Direction() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) string { return v.Direction }).(pulumi.StringOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SecurityRuleResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SecurityRuleResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SecurityRuleResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. +func (o SecurityRuleResponseV1Output) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *int { return v.Priority }).(pulumi.IntPtrOutput) +} + +// Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', 'Icmp', 'Esp', and '*'. +func (o SecurityRuleResponseV1Output) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o SecurityRuleResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. +func (o SecurityRuleResponseV1Output) SourceAddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.SourceAddressPrefix }).(pulumi.StringPtrOutput) +} + +// The CIDR or source IP ranges. +func (o SecurityRuleResponseV1Output) SourceAddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) []string { return v.SourceAddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The application security group specified as source. +func (o SecurityRuleResponseV1Output) SourceApplicationSecurityGroups() ApplicationSecurityGroupResponseArrayOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) []ApplicationSecurityGroupResponse { + return v.SourceApplicationSecurityGroups + }).(ApplicationSecurityGroupResponseArrayOutput) +} + +// The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. +func (o SecurityRuleResponseV1Output) SourcePortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) *string { return v.SourcePortRange }).(pulumi.StringPtrOutput) +} + +// The source port ranges. +func (o SecurityRuleResponseV1Output) SourcePortRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityRuleResponseV1) []string { return v.SourcePortRanges }).(pulumi.StringArrayOutput) +} + +type SecurityRuleResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (SecurityRuleResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityRuleResponseV1)(nil)).Elem() +} + +func (o SecurityRuleResponseV1ArrayOutput) ToSecurityRuleResponseV1ArrayOutput() SecurityRuleResponseV1ArrayOutput { + return o +} + +func (o SecurityRuleResponseV1ArrayOutput) ToSecurityRuleResponseV1ArrayOutputWithContext(ctx context.Context) SecurityRuleResponseV1ArrayOutput { + return o +} + +func (o SecurityRuleResponseV1ArrayOutput) Index(i pulumi.IntInput) SecurityRuleResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityRuleResponseV1 { + return vs[0].([]SecurityRuleResponseV1)[vs[1].(int)] + }).(SecurityRuleResponseV1Output) +} + +// Network manager security user group item. +type SecurityUserGroupItem struct { + // Network manager group Id. + NetworkGroupId string `pulumi:"networkGroupId"` +} + +// SecurityUserGroupItemInput is an input type that accepts SecurityUserGroupItemArgs and SecurityUserGroupItemOutput values. +// You can construct a concrete instance of `SecurityUserGroupItemInput` via: +// +// SecurityUserGroupItemArgs{...} +type SecurityUserGroupItemInput interface { + pulumi.Input + + ToSecurityUserGroupItemOutput() SecurityUserGroupItemOutput + ToSecurityUserGroupItemOutputWithContext(context.Context) SecurityUserGroupItemOutput +} + +// Network manager security user group item. +type SecurityUserGroupItemArgs struct { + // Network manager group Id. + NetworkGroupId pulumi.StringInput `pulumi:"networkGroupId"` +} + +func (SecurityUserGroupItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityUserGroupItem)(nil)).Elem() +} + +func (i SecurityUserGroupItemArgs) ToSecurityUserGroupItemOutput() SecurityUserGroupItemOutput { + return i.ToSecurityUserGroupItemOutputWithContext(context.Background()) +} + +func (i SecurityUserGroupItemArgs) ToSecurityUserGroupItemOutputWithContext(ctx context.Context) SecurityUserGroupItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityUserGroupItemOutput) +} + +// SecurityUserGroupItemArrayInput is an input type that accepts SecurityUserGroupItemArray and SecurityUserGroupItemArrayOutput values. +// You can construct a concrete instance of `SecurityUserGroupItemArrayInput` via: +// +// SecurityUserGroupItemArray{ SecurityUserGroupItemArgs{...} } +type SecurityUserGroupItemArrayInput interface { + pulumi.Input + + ToSecurityUserGroupItemArrayOutput() SecurityUserGroupItemArrayOutput + ToSecurityUserGroupItemArrayOutputWithContext(context.Context) SecurityUserGroupItemArrayOutput +} + +type SecurityUserGroupItemArray []SecurityUserGroupItemInput + +func (SecurityUserGroupItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityUserGroupItem)(nil)).Elem() +} + +func (i SecurityUserGroupItemArray) ToSecurityUserGroupItemArrayOutput() SecurityUserGroupItemArrayOutput { + return i.ToSecurityUserGroupItemArrayOutputWithContext(context.Background()) +} + +func (i SecurityUserGroupItemArray) ToSecurityUserGroupItemArrayOutputWithContext(ctx context.Context) SecurityUserGroupItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityUserGroupItemArrayOutput) +} + +// Network manager security user group item. +type SecurityUserGroupItemOutput struct{ *pulumi.OutputState } + +func (SecurityUserGroupItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityUserGroupItem)(nil)).Elem() +} + +func (o SecurityUserGroupItemOutput) ToSecurityUserGroupItemOutput() SecurityUserGroupItemOutput { + return o +} + +func (o SecurityUserGroupItemOutput) ToSecurityUserGroupItemOutputWithContext(ctx context.Context) SecurityUserGroupItemOutput { + return o +} + +// Network manager group Id. +func (o SecurityUserGroupItemOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v SecurityUserGroupItem) string { return v.NetworkGroupId }).(pulumi.StringOutput) +} + +type SecurityUserGroupItemArrayOutput struct{ *pulumi.OutputState } + +func (SecurityUserGroupItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityUserGroupItem)(nil)).Elem() +} + +func (o SecurityUserGroupItemArrayOutput) ToSecurityUserGroupItemArrayOutput() SecurityUserGroupItemArrayOutput { + return o +} + +func (o SecurityUserGroupItemArrayOutput) ToSecurityUserGroupItemArrayOutputWithContext(ctx context.Context) SecurityUserGroupItemArrayOutput { + return o +} + +func (o SecurityUserGroupItemArrayOutput) Index(i pulumi.IntInput) SecurityUserGroupItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityUserGroupItem { + return vs[0].([]SecurityUserGroupItem)[vs[1].(int)] + }).(SecurityUserGroupItemOutput) +} + +// Network manager security user group item. +type SecurityUserGroupItemResponse struct { + // Network manager group Id. + NetworkGroupId string `pulumi:"networkGroupId"` +} + +// Network manager security user group item. +type SecurityUserGroupItemResponseOutput struct{ *pulumi.OutputState } + +func (SecurityUserGroupItemResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityUserGroupItemResponse)(nil)).Elem() +} + +func (o SecurityUserGroupItemResponseOutput) ToSecurityUserGroupItemResponseOutput() SecurityUserGroupItemResponseOutput { + return o +} + +func (o SecurityUserGroupItemResponseOutput) ToSecurityUserGroupItemResponseOutputWithContext(ctx context.Context) SecurityUserGroupItemResponseOutput { + return o +} + +// Network manager group Id. +func (o SecurityUserGroupItemResponseOutput) NetworkGroupId() pulumi.StringOutput { + return o.ApplyT(func(v SecurityUserGroupItemResponse) string { return v.NetworkGroupId }).(pulumi.StringOutput) +} + +type SecurityUserGroupItemResponseArrayOutput struct{ *pulumi.OutputState } + +func (SecurityUserGroupItemResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityUserGroupItemResponse)(nil)).Elem() +} + +func (o SecurityUserGroupItemResponseArrayOutput) ToSecurityUserGroupItemResponseArrayOutput() SecurityUserGroupItemResponseArrayOutput { + return o +} + +func (o SecurityUserGroupItemResponseArrayOutput) ToSecurityUserGroupItemResponseArrayOutputWithContext(ctx context.Context) SecurityUserGroupItemResponseArrayOutput { + return o +} + +func (o SecurityUserGroupItemResponseArrayOutput) Index(i pulumi.IntInput) SecurityUserGroupItemResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityUserGroupItemResponse { + return vs[0].([]SecurityUserGroupItemResponse)[vs[1].(int)] + }).(SecurityUserGroupItemResponseOutput) +} + +// ServiceAssociationLink resource. +type ServiceAssociationLink struct { + // Resource ID. + Id *string `pulumi:"id"` + // Link to the external resource. + Link *string `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType *string `pulumi:"linkedResourceType"` + // Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `pulumi:"name"` +} + +// ServiceAssociationLinkInput is an input type that accepts ServiceAssociationLinkArgs and ServiceAssociationLinkOutput values. +// You can construct a concrete instance of `ServiceAssociationLinkInput` via: +// +// ServiceAssociationLinkArgs{...} +type ServiceAssociationLinkInput interface { + pulumi.Input + + ToServiceAssociationLinkOutput() ServiceAssociationLinkOutput + ToServiceAssociationLinkOutputWithContext(context.Context) ServiceAssociationLinkOutput +} + +// ServiceAssociationLink resource. +type ServiceAssociationLinkArgs struct { + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Link to the external resource. + Link pulumi.StringPtrInput `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType pulumi.StringPtrInput `pulumi:"linkedResourceType"` + // 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"` +} + +func (ServiceAssociationLinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAssociationLink)(nil)).Elem() +} + +func (i ServiceAssociationLinkArgs) ToServiceAssociationLinkOutput() ServiceAssociationLinkOutput { + return i.ToServiceAssociationLinkOutputWithContext(context.Background()) +} + +func (i ServiceAssociationLinkArgs) ToServiceAssociationLinkOutputWithContext(ctx context.Context) ServiceAssociationLinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAssociationLinkOutput) +} + +// ServiceAssociationLinkArrayInput is an input type that accepts ServiceAssociationLinkArray and ServiceAssociationLinkArrayOutput values. +// You can construct a concrete instance of `ServiceAssociationLinkArrayInput` via: +// +// ServiceAssociationLinkArray{ ServiceAssociationLinkArgs{...} } +type ServiceAssociationLinkArrayInput interface { + pulumi.Input + + ToServiceAssociationLinkArrayOutput() ServiceAssociationLinkArrayOutput + ToServiceAssociationLinkArrayOutputWithContext(context.Context) ServiceAssociationLinkArrayOutput +} + +type ServiceAssociationLinkArray []ServiceAssociationLinkInput + +func (ServiceAssociationLinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceAssociationLink)(nil)).Elem() +} + +func (i ServiceAssociationLinkArray) ToServiceAssociationLinkArrayOutput() ServiceAssociationLinkArrayOutput { + return i.ToServiceAssociationLinkArrayOutputWithContext(context.Background()) +} + +func (i ServiceAssociationLinkArray) ToServiceAssociationLinkArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAssociationLinkArrayOutput) +} + +// ServiceAssociationLink resource. +type ServiceAssociationLinkOutput struct{ *pulumi.OutputState } + +func (ServiceAssociationLinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAssociationLink)(nil)).Elem() +} + +func (o ServiceAssociationLinkOutput) ToServiceAssociationLinkOutput() ServiceAssociationLinkOutput { + return o +} + +func (o ServiceAssociationLinkOutput) ToServiceAssociationLinkOutputWithContext(ctx context.Context) ServiceAssociationLinkOutput { + return o +} + +// Resource ID. +func (o ServiceAssociationLinkOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLink) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Link to the external resource. +func (o ServiceAssociationLinkOutput) Link() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLink) *string { return v.Link }).(pulumi.StringPtrOutput) +} + +// Resource type of the linked resource. +func (o ServiceAssociationLinkOutput) LinkedResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLink) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +} + +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ServiceAssociationLinkOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLink) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type ServiceAssociationLinkArrayOutput struct{ *pulumi.OutputState } + +func (ServiceAssociationLinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceAssociationLink)(nil)).Elem() +} + +func (o ServiceAssociationLinkArrayOutput) ToServiceAssociationLinkArrayOutput() ServiceAssociationLinkArrayOutput { + return o +} + +func (o ServiceAssociationLinkArrayOutput) ToServiceAssociationLinkArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkArrayOutput { + return o +} + +func (o ServiceAssociationLinkArrayOutput) Index(i pulumi.IntInput) ServiceAssociationLinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAssociationLink { + return vs[0].([]ServiceAssociationLink)[vs[1].(int)] + }).(ServiceAssociationLinkOutput) +} + +// ServiceAssociationLink resource. +type ServiceAssociationLinkResponse struct { + // If true, the resource can be deleted. + AllowDelete *bool `pulumi:"allowDelete"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Link to the external resource. + Link *string `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType *string `pulumi:"linkedResourceType"` + // A list of locations. + Locations []string `pulumi:"locations"` + // 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 provisioning state of the service association link resource. + ProvisioningState string `pulumi:"provisioningState"` + // Resource type. + Type string `pulumi:"type"` +} + +// ServiceAssociationLink resource. +type ServiceAssociationLinkResponseOutput struct{ *pulumi.OutputState } + +func (ServiceAssociationLinkResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAssociationLinkResponse)(nil)).Elem() +} + +func (o ServiceAssociationLinkResponseOutput) ToServiceAssociationLinkResponseOutput() ServiceAssociationLinkResponseOutput { + return o +} + +func (o ServiceAssociationLinkResponseOutput) ToServiceAssociationLinkResponseOutputWithContext(ctx context.Context) ServiceAssociationLinkResponseOutput { + return o +} + +// If true, the resource can be deleted. +func (o ServiceAssociationLinkResponseOutput) AllowDelete() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) *bool { return v.AllowDelete }).(pulumi.BoolPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceAssociationLinkResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ServiceAssociationLinkResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Link to the external resource. +func (o ServiceAssociationLinkResponseOutput) Link() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.Link }).(pulumi.StringPtrOutput) +} + +// Resource type of the linked resource. +func (o ServiceAssociationLinkResponseOutput) LinkedResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +} + +// A list of locations. +func (o ServiceAssociationLinkResponseOutput) Locations() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) []string { return v.Locations }).(pulumi.StringArrayOutput) +} + +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ServiceAssociationLinkResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the service association link resource. +func (o ServiceAssociationLinkResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Resource type. +func (o ServiceAssociationLinkResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type ServiceAssociationLinkResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceAssociationLinkResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceAssociationLinkResponse)(nil)).Elem() +} + +func (o ServiceAssociationLinkResponseArrayOutput) ToServiceAssociationLinkResponseArrayOutput() ServiceAssociationLinkResponseArrayOutput { + return o +} + +func (o ServiceAssociationLinkResponseArrayOutput) ToServiceAssociationLinkResponseArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkResponseArrayOutput { + return o +} + +func (o ServiceAssociationLinkResponseArrayOutput) Index(i pulumi.IntInput) ServiceAssociationLinkResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAssociationLinkResponse { + return vs[0].([]ServiceAssociationLinkResponse)[vs[1].(int)] + }).(ServiceAssociationLinkResponseOutput) +} + +// ServiceAssociationLink resource. +type ServiceAssociationLinkResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Link to the external resource. + Link *string `pulumi:"link"` + // Resource type of the linked resource. + LinkedResourceType *string `pulumi:"linkedResourceType"` + // Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `pulumi:"name"` + // Provisioning state of the ServiceAssociationLink resource. + ProvisioningState string `pulumi:"provisioningState"` +} + +// ServiceAssociationLink resource. +type ServiceAssociationLinkResponseV1Output struct{ *pulumi.OutputState } + +func (ServiceAssociationLinkResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAssociationLinkResponseV1)(nil)).Elem() +} + +func (o ServiceAssociationLinkResponseV1Output) ToServiceAssociationLinkResponseV1Output() ServiceAssociationLinkResponseV1Output { + return o +} + +func (o ServiceAssociationLinkResponseV1Output) ToServiceAssociationLinkResponseV1OutputWithContext(ctx context.Context) ServiceAssociationLinkResponseV1Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceAssociationLinkResponseV1Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponseV1) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ServiceAssociationLinkResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Link to the external resource. +func (o ServiceAssociationLinkResponseV1Output) Link() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponseV1) *string { return v.Link }).(pulumi.StringPtrOutput) +} + +// Resource type of the linked resource. +func (o ServiceAssociationLinkResponseV1Output) LinkedResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponseV1) *string { return v.LinkedResourceType }).(pulumi.StringPtrOutput) +} + +// Name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ServiceAssociationLinkResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Provisioning state of the ServiceAssociationLink resource. +func (o ServiceAssociationLinkResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAssociationLinkResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +type ServiceAssociationLinkResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ServiceAssociationLinkResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceAssociationLinkResponseV1)(nil)).Elem() +} + +func (o ServiceAssociationLinkResponseV1ArrayOutput) ToServiceAssociationLinkResponseV1ArrayOutput() ServiceAssociationLinkResponseV1ArrayOutput { + return o +} + +func (o ServiceAssociationLinkResponseV1ArrayOutput) ToServiceAssociationLinkResponseV1ArrayOutputWithContext(ctx context.Context) ServiceAssociationLinkResponseV1ArrayOutput { + return o +} + +func (o ServiceAssociationLinkResponseV1ArrayOutput) Index(i pulumi.IntInput) ServiceAssociationLinkResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAssociationLinkResponseV1 { + return vs[0].([]ServiceAssociationLinkResponseV1)[vs[1].(int)] + }).(ServiceAssociationLinkResponseV1Output) +} + +// Service End point policy resource. +type ServiceEndpointPolicyType struct { + // A collection of contextual service endpoint policy. + ContextualServiceEndpointPolicies []string `pulumi:"contextualServiceEndpointPolicies"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // The alias indicating if the policy belongs to a service + ServiceAlias *string `pulumi:"serviceAlias"` + // A collection of service endpoint policy definitions of the service endpoint policy. + ServiceEndpointPolicyDefinitions []ServiceEndpointPolicyDefinitionType `pulumi:"serviceEndpointPolicyDefinitions"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` +} + +// ServiceEndpointPolicyTypeInput is an input type that accepts ServiceEndpointPolicyTypeArgs and ServiceEndpointPolicyTypeOutput values. +// You can construct a concrete instance of `ServiceEndpointPolicyTypeInput` via: +// +// ServiceEndpointPolicyTypeArgs{...} +type ServiceEndpointPolicyTypeInput interface { + pulumi.Input + + ToServiceEndpointPolicyTypeOutput() ServiceEndpointPolicyTypeOutput + ToServiceEndpointPolicyTypeOutputWithContext(context.Context) ServiceEndpointPolicyTypeOutput +} + +// Service End point policy resource. +type ServiceEndpointPolicyTypeArgs struct { + // A collection of contextual service endpoint policy. + ContextualServiceEndpointPolicies pulumi.StringArrayInput `pulumi:"contextualServiceEndpointPolicies"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Resource location. + Location pulumi.StringPtrInput `pulumi:"location"` + // The alias indicating if the policy belongs to a service + ServiceAlias pulumi.StringPtrInput `pulumi:"serviceAlias"` + // A collection of service endpoint policy definitions of the service endpoint policy. + ServiceEndpointPolicyDefinitions ServiceEndpointPolicyDefinitionTypeArrayInput `pulumi:"serviceEndpointPolicyDefinitions"` + // Resource tags. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (ServiceEndpointPolicyTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyType)(nil)).Elem() +} + +func (i ServiceEndpointPolicyTypeArgs) ToServiceEndpointPolicyTypeOutput() ServiceEndpointPolicyTypeOutput { + return i.ToServiceEndpointPolicyTypeOutputWithContext(context.Background()) +} + +func (i ServiceEndpointPolicyTypeArgs) ToServiceEndpointPolicyTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyTypeOutput) +} + +// ServiceEndpointPolicyTypeArrayInput is an input type that accepts ServiceEndpointPolicyTypeArray and ServiceEndpointPolicyTypeArrayOutput values. +// You can construct a concrete instance of `ServiceEndpointPolicyTypeArrayInput` via: +// +// ServiceEndpointPolicyTypeArray{ ServiceEndpointPolicyTypeArgs{...} } +type ServiceEndpointPolicyTypeArrayInput interface { + pulumi.Input + + ToServiceEndpointPolicyTypeArrayOutput() ServiceEndpointPolicyTypeArrayOutput + ToServiceEndpointPolicyTypeArrayOutputWithContext(context.Context) ServiceEndpointPolicyTypeArrayOutput +} + +type ServiceEndpointPolicyTypeArray []ServiceEndpointPolicyTypeInput + +func (ServiceEndpointPolicyTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyType)(nil)).Elem() +} + +func (i ServiceEndpointPolicyTypeArray) ToServiceEndpointPolicyTypeArrayOutput() ServiceEndpointPolicyTypeArrayOutput { + return i.ToServiceEndpointPolicyTypeArrayOutputWithContext(context.Background()) +} + +func (i ServiceEndpointPolicyTypeArray) ToServiceEndpointPolicyTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyTypeArrayOutput) +} + +// Service End point policy resource. +type ServiceEndpointPolicyTypeOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyType)(nil)).Elem() +} + +func (o ServiceEndpointPolicyTypeOutput) ToServiceEndpointPolicyTypeOutput() ServiceEndpointPolicyTypeOutput { + return o +} + +func (o ServiceEndpointPolicyTypeOutput) ToServiceEndpointPolicyTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeOutput { + return o +} + +// A collection of contextual service endpoint policy. +func (o ServiceEndpointPolicyTypeOutput) ContextualServiceEndpointPolicies() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) []string { return v.ContextualServiceEndpointPolicies }).(pulumi.StringArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceEndpointPolicyTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ServiceEndpointPolicyTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o ServiceEndpointPolicyTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// The alias indicating if the policy belongs to a service +func (o ServiceEndpointPolicyTypeOutput) ServiceAlias() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) *string { return v.ServiceAlias }).(pulumi.StringPtrOutput) +} + +// A collection of service endpoint policy definitions of the service endpoint policy. +func (o ServiceEndpointPolicyTypeOutput) ServiceEndpointPolicyDefinitions() ServiceEndpointPolicyDefinitionTypeArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) []ServiceEndpointPolicyDefinitionType { + return v.ServiceEndpointPolicyDefinitions + }).(ServiceEndpointPolicyDefinitionTypeArrayOutput) +} + +// Resource tags. +func (o ServiceEndpointPolicyTypeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v ServiceEndpointPolicyType) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +type ServiceEndpointPolicyTypeArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyType)(nil)).Elem() +} + +func (o ServiceEndpointPolicyTypeArrayOutput) ToServiceEndpointPolicyTypeArrayOutput() ServiceEndpointPolicyTypeArrayOutput { + return o +} + +func (o ServiceEndpointPolicyTypeArrayOutput) ToServiceEndpointPolicyTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyTypeArrayOutput { + return o +} + +func (o ServiceEndpointPolicyTypeArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyType { + return vs[0].([]ServiceEndpointPolicyType)[vs[1].(int)] + }).(ServiceEndpointPolicyTypeOutput) +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionType struct { + // A description for this rule. Restricted to 140 chars. + 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"` + // 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"` + // Service endpoint name. + Service *string `pulumi:"service"` + // A list of service resources. + ServiceResources []string `pulumi:"serviceResources"` + // The type of the resource. + Type *string `pulumi:"type"` +} + +// ServiceEndpointPolicyDefinitionTypeInput is an input type that accepts ServiceEndpointPolicyDefinitionTypeArgs and ServiceEndpointPolicyDefinitionTypeOutput values. +// You can construct a concrete instance of `ServiceEndpointPolicyDefinitionTypeInput` via: +// +// ServiceEndpointPolicyDefinitionTypeArgs{...} +type ServiceEndpointPolicyDefinitionTypeInput interface { + pulumi.Input + + ToServiceEndpointPolicyDefinitionTypeOutput() ServiceEndpointPolicyDefinitionTypeOutput + ToServiceEndpointPolicyDefinitionTypeOutputWithContext(context.Context) ServiceEndpointPolicyDefinitionTypeOutput +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionTypeArgs struct { + // A description for this rule. Restricted to 140 chars. + Description pulumi.StringPtrInput `pulumi:"description"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // 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"` + // Service endpoint name. + Service pulumi.StringPtrInput `pulumi:"service"` + // A list of service resources. + ServiceResources pulumi.StringArrayInput `pulumi:"serviceResources"` + // The type of the resource. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (ServiceEndpointPolicyDefinitionTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyDefinitionType)(nil)).Elem() +} + +func (i ServiceEndpointPolicyDefinitionTypeArgs) ToServiceEndpointPolicyDefinitionTypeOutput() ServiceEndpointPolicyDefinitionTypeOutput { + return i.ToServiceEndpointPolicyDefinitionTypeOutputWithContext(context.Background()) +} + +func (i ServiceEndpointPolicyDefinitionTypeArgs) ToServiceEndpointPolicyDefinitionTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyDefinitionTypeOutput) +} + +// ServiceEndpointPolicyDefinitionTypeArrayInput is an input type that accepts ServiceEndpointPolicyDefinitionTypeArray and ServiceEndpointPolicyDefinitionTypeArrayOutput values. +// You can construct a concrete instance of `ServiceEndpointPolicyDefinitionTypeArrayInput` via: +// +// ServiceEndpointPolicyDefinitionTypeArray{ ServiceEndpointPolicyDefinitionTypeArgs{...} } +type ServiceEndpointPolicyDefinitionTypeArrayInput interface { + pulumi.Input + + ToServiceEndpointPolicyDefinitionTypeArrayOutput() ServiceEndpointPolicyDefinitionTypeArrayOutput + ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(context.Context) ServiceEndpointPolicyDefinitionTypeArrayOutput +} + +type ServiceEndpointPolicyDefinitionTypeArray []ServiceEndpointPolicyDefinitionTypeInput + +func (ServiceEndpointPolicyDefinitionTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionType)(nil)).Elem() +} + +func (i ServiceEndpointPolicyDefinitionTypeArray) ToServiceEndpointPolicyDefinitionTypeArrayOutput() ServiceEndpointPolicyDefinitionTypeArrayOutput { + return i.ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(context.Background()) +} + +func (i ServiceEndpointPolicyDefinitionTypeArray) ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPolicyDefinitionTypeArrayOutput) +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionTypeOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyDefinitionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyDefinitionType)(nil)).Elem() +} + +func (o ServiceEndpointPolicyDefinitionTypeOutput) ToServiceEndpointPolicyDefinitionTypeOutput() ServiceEndpointPolicyDefinitionTypeOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionTypeOutput) ToServiceEndpointPolicyDefinitionTypeOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeOutput { + return o +} + +// A description for this rule. Restricted to 140 chars. +func (o ServiceEndpointPolicyDefinitionTypeOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceEndpointPolicyDefinitionTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ServiceEndpointPolicyDefinitionTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ServiceEndpointPolicyDefinitionTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Service endpoint name. +func (o ServiceEndpointPolicyDefinitionTypeOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// A list of service resources. +func (o ServiceEndpointPolicyDefinitionTypeOutput) ServiceResources() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) []string { return v.ServiceResources }).(pulumi.StringArrayOutput) +} + +// The type of the resource. +func (o ServiceEndpointPolicyDefinitionTypeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionType) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type ServiceEndpointPolicyDefinitionTypeArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyDefinitionTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionType)(nil)).Elem() +} + +func (o ServiceEndpointPolicyDefinitionTypeArrayOutput) ToServiceEndpointPolicyDefinitionTypeArrayOutput() ServiceEndpointPolicyDefinitionTypeArrayOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionTypeArrayOutput) ToServiceEndpointPolicyDefinitionTypeArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionTypeArrayOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionTypeArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyDefinitionTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyDefinitionType { + return vs[0].([]ServiceEndpointPolicyDefinitionType)[vs[1].(int)] + }).(ServiceEndpointPolicyDefinitionTypeOutput) +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionResponse struct { + // A description for this rule. Restricted to 140 chars. + 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"` + // 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 provisioning state of the service endpoint policy definition resource. + ProvisioningState string `pulumi:"provisioningState"` + // Service endpoint name. + Service *string `pulumi:"service"` + // A list of service resources. + ServiceResources []string `pulumi:"serviceResources"` + // The type of the resource. + Type *string `pulumi:"type"` +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionResponseOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyDefinitionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyDefinitionResponse)(nil)).Elem() +} + +func (o ServiceEndpointPolicyDefinitionResponseOutput) ToServiceEndpointPolicyDefinitionResponseOutput() ServiceEndpointPolicyDefinitionResponseOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionResponseOutput) ToServiceEndpointPolicyDefinitionResponseOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionResponseOutput { + return o +} + +// A description for this rule. Restricted to 140 chars. +func (o ServiceEndpointPolicyDefinitionResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceEndpointPolicyDefinitionResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ServiceEndpointPolicyDefinitionResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ServiceEndpointPolicyDefinitionResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the service endpoint policy definition resource. +func (o ServiceEndpointPolicyDefinitionResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Service endpoint name. +func (o ServiceEndpointPolicyDefinitionResponseOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// A list of service resources. +func (o ServiceEndpointPolicyDefinitionResponseOutput) ServiceResources() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) []string { return v.ServiceResources }).(pulumi.StringArrayOutput) +} + +// The type of the resource. +func (o ServiceEndpointPolicyDefinitionResponseOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type ServiceEndpointPolicyDefinitionResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyDefinitionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionResponse)(nil)).Elem() +} + +func (o ServiceEndpointPolicyDefinitionResponseArrayOutput) ToServiceEndpointPolicyDefinitionResponseArrayOutput() ServiceEndpointPolicyDefinitionResponseArrayOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionResponseArrayOutput) ToServiceEndpointPolicyDefinitionResponseArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionResponseArrayOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionResponseArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyDefinitionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyDefinitionResponse { + return vs[0].([]ServiceEndpointPolicyDefinitionResponse)[vs[1].(int)] + }).(ServiceEndpointPolicyDefinitionResponseOutput) +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionResponseV1 struct { + // A description for this rule. Restricted to 140 chars. + 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"` + // 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 provisioning state of the service end point policy definition. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState string `pulumi:"provisioningState"` + // Service endpoint name. + Service *string `pulumi:"service"` + // A list of service resources. + ServiceResources []string `pulumi:"serviceResources"` +} + +// Service Endpoint policy definitions. +type ServiceEndpointPolicyDefinitionResponseV1Output struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyDefinitionResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyDefinitionResponseV1)(nil)).Elem() +} + +func (o ServiceEndpointPolicyDefinitionResponseV1Output) ToServiceEndpointPolicyDefinitionResponseV1Output() ServiceEndpointPolicyDefinitionResponseV1Output { + return o +} + +func (o ServiceEndpointPolicyDefinitionResponseV1Output) ToServiceEndpointPolicyDefinitionResponseV1OutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionResponseV1Output { + return o +} + +// A description for this rule. Restricted to 140 chars. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the service end point policy definition. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Service endpoint name. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +// A list of service resources. +func (o ServiceEndpointPolicyDefinitionResponseV1Output) ServiceResources() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyDefinitionResponseV1) []string { return v.ServiceResources }).(pulumi.StringArrayOutput) +} + +type ServiceEndpointPolicyDefinitionResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyDefinitionResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyDefinitionResponseV1)(nil)).Elem() +} + +func (o ServiceEndpointPolicyDefinitionResponseV1ArrayOutput) ToServiceEndpointPolicyDefinitionResponseV1ArrayOutput() ServiceEndpointPolicyDefinitionResponseV1ArrayOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionResponseV1ArrayOutput) ToServiceEndpointPolicyDefinitionResponseV1ArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyDefinitionResponseV1ArrayOutput { + return o +} + +func (o ServiceEndpointPolicyDefinitionResponseV1ArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyDefinitionResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyDefinitionResponseV1 { + return vs[0].([]ServiceEndpointPolicyDefinitionResponseV1)[vs[1].(int)] + }).(ServiceEndpointPolicyDefinitionResponseV1Output) +} + +// Service End point policy resource. +type ServiceEndpointPolicyResponse struct { + // A collection of contextual service endpoint policy. + ContextualServiceEndpointPolicies []string `pulumi:"contextualServiceEndpointPolicies"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Kind of service endpoint policy. This is metadata used for the Azure portal experience. + Kind string `pulumi:"kind"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the service endpoint policy resource. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the service endpoint policy resource. + ResourceGuid string `pulumi:"resourceGuid"` + // The alias indicating if the policy belongs to a service + ServiceAlias *string `pulumi:"serviceAlias"` + // A collection of service endpoint policy definitions of the service endpoint policy. + ServiceEndpointPolicyDefinitions []ServiceEndpointPolicyDefinitionResponse `pulumi:"serviceEndpointPolicyDefinitions"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` +} + +// Service End point policy resource. +type ServiceEndpointPolicyResponseOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyResponse)(nil)).Elem() +} + +func (o ServiceEndpointPolicyResponseOutput) ToServiceEndpointPolicyResponseOutput() ServiceEndpointPolicyResponseOutput { + return o +} + +func (o ServiceEndpointPolicyResponseOutput) ToServiceEndpointPolicyResponseOutputWithContext(ctx context.Context) ServiceEndpointPolicyResponseOutput { + return o +} + +// A collection of contextual service endpoint policy. +func (o ServiceEndpointPolicyResponseOutput) ContextualServiceEndpointPolicies() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) []string { return v.ContextualServiceEndpointPolicies }).(pulumi.StringArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceEndpointPolicyResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o ServiceEndpointPolicyResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Kind of service endpoint policy. This is metadata used for the Azure portal experience. +func (o ServiceEndpointPolicyResponseOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Kind }).(pulumi.StringOutput) +} + +// Resource location. +func (o ServiceEndpointPolicyResponseOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o ServiceEndpointPolicyResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the service endpoint policy resource. +func (o ServiceEndpointPolicyResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The resource GUID property of the service endpoint policy resource. +func (o ServiceEndpointPolicyResponseOutput) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// The alias indicating if the policy belongs to a service +func (o ServiceEndpointPolicyResponseOutput) ServiceAlias() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) *string { return v.ServiceAlias }).(pulumi.StringPtrOutput) +} + +// A collection of service endpoint policy definitions of the service endpoint policy. +func (o ServiceEndpointPolicyResponseOutput) ServiceEndpointPolicyDefinitions() ServiceEndpointPolicyDefinitionResponseArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) []ServiceEndpointPolicyDefinitionResponse { + return v.ServiceEndpointPolicyDefinitions + }).(ServiceEndpointPolicyDefinitionResponseArrayOutput) +} + +// A collection of references to subnets. +func (o ServiceEndpointPolicyResponseOutput) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o ServiceEndpointPolicyResponseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o ServiceEndpointPolicyResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type ServiceEndpointPolicyResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyResponse)(nil)).Elem() +} + +func (o ServiceEndpointPolicyResponseArrayOutput) ToServiceEndpointPolicyResponseArrayOutput() ServiceEndpointPolicyResponseArrayOutput { + return o +} + +func (o ServiceEndpointPolicyResponseArrayOutput) ToServiceEndpointPolicyResponseArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyResponseArrayOutput { + return o +} + +func (o ServiceEndpointPolicyResponseArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyResponse { + return vs[0].([]ServiceEndpointPolicyResponse)[vs[1].(int)] + }).(ServiceEndpointPolicyResponseOutput) +} + +// Service End point policy resource. +type ServiceEndpointPolicyResponseV1 struct { + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // The provisioning state of the service endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState string `pulumi:"provisioningState"` + // The resource GUID property of the service endpoint policy resource. + ResourceGuid string `pulumi:"resourceGuid"` + // A collection of service endpoint policy definitions of the service endpoint policy. + ServiceEndpointPolicyDefinitions []ServiceEndpointPolicyDefinitionResponseV1 `pulumi:"serviceEndpointPolicyDefinitions"` + // A collection of references to subnets. + Subnets []SubnetResponse `pulumi:"subnets"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` +} + +// Service End point policy resource. +type ServiceEndpointPolicyResponseV1Output struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPolicyResponseV1)(nil)).Elem() +} + +func (o ServiceEndpointPolicyResponseV1Output) ToServiceEndpointPolicyResponseV1Output() ServiceEndpointPolicyResponseV1Output { + return o +} + +func (o ServiceEndpointPolicyResponseV1Output) ToServiceEndpointPolicyResponseV1OutputWithContext(ctx context.Context) ServiceEndpointPolicyResponseV1Output { + return o +} + +// A unique read-only string that changes whenever the resource is updated. +func (o ServiceEndpointPolicyResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o ServiceEndpointPolicyResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o ServiceEndpointPolicyResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o ServiceEndpointPolicyResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) string { return v.Name }).(pulumi.StringOutput) +} + +// The provisioning state of the service endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o ServiceEndpointPolicyResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The resource GUID property of the service endpoint policy resource. +func (o ServiceEndpointPolicyResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// A collection of service endpoint policy definitions of the service endpoint policy. +func (o ServiceEndpointPolicyResponseV1Output) ServiceEndpointPolicyDefinitions() ServiceEndpointPolicyDefinitionResponseV1ArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) []ServiceEndpointPolicyDefinitionResponseV1 { + return v.ServiceEndpointPolicyDefinitions + }).(ServiceEndpointPolicyDefinitionResponseV1ArrayOutput) +} + +// A collection of references to subnets. +func (o ServiceEndpointPolicyResponseV1Output) Subnets() SubnetResponseArrayOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) []SubnetResponse { return v.Subnets }).(SubnetResponseArrayOutput) +} + +// Resource tags. +func (o ServiceEndpointPolicyResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o ServiceEndpointPolicyResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPolicyResponseV1) string { return v.Type }).(pulumi.StringOutput) +} + +type ServiceEndpointPolicyResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPolicyResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPolicyResponseV1)(nil)).Elem() +} + +func (o ServiceEndpointPolicyResponseV1ArrayOutput) ToServiceEndpointPolicyResponseV1ArrayOutput() ServiceEndpointPolicyResponseV1ArrayOutput { + return o +} + +func (o ServiceEndpointPolicyResponseV1ArrayOutput) ToServiceEndpointPolicyResponseV1ArrayOutputWithContext(ctx context.Context) ServiceEndpointPolicyResponseV1ArrayOutput { + return o +} + +func (o ServiceEndpointPolicyResponseV1ArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPolicyResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPolicyResponseV1 { + return vs[0].([]ServiceEndpointPolicyResponseV1)[vs[1].(int)] + }).(ServiceEndpointPolicyResponseV1Output) +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormat struct { + // A list of locations. + Locations []string `pulumi:"locations"` + // SubResource as network identifier. + NetworkIdentifier *SubResource `pulumi:"networkIdentifier"` + // The provisioning state of the resource. + ProvisioningState *string `pulumi:"provisioningState"` + // The type of the endpoint service. + Service *string `pulumi:"service"` +} + +// ServiceEndpointPropertiesFormatInput is an input type that accepts ServiceEndpointPropertiesFormatArgs and ServiceEndpointPropertiesFormatOutput values. +// You can construct a concrete instance of `ServiceEndpointPropertiesFormatInput` via: +// +// ServiceEndpointPropertiesFormatArgs{...} +type ServiceEndpointPropertiesFormatInput interface { + pulumi.Input + + ToServiceEndpointPropertiesFormatOutput() ServiceEndpointPropertiesFormatOutput + ToServiceEndpointPropertiesFormatOutputWithContext(context.Context) ServiceEndpointPropertiesFormatOutput +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormatArgs struct { + // A list of locations. + Locations pulumi.StringArrayInput `pulumi:"locations"` + // SubResource as network identifier. + NetworkIdentifier SubResourcePtrInput `pulumi:"networkIdentifier"` + // The provisioning state of the resource. + ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` + // The type of the endpoint service. + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (ServiceEndpointPropertiesFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPropertiesFormat)(nil)).Elem() +} + +func (i ServiceEndpointPropertiesFormatArgs) ToServiceEndpointPropertiesFormatOutput() ServiceEndpointPropertiesFormatOutput { + return i.ToServiceEndpointPropertiesFormatOutputWithContext(context.Background()) +} + +func (i ServiceEndpointPropertiesFormatArgs) ToServiceEndpointPropertiesFormatOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPropertiesFormatOutput) +} + +// ServiceEndpointPropertiesFormatArrayInput is an input type that accepts ServiceEndpointPropertiesFormatArray and ServiceEndpointPropertiesFormatArrayOutput values. +// You can construct a concrete instance of `ServiceEndpointPropertiesFormatArrayInput` via: +// +// ServiceEndpointPropertiesFormatArray{ ServiceEndpointPropertiesFormatArgs{...} } +type ServiceEndpointPropertiesFormatArrayInput interface { + pulumi.Input + + ToServiceEndpointPropertiesFormatArrayOutput() ServiceEndpointPropertiesFormatArrayOutput + ToServiceEndpointPropertiesFormatArrayOutputWithContext(context.Context) ServiceEndpointPropertiesFormatArrayOutput +} + +type ServiceEndpointPropertiesFormatArray []ServiceEndpointPropertiesFormatInput + +func (ServiceEndpointPropertiesFormatArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPropertiesFormat)(nil)).Elem() +} + +func (i ServiceEndpointPropertiesFormatArray) ToServiceEndpointPropertiesFormatArrayOutput() ServiceEndpointPropertiesFormatArrayOutput { + return i.ToServiceEndpointPropertiesFormatArrayOutputWithContext(context.Background()) +} + +func (i ServiceEndpointPropertiesFormatArray) ToServiceEndpointPropertiesFormatArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceEndpointPropertiesFormatArrayOutput) +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormatOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPropertiesFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPropertiesFormat)(nil)).Elem() +} + +func (o ServiceEndpointPropertiesFormatOutput) ToServiceEndpointPropertiesFormatOutput() ServiceEndpointPropertiesFormatOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatOutput) ToServiceEndpointPropertiesFormatOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatOutput { + return o +} + +// A list of locations. +func (o ServiceEndpointPropertiesFormatOutput) Locations() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormat) []string { return v.Locations }).(pulumi.StringArrayOutput) +} + +// SubResource as network identifier. +func (o ServiceEndpointPropertiesFormatOutput) NetworkIdentifier() SubResourcePtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormat) *SubResource { return v.NetworkIdentifier }).(SubResourcePtrOutput) +} + +// The provisioning state of the resource. +func (o ServiceEndpointPropertiesFormatOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormat) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The type of the endpoint service. +func (o ServiceEndpointPropertiesFormatOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormat) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type ServiceEndpointPropertiesFormatArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPropertiesFormatArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPropertiesFormat)(nil)).Elem() +} + +func (o ServiceEndpointPropertiesFormatArrayOutput) ToServiceEndpointPropertiesFormatArrayOutput() ServiceEndpointPropertiesFormatArrayOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatArrayOutput) ToServiceEndpointPropertiesFormatArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatArrayOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPropertiesFormatOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPropertiesFormat { + return vs[0].([]ServiceEndpointPropertiesFormat)[vs[1].(int)] + }).(ServiceEndpointPropertiesFormatOutput) +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormatResponse struct { + // A list of locations. + Locations []string `pulumi:"locations"` + // SubResource as network identifier. + NetworkIdentifier *SubResourceResponse `pulumi:"networkIdentifier"` + // The provisioning state of the service endpoint resource. + ProvisioningState string `pulumi:"provisioningState"` + // The type of the endpoint service. + Service *string `pulumi:"service"` +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormatResponseOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPropertiesFormatResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPropertiesFormatResponse)(nil)).Elem() +} + +func (o ServiceEndpointPropertiesFormatResponseOutput) ToServiceEndpointPropertiesFormatResponseOutput() ServiceEndpointPropertiesFormatResponseOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatResponseOutput) ToServiceEndpointPropertiesFormatResponseOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatResponseOutput { + return o +} + +// A list of locations. +func (o ServiceEndpointPropertiesFormatResponseOutput) Locations() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) []string { return v.Locations }).(pulumi.StringArrayOutput) +} + +// SubResource as network identifier. +func (o ServiceEndpointPropertiesFormatResponseOutput) NetworkIdentifier() SubResourceResponsePtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) *SubResourceResponse { return v.NetworkIdentifier }).(SubResourceResponsePtrOutput) +} + +// The provisioning state of the service endpoint resource. +func (o ServiceEndpointPropertiesFormatResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The type of the endpoint service. +func (o ServiceEndpointPropertiesFormatResponseOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponse) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type ServiceEndpointPropertiesFormatResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPropertiesFormatResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPropertiesFormatResponse)(nil)).Elem() +} + +func (o ServiceEndpointPropertiesFormatResponseArrayOutput) ToServiceEndpointPropertiesFormatResponseArrayOutput() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatResponseArrayOutput) ToServiceEndpointPropertiesFormatResponseArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatResponseArrayOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatResponseArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPropertiesFormatResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPropertiesFormatResponse { + return vs[0].([]ServiceEndpointPropertiesFormatResponse)[vs[1].(int)] + }).(ServiceEndpointPropertiesFormatResponseOutput) +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormatResponseV1 struct { + // A list of locations. + Locations []string `pulumi:"locations"` + // The provisioning state of the resource. + ProvisioningState *string `pulumi:"provisioningState"` + // The type of the endpoint service. + Service *string `pulumi:"service"` +} + +// The service endpoint properties. +type ServiceEndpointPropertiesFormatResponseV1Output struct{ *pulumi.OutputState } + +func (ServiceEndpointPropertiesFormatResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceEndpointPropertiesFormatResponseV1)(nil)).Elem() +} + +func (o ServiceEndpointPropertiesFormatResponseV1Output) ToServiceEndpointPropertiesFormatResponseV1Output() ServiceEndpointPropertiesFormatResponseV1Output { + return o +} + +func (o ServiceEndpointPropertiesFormatResponseV1Output) ToServiceEndpointPropertiesFormatResponseV1OutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatResponseV1Output { + return o +} + +// A list of locations. +func (o ServiceEndpointPropertiesFormatResponseV1Output) Locations() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponseV1) []string { return v.Locations }).(pulumi.StringArrayOutput) +} + +// The provisioning state of the resource. +func (o ServiceEndpointPropertiesFormatResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// The type of the endpoint service. +func (o ServiceEndpointPropertiesFormatResponseV1Output) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceEndpointPropertiesFormatResponseV1) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type ServiceEndpointPropertiesFormatResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (ServiceEndpointPropertiesFormatResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceEndpointPropertiesFormatResponseV1)(nil)).Elem() +} + +func (o ServiceEndpointPropertiesFormatResponseV1ArrayOutput) ToServiceEndpointPropertiesFormatResponseV1ArrayOutput() ServiceEndpointPropertiesFormatResponseV1ArrayOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatResponseV1ArrayOutput) ToServiceEndpointPropertiesFormatResponseV1ArrayOutputWithContext(ctx context.Context) ServiceEndpointPropertiesFormatResponseV1ArrayOutput { + return o +} + +func (o ServiceEndpointPropertiesFormatResponseV1ArrayOutput) Index(i pulumi.IntInput) ServiceEndpointPropertiesFormatResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceEndpointPropertiesFormatResponseV1 { + return vs[0].([]ServiceEndpointPropertiesFormatResponseV1)[vs[1].(int)] + }).(ServiceEndpointPropertiesFormatResponseV1Output) +} + +// SKU of a service gateway. +type ServiceGatewaySku struct { + // Name of a service gateway SKU. + Name *string `pulumi:"name"` + // Tier of a service gateway SKU. + Tier *string `pulumi:"tier"` +} + +// ServiceGatewaySkuInput is an input type that accepts ServiceGatewaySkuArgs and ServiceGatewaySkuOutput values. +// You can construct a concrete instance of `ServiceGatewaySkuInput` via: +// +// ServiceGatewaySkuArgs{...} +type ServiceGatewaySkuInput interface { + pulumi.Input + + ToServiceGatewaySkuOutput() ServiceGatewaySkuOutput + ToServiceGatewaySkuOutputWithContext(context.Context) ServiceGatewaySkuOutput +} + +// SKU of a service gateway. +type ServiceGatewaySkuArgs struct { + // Name of a service gateway SKU. + Name pulumi.StringPtrInput `pulumi:"name"` + // Tier of a service gateway SKU. + Tier pulumi.StringPtrInput `pulumi:"tier"` +} + +func (ServiceGatewaySkuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceGatewaySku)(nil)).Elem() +} + +func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuOutput() ServiceGatewaySkuOutput { + return i.ToServiceGatewaySkuOutputWithContext(context.Background()) +} + +func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuOutputWithContext(ctx context.Context) ServiceGatewaySkuOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceGatewaySkuOutput) +} + +func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { + return i.ToServiceGatewaySkuPtrOutputWithContext(context.Background()) +} + +func (i ServiceGatewaySkuArgs) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceGatewaySkuOutput).ToServiceGatewaySkuPtrOutputWithContext(ctx) +} + +// ServiceGatewaySkuPtrInput is an input type that accepts ServiceGatewaySkuArgs, ServiceGatewaySkuPtr and ServiceGatewaySkuPtrOutput values. +// You can construct a concrete instance of `ServiceGatewaySkuPtrInput` via: +// +// ServiceGatewaySkuArgs{...} +// +// or: +// +// nil +type ServiceGatewaySkuPtrInput interface { + pulumi.Input + + ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput + ToServiceGatewaySkuPtrOutputWithContext(context.Context) ServiceGatewaySkuPtrOutput +} + +type serviceGatewaySkuPtrType ServiceGatewaySkuArgs + +func ServiceGatewaySkuPtr(v *ServiceGatewaySkuArgs) ServiceGatewaySkuPtrInput { + return (*serviceGatewaySkuPtrType)(v) +} + +func (*serviceGatewaySkuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceGatewaySku)(nil)).Elem() +} + +func (i *serviceGatewaySkuPtrType) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { + return i.ToServiceGatewaySkuPtrOutputWithContext(context.Background()) +} + +func (i *serviceGatewaySkuPtrType) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceGatewaySkuPtrOutput) +} + +// SKU of a service gateway. +type ServiceGatewaySkuOutput struct{ *pulumi.OutputState } + +func (ServiceGatewaySkuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceGatewaySku)(nil)).Elem() +} + +func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuOutput() ServiceGatewaySkuOutput { + return o +} + +func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuOutputWithContext(ctx context.Context) ServiceGatewaySkuOutput { + return o +} + +func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { + return o.ToServiceGatewaySkuPtrOutputWithContext(context.Background()) +} + +func (o ServiceGatewaySkuOutput) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceGatewaySku) *ServiceGatewaySku { + return &v + }).(ServiceGatewaySkuPtrOutput) +} + +// Name of a service gateway SKU. +func (o ServiceGatewaySkuOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceGatewaySku) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Tier of a service gateway SKU. +func (o ServiceGatewaySkuOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceGatewaySku) *string { return v.Tier }).(pulumi.StringPtrOutput) +} + +type ServiceGatewaySkuPtrOutput struct{ *pulumi.OutputState } + +func (ServiceGatewaySkuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceGatewaySku)(nil)).Elem() +} + +func (o ServiceGatewaySkuPtrOutput) ToServiceGatewaySkuPtrOutput() ServiceGatewaySkuPtrOutput { + return o +} + +func (o ServiceGatewaySkuPtrOutput) ToServiceGatewaySkuPtrOutputWithContext(ctx context.Context) ServiceGatewaySkuPtrOutput { + return o +} + +func (o ServiceGatewaySkuPtrOutput) Elem() ServiceGatewaySkuOutput { + return o.ApplyT(func(v *ServiceGatewaySku) ServiceGatewaySku { + if v != nil { + return *v + } + var ret ServiceGatewaySku + return ret + }).(ServiceGatewaySkuOutput) +} + +// Name of a service gateway SKU. +func (o ServiceGatewaySkuPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceGatewaySku) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Tier of a service gateway SKU. +func (o ServiceGatewaySkuPtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceGatewaySku) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) +} + +// SKU of a service gateway. +type ServiceGatewaySkuResponse struct { + // Name of a service gateway SKU. + Name *string `pulumi:"name"` + // Tier of a service gateway SKU. + Tier *string `pulumi:"tier"` +} + +// SKU of a service gateway. +type ServiceGatewaySkuResponseOutput struct{ *pulumi.OutputState } + +func (ServiceGatewaySkuResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceGatewaySkuResponse)(nil)).Elem() +} + +func (o ServiceGatewaySkuResponseOutput) ToServiceGatewaySkuResponseOutput() ServiceGatewaySkuResponseOutput { + return o +} + +func (o ServiceGatewaySkuResponseOutput) ToServiceGatewaySkuResponseOutputWithContext(ctx context.Context) ServiceGatewaySkuResponseOutput { + return o +} + +// Name of a service gateway SKU. +func (o ServiceGatewaySkuResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceGatewaySkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Tier of a service gateway SKU. +func (o ServiceGatewaySkuResponseOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceGatewaySkuResponse) *string { return v.Tier }).(pulumi.StringPtrOutput) +} + +type ServiceGatewaySkuResponsePtrOutput struct{ *pulumi.OutputState } + +func (ServiceGatewaySkuResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceGatewaySkuResponse)(nil)).Elem() +} + +func (o ServiceGatewaySkuResponsePtrOutput) ToServiceGatewaySkuResponsePtrOutput() ServiceGatewaySkuResponsePtrOutput { + return o +} + +func (o ServiceGatewaySkuResponsePtrOutput) ToServiceGatewaySkuResponsePtrOutputWithContext(ctx context.Context) ServiceGatewaySkuResponsePtrOutput { + return o +} + +func (o ServiceGatewaySkuResponsePtrOutput) Elem() ServiceGatewaySkuResponseOutput { + return o.ApplyT(func(v *ServiceGatewaySkuResponse) ServiceGatewaySkuResponse { + if v != nil { + return *v + } + var ret ServiceGatewaySkuResponse + return ret + }).(ServiceGatewaySkuResponseOutput) +} + +// Name of a service gateway SKU. +func (o ServiceGatewaySkuResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceGatewaySkuResponse) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Tier of a service gateway SKU. +func (o ServiceGatewaySkuResponsePtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceGatewaySkuResponse) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) +} + +// Parameters for SharedKey. +type SharedKeyPropertiesResponse struct { + // The provisioning state of the SharedKey resource. + ProvisioningState string `pulumi:"provisioningState"` + // The value of the shared key for the vpn link connection. + SharedKey *string `pulumi:"sharedKey"` + // The length of the shared key for the vpn link connection. + SharedKeyLength *int `pulumi:"sharedKeyLength"` +} + +// Parameters for SharedKey. +type SharedKeyPropertiesResponseOutput struct{ *pulumi.OutputState } + +func (SharedKeyPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SharedKeyPropertiesResponse)(nil)).Elem() +} + +func (o SharedKeyPropertiesResponseOutput) ToSharedKeyPropertiesResponseOutput() SharedKeyPropertiesResponseOutput { + return o +} + +func (o SharedKeyPropertiesResponseOutput) ToSharedKeyPropertiesResponseOutputWithContext(ctx context.Context) SharedKeyPropertiesResponseOutput { + return o +} + +// The provisioning state of the SharedKey resource. +func (o SharedKeyPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v SharedKeyPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The value of the shared key for the vpn link connection. +func (o SharedKeyPropertiesResponseOutput) SharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v SharedKeyPropertiesResponse) *string { return v.SharedKey }).(pulumi.StringPtrOutput) +} + +// The length of the shared key for the vpn link connection. +func (o SharedKeyPropertiesResponseOutput) SharedKeyLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v SharedKeyPropertiesResponse) *int { return v.SharedKeyLength }).(pulumi.IntPtrOutput) +} + +type SingleQueryResultResponse struct { + // Describes what is the signature enforces + Description *string `pulumi:"description"` + // Describes the list of destination ports related to this signature + DestinationPorts []string `pulumi:"destinationPorts"` + // Describes in which direction signature is being enforced: 0 - OutBound, 1 - InBound, 2 - Any, 3 - Internal, 4 - InternalOutbound, 5 - InternalInbound + Direction *int `pulumi:"direction"` + // Describes the groups the signature belongs to + Group *string `pulumi:"group"` + // Describes if this override is inherited from base policy or not + InheritedFromParentPolicy *bool `pulumi:"inheritedFromParentPolicy"` + // Describes the last updated time of the signature (provided from 3rd party vendor) + LastUpdated *string `pulumi:"lastUpdated"` + // The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny + Mode *int `pulumi:"mode"` + // Describes the protocol the signatures is being enforced in + Protocol *string `pulumi:"protocol"` + // Describes the severity of signature: 1 - High, 2 - Medium, 3 - Low + Severity *int `pulumi:"severity"` + // The ID of the signature + SignatureId *int `pulumi:"signatureId"` + // Describes the list of source ports related to this signature + SourcePorts []string `pulumi:"sourcePorts"` +} + +type SingleQueryResultResponseOutput struct{ *pulumi.OutputState } + +func (SingleQueryResultResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SingleQueryResultResponse)(nil)).Elem() +} + +func (o SingleQueryResultResponseOutput) ToSingleQueryResultResponseOutput() SingleQueryResultResponseOutput { + return o +} + +func (o SingleQueryResultResponseOutput) ToSingleQueryResultResponseOutputWithContext(ctx context.Context) SingleQueryResultResponseOutput { + return o +} + +// Describes what is the signature enforces +func (o SingleQueryResultResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Describes the list of destination ports related to this signature +func (o SingleQueryResultResponseOutput) DestinationPorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v SingleQueryResultResponse) []string { return v.DestinationPorts }).(pulumi.StringArrayOutput) +} + +// Describes in which direction signature is being enforced: 0 - OutBound, 1 - InBound, 2 - Any, 3 - Internal, 4 - InternalOutbound, 5 - InternalInbound +func (o SingleQueryResultResponseOutput) Direction() pulumi.IntPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.Direction }).(pulumi.IntPtrOutput) +} + +// Describes the groups the signature belongs to +func (o SingleQueryResultResponseOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.Group }).(pulumi.StringPtrOutput) +} + +// Describes if this override is inherited from base policy or not +func (o SingleQueryResultResponseOutput) InheritedFromParentPolicy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *bool { return v.InheritedFromParentPolicy }).(pulumi.BoolPtrOutput) +} + +// Describes the last updated time of the signature (provided from 3rd party vendor) +func (o SingleQueryResultResponseOutput) LastUpdated() pulumi.StringPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.LastUpdated }).(pulumi.StringPtrOutput) +} + +// The current mode enforced, 0 - Disabled, 1 - Alert, 2 -Deny +func (o SingleQueryResultResponseOutput) Mode() pulumi.IntPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.Mode }).(pulumi.IntPtrOutput) +} + +// Describes the protocol the signatures is being enforced in +func (o SingleQueryResultResponseOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// Describes the severity of signature: 1 - High, 2 - Medium, 3 - Low +func (o SingleQueryResultResponseOutput) Severity() pulumi.IntPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.Severity }).(pulumi.IntPtrOutput) +} + +// The ID of the signature +func (o SingleQueryResultResponseOutput) SignatureId() pulumi.IntPtrOutput { + return o.ApplyT(func(v SingleQueryResultResponse) *int { return v.SignatureId }).(pulumi.IntPtrOutput) +} + +// Describes the list of source ports related to this signature +func (o SingleQueryResultResponseOutput) SourcePorts() pulumi.StringArrayOutput { + return o.ApplyT(func(v SingleQueryResultResponse) []string { return v.SourcePorts }).(pulumi.StringArrayOutput) +} + +type SingleQueryResultResponseArrayOutput struct{ *pulumi.OutputState } + +func (SingleQueryResultResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SingleQueryResultResponse)(nil)).Elem() +} + +func (o SingleQueryResultResponseArrayOutput) ToSingleQueryResultResponseArrayOutput() SingleQueryResultResponseArrayOutput { + return o +} + +func (o SingleQueryResultResponseArrayOutput) ToSingleQueryResultResponseArrayOutputWithContext(ctx context.Context) SingleQueryResultResponseArrayOutput { + return o +} + +func (o SingleQueryResultResponseArrayOutput) Index(i pulumi.IntInput) SingleQueryResultResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SingleQueryResultResponse { + return vs[0].([]SingleQueryResultResponse)[vs[1].(int)] + }).(SingleQueryResultResponseOutput) +} + +// The sku of this Bastion Host. +type Sku struct { + // The name of the sku of this Bastion Host. + Name *string `pulumi:"name"` +} + +// Defaults sets the appropriate defaults for Sku +func (val *Sku) Defaults() *Sku { + if val == nil { + return nil + } + tmp := *val + if tmp.Name == nil { + name_ := "Standard" + tmp.Name = &name_ + } + return &tmp +} + +// SkuInput is an input type that accepts SkuArgs and SkuOutput values. +// You can construct a concrete instance of `SkuInput` via: +// +// SkuArgs{...} +type SkuInput interface { + pulumi.Input + + ToSkuOutput() SkuOutput + ToSkuOutputWithContext(context.Context) SkuOutput +} + +// The sku of this Bastion Host. +type SkuArgs struct { + // The name of the sku of this Bastion Host. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +// Defaults sets the appropriate defaults for SkuArgs +func (val *SkuArgs) Defaults() *SkuArgs { + if val == nil { + return nil + } + tmp := *val + if tmp.Name == nil { + tmp.Name = pulumi.StringPtr("Standard") + } + return &tmp +} +func (SkuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Sku)(nil)).Elem() +} + +func (i SkuArgs) ToSkuOutput() SkuOutput { + return i.ToSkuOutputWithContext(context.Background()) +} + +func (i SkuArgs) ToSkuOutputWithContext(ctx context.Context) SkuOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkuOutput) +} + +func (i SkuArgs) ToSkuPtrOutput() SkuPtrOutput { + return i.ToSkuPtrOutputWithContext(context.Background()) +} + +func (i SkuArgs) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkuOutput).ToSkuPtrOutputWithContext(ctx) +} + +// SkuPtrInput is an input type that accepts SkuArgs, SkuPtr and SkuPtrOutput values. +// You can construct a concrete instance of `SkuPtrInput` via: +// +// SkuArgs{...} +// +// or: +// +// nil +type SkuPtrInput interface { + pulumi.Input + + ToSkuPtrOutput() SkuPtrOutput + ToSkuPtrOutputWithContext(context.Context) SkuPtrOutput +} + +type skuPtrType SkuArgs + +func SkuPtr(v *SkuArgs) SkuPtrInput { + return (*skuPtrType)(v) +} + +func (*skuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Sku)(nil)).Elem() +} + +func (i *skuPtrType) ToSkuPtrOutput() SkuPtrOutput { + return i.ToSkuPtrOutputWithContext(context.Background()) +} + +func (i *skuPtrType) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkuPtrOutput) +} + +// The sku of this Bastion Host. +type SkuOutput struct{ *pulumi.OutputState } + +func (SkuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Sku)(nil)).Elem() +} + +func (o SkuOutput) ToSkuOutput() SkuOutput { + return o +} + +func (o SkuOutput) ToSkuOutputWithContext(ctx context.Context) SkuOutput { + return o +} + +func (o SkuOutput) ToSkuPtrOutput() SkuPtrOutput { + return o.ToSkuPtrOutputWithContext(context.Background()) +} + +func (o SkuOutput) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Sku) *Sku { + return &v + }).(SkuPtrOutput) +} + +// The name of the sku of this Bastion Host. +func (o SkuOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v Sku) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type SkuPtrOutput struct{ *pulumi.OutputState } + +func (SkuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Sku)(nil)).Elem() +} + +func (o SkuPtrOutput) ToSkuPtrOutput() SkuPtrOutput { + return o +} + +func (o SkuPtrOutput) ToSkuPtrOutputWithContext(ctx context.Context) SkuPtrOutput { + return o +} + +func (o SkuPtrOutput) Elem() SkuOutput { + return o.ApplyT(func(v *Sku) Sku { + if v != nil { + return *v + } + var ret Sku + return ret + }).(SkuOutput) +} + +// The name of the sku of this Bastion Host. +func (o SkuPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Sku) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// The sku of this Bastion Host. +type SkuResponse struct { + // The name of the sku of this Bastion Host. + Name *string `pulumi:"name"` +} + +// Defaults sets the appropriate defaults for SkuResponse +func (val *SkuResponse) Defaults() *SkuResponse { + if val == nil { + return nil + } + tmp := *val + if tmp.Name == nil { + name_ := "Standard" + tmp.Name = &name_ + } + return &tmp +} + +// The sku of this Bastion Host. +type SkuResponseOutput struct{ *pulumi.OutputState } + +func (SkuResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkuResponse)(nil)).Elem() +} + +func (o SkuResponseOutput) ToSkuResponseOutput() SkuResponseOutput { + return o +} + +func (o SkuResponseOutput) ToSkuResponseOutputWithContext(ctx context.Context) SkuResponseOutput { + return o +} + +// The name of the sku of this Bastion Host. +func (o SkuResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkuResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type SkuResponsePtrOutput struct{ *pulumi.OutputState } + +func (SkuResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkuResponse)(nil)).Elem() +} + +func (o SkuResponsePtrOutput) ToSkuResponsePtrOutput() SkuResponsePtrOutput { + return o +} + +func (o SkuResponsePtrOutput) ToSkuResponsePtrOutputWithContext(ctx context.Context) SkuResponsePtrOutput { + return o +} + +func (o SkuResponsePtrOutput) Elem() SkuResponseOutput { + return o.ApplyT(func(v *SkuResponse) SkuResponse { + if v != nil { + return *v + } + var ret SkuResponse + return ret + }).(SkuResponseOutput) +} + +// The name of the sku of this Bastion Host. +func (o SkuResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkuResponse) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Properties of static CIDR resource. +type StaticCidrProperties struct { + // List of IP address prefixes of the resource. + AddressPrefixes []string `pulumi:"addressPrefixes"` + Description *string `pulumi:"description"` + // Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. + NumberOfIPAddressesToAllocate *string `pulumi:"numberOfIPAddressesToAllocate"` +} + +// StaticCidrPropertiesInput is an input type that accepts StaticCidrPropertiesArgs and StaticCidrPropertiesOutput values. +// You can construct a concrete instance of `StaticCidrPropertiesInput` via: +// +// StaticCidrPropertiesArgs{...} +type StaticCidrPropertiesInput interface { + pulumi.Input + + ToStaticCidrPropertiesOutput() StaticCidrPropertiesOutput + ToStaticCidrPropertiesOutputWithContext(context.Context) StaticCidrPropertiesOutput +} + +// Properties of static CIDR resource. +type StaticCidrPropertiesArgs struct { + // List of IP address prefixes of the resource. + AddressPrefixes pulumi.StringArrayInput `pulumi:"addressPrefixes"` + Description pulumi.StringPtrInput `pulumi:"description"` + // Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. + NumberOfIPAddressesToAllocate pulumi.StringPtrInput `pulumi:"numberOfIPAddressesToAllocate"` +} + +func (StaticCidrPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticCidrProperties)(nil)).Elem() +} + +func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesOutput() StaticCidrPropertiesOutput { + return i.ToStaticCidrPropertiesOutputWithContext(context.Background()) +} + +func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesOutputWithContext(ctx context.Context) StaticCidrPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticCidrPropertiesOutput) +} + +func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { + return i.ToStaticCidrPropertiesPtrOutputWithContext(context.Background()) +} + +func (i StaticCidrPropertiesArgs) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticCidrPropertiesOutput).ToStaticCidrPropertiesPtrOutputWithContext(ctx) +} + +// StaticCidrPropertiesPtrInput is an input type that accepts StaticCidrPropertiesArgs, StaticCidrPropertiesPtr and StaticCidrPropertiesPtrOutput values. +// You can construct a concrete instance of `StaticCidrPropertiesPtrInput` via: +// +// StaticCidrPropertiesArgs{...} +// +// or: +// +// nil +type StaticCidrPropertiesPtrInput interface { + pulumi.Input + + ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput + ToStaticCidrPropertiesPtrOutputWithContext(context.Context) StaticCidrPropertiesPtrOutput +} + +type staticCidrPropertiesPtrType StaticCidrPropertiesArgs + +func StaticCidrPropertiesPtr(v *StaticCidrPropertiesArgs) StaticCidrPropertiesPtrInput { + return (*staticCidrPropertiesPtrType)(v) +} + +func (*staticCidrPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StaticCidrProperties)(nil)).Elem() +} + +func (i *staticCidrPropertiesPtrType) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { + return i.ToStaticCidrPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *staticCidrPropertiesPtrType) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticCidrPropertiesPtrOutput) +} + +// Properties of static CIDR resource. +type StaticCidrPropertiesOutput struct{ *pulumi.OutputState } + +func (StaticCidrPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticCidrProperties)(nil)).Elem() +} + +func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesOutput() StaticCidrPropertiesOutput { + return o +} + +func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesOutputWithContext(ctx context.Context) StaticCidrPropertiesOutput { + return o +} + +func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { + return o.ToStaticCidrPropertiesPtrOutputWithContext(context.Background()) +} + +func (o StaticCidrPropertiesOutput) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticCidrProperties) *StaticCidrProperties { + return &v + }).(StaticCidrPropertiesPtrOutput) +} + +// List of IP address prefixes of the resource. +func (o StaticCidrPropertiesOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v StaticCidrProperties) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +func (o StaticCidrPropertiesOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticCidrProperties) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. +func (o StaticCidrPropertiesOutput) NumberOfIPAddressesToAllocate() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticCidrProperties) *string { return v.NumberOfIPAddressesToAllocate }).(pulumi.StringPtrOutput) +} + +type StaticCidrPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (StaticCidrPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticCidrProperties)(nil)).Elem() +} + +func (o StaticCidrPropertiesPtrOutput) ToStaticCidrPropertiesPtrOutput() StaticCidrPropertiesPtrOutput { + return o +} + +func (o StaticCidrPropertiesPtrOutput) ToStaticCidrPropertiesPtrOutputWithContext(ctx context.Context) StaticCidrPropertiesPtrOutput { + return o +} + +func (o StaticCidrPropertiesPtrOutput) Elem() StaticCidrPropertiesOutput { + return o.ApplyT(func(v *StaticCidrProperties) StaticCidrProperties { + if v != nil { + return *v + } + var ret StaticCidrProperties + return ret + }).(StaticCidrPropertiesOutput) +} + +// List of IP address prefixes of the resource. +func (o StaticCidrPropertiesPtrOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StaticCidrProperties) []string { + if v == nil { + return nil + } + return v.AddressPrefixes + }).(pulumi.StringArrayOutput) +} + +func (o StaticCidrPropertiesPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StaticCidrProperties) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. +func (o StaticCidrPropertiesPtrOutput) NumberOfIPAddressesToAllocate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StaticCidrProperties) *string { + if v == nil { + return nil + } + return v.NumberOfIPAddressesToAllocate + }).(pulumi.StringPtrOutput) +} + +// Properties of static CIDR resource. +type StaticCidrPropertiesResponse struct { + // List of IP address prefixes of the resource. + AddressPrefixes []string `pulumi:"addressPrefixes"` + Description *string `pulumi:"description"` + // Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. + NumberOfIPAddressesToAllocate *string `pulumi:"numberOfIPAddressesToAllocate"` + // Provisioning states of a resource. + ProvisioningState string `pulumi:"provisioningState"` + // Total number of IP addresses allocated for the static CIDR resource. + TotalNumberOfIPAddresses string `pulumi:"totalNumberOfIPAddresses"` +} + +// Properties of static CIDR resource. +type StaticCidrPropertiesResponseOutput struct{ *pulumi.OutputState } + +func (StaticCidrPropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticCidrPropertiesResponse)(nil)).Elem() +} + +func (o StaticCidrPropertiesResponseOutput) ToStaticCidrPropertiesResponseOutput() StaticCidrPropertiesResponseOutput { + return o +} + +func (o StaticCidrPropertiesResponseOutput) ToStaticCidrPropertiesResponseOutputWithContext(ctx context.Context) StaticCidrPropertiesResponseOutput { + return o +} + +// List of IP address prefixes of the resource. +func (o StaticCidrPropertiesResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v StaticCidrPropertiesResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +func (o StaticCidrPropertiesResponseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticCidrPropertiesResponse) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. +func (o StaticCidrPropertiesResponseOutput) NumberOfIPAddressesToAllocate() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticCidrPropertiesResponse) *string { return v.NumberOfIPAddressesToAllocate }).(pulumi.StringPtrOutput) +} + +// Provisioning states of a resource. +func (o StaticCidrPropertiesResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v StaticCidrPropertiesResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// Total number of IP addresses allocated for the static CIDR resource. +func (o StaticCidrPropertiesResponseOutput) TotalNumberOfIPAddresses() pulumi.StringOutput { + return o.ApplyT(func(v StaticCidrPropertiesResponse) string { return v.TotalNumberOfIPAddresses }).(pulumi.StringOutput) +} + +// List of all Static Routes. +type StaticRoute struct { + // List of all address prefixes. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // The name of the StaticRoute that is unique within a VnetRoute. + Name *string `pulumi:"name"` + // The ip address of the next hop. + NextHopIpAddress *string `pulumi:"nextHopIpAddress"` +} + +// StaticRouteInput is an input type that accepts StaticRouteArgs and StaticRouteOutput values. +// You can construct a concrete instance of `StaticRouteInput` via: +// +// StaticRouteArgs{...} +type StaticRouteInput interface { + pulumi.Input + + ToStaticRouteOutput() StaticRouteOutput + ToStaticRouteOutputWithContext(context.Context) StaticRouteOutput +} + +// List of all Static Routes. +type StaticRouteArgs struct { + // List of all address prefixes. + AddressPrefixes pulumi.StringArrayInput `pulumi:"addressPrefixes"` + // The name of the StaticRoute that is unique within a VnetRoute. + Name pulumi.StringPtrInput `pulumi:"name"` + // The ip address of the next hop. + NextHopIpAddress pulumi.StringPtrInput `pulumi:"nextHopIpAddress"` +} + +func (StaticRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticRoute)(nil)).Elem() +} + +func (i StaticRouteArgs) ToStaticRouteOutput() StaticRouteOutput { + return i.ToStaticRouteOutputWithContext(context.Background()) +} + +func (i StaticRouteArgs) ToStaticRouteOutputWithContext(ctx context.Context) StaticRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticRouteOutput) +} + +// StaticRouteArrayInput is an input type that accepts StaticRouteArray and StaticRouteArrayOutput values. +// You can construct a concrete instance of `StaticRouteArrayInput` via: +// +// StaticRouteArray{ StaticRouteArgs{...} } +type StaticRouteArrayInput interface { + pulumi.Input + + ToStaticRouteArrayOutput() StaticRouteArrayOutput + ToStaticRouteArrayOutputWithContext(context.Context) StaticRouteArrayOutput +} + +type StaticRouteArray []StaticRouteInput + +func (StaticRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticRoute)(nil)).Elem() +} + +func (i StaticRouteArray) ToStaticRouteArrayOutput() StaticRouteArrayOutput { + return i.ToStaticRouteArrayOutputWithContext(context.Background()) +} + +func (i StaticRouteArray) ToStaticRouteArrayOutputWithContext(ctx context.Context) StaticRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticRouteArrayOutput) +} + +// List of all Static Routes. +type StaticRouteOutput struct{ *pulumi.OutputState } + +func (StaticRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticRoute)(nil)).Elem() +} + +func (o StaticRouteOutput) ToStaticRouteOutput() StaticRouteOutput { + return o +} + +func (o StaticRouteOutput) ToStaticRouteOutputWithContext(ctx context.Context) StaticRouteOutput { + return o +} + +// List of all address prefixes. +func (o StaticRouteOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v StaticRoute) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The name of the StaticRoute that is unique within a VnetRoute. +func (o StaticRouteOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticRoute) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The ip address of the next hop. +func (o StaticRouteOutput) NextHopIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticRoute) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +} + +type StaticRouteArrayOutput struct{ *pulumi.OutputState } + +func (StaticRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticRoute)(nil)).Elem() +} + +func (o StaticRouteArrayOutput) ToStaticRouteArrayOutput() StaticRouteArrayOutput { + return o +} + +func (o StaticRouteArrayOutput) ToStaticRouteArrayOutputWithContext(ctx context.Context) StaticRouteArrayOutput { + return o +} + +func (o StaticRouteArrayOutput) Index(i pulumi.IntInput) StaticRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticRoute { + return vs[0].([]StaticRoute)[vs[1].(int)] + }).(StaticRouteOutput) +} + +// List of all Static Routes. +type StaticRouteResponse struct { + // List of all address prefixes. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // The name of the StaticRoute that is unique within a VnetRoute. + Name *string `pulumi:"name"` + // The ip address of the next hop. + NextHopIpAddress *string `pulumi:"nextHopIpAddress"` +} + +// List of all Static Routes. +type StaticRouteResponseOutput struct{ *pulumi.OutputState } + +func (StaticRouteResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticRouteResponse)(nil)).Elem() +} + +func (o StaticRouteResponseOutput) ToStaticRouteResponseOutput() StaticRouteResponseOutput { + return o +} + +func (o StaticRouteResponseOutput) ToStaticRouteResponseOutputWithContext(ctx context.Context) StaticRouteResponseOutput { + return o +} + +// List of all address prefixes. +func (o StaticRouteResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v StaticRouteResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +// The name of the StaticRoute that is unique within a VnetRoute. +func (o StaticRouteResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticRouteResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The ip address of the next hop. +func (o StaticRouteResponseOutput) NextHopIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticRouteResponse) *string { return v.NextHopIpAddress }).(pulumi.StringPtrOutput) +} + +type StaticRouteResponseArrayOutput struct{ *pulumi.OutputState } + +func (StaticRouteResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StaticRouteResponse)(nil)).Elem() +} + +func (o StaticRouteResponseArrayOutput) ToStaticRouteResponseArrayOutput() StaticRouteResponseArrayOutput { + return o +} + +func (o StaticRouteResponseArrayOutput) ToStaticRouteResponseArrayOutputWithContext(ctx context.Context) StaticRouteResponseArrayOutput { + return o +} + +func (o StaticRouteResponseArrayOutput) Index(i pulumi.IntInput) StaticRouteResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StaticRouteResponse { + return vs[0].([]StaticRouteResponse)[vs[1].(int)] + }).(StaticRouteResponseOutput) +} + +// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. +type StaticRoutesConfig struct { + // Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. + VnetLocalRouteOverrideCriteria *string `pulumi:"vnetLocalRouteOverrideCriteria"` +} + +// StaticRoutesConfigInput is an input type that accepts StaticRoutesConfigArgs and StaticRoutesConfigOutput values. +// You can construct a concrete instance of `StaticRoutesConfigInput` via: +// +// StaticRoutesConfigArgs{...} +type StaticRoutesConfigInput interface { + pulumi.Input + + ToStaticRoutesConfigOutput() StaticRoutesConfigOutput + ToStaticRoutesConfigOutputWithContext(context.Context) StaticRoutesConfigOutput +} + +// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. +type StaticRoutesConfigArgs struct { + // Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. + VnetLocalRouteOverrideCriteria pulumi.StringPtrInput `pulumi:"vnetLocalRouteOverrideCriteria"` +} + +func (StaticRoutesConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StaticRoutesConfig)(nil)).Elem() +} + +func (i StaticRoutesConfigArgs) ToStaticRoutesConfigOutput() StaticRoutesConfigOutput { + return i.ToStaticRoutesConfigOutputWithContext(context.Background()) +} + +func (i StaticRoutesConfigArgs) ToStaticRoutesConfigOutputWithContext(ctx context.Context) StaticRoutesConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticRoutesConfigOutput) +} + +func (i StaticRoutesConfigArgs) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { + return i.ToStaticRoutesConfigPtrOutputWithContext(context.Background()) +} + +func (i StaticRoutesConfigArgs) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticRoutesConfigOutput).ToStaticRoutesConfigPtrOutputWithContext(ctx) +} + +// StaticRoutesConfigPtrInput is an input type that accepts StaticRoutesConfigArgs, StaticRoutesConfigPtr and StaticRoutesConfigPtrOutput values. +// You can construct a concrete instance of `StaticRoutesConfigPtrInput` via: +// +// StaticRoutesConfigArgs{...} +// +// or: +// +// nil +type StaticRoutesConfigPtrInput interface { + pulumi.Input + + ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput + ToStaticRoutesConfigPtrOutputWithContext(context.Context) StaticRoutesConfigPtrOutput +} + +type staticRoutesConfigPtrType StaticRoutesConfigArgs + +func StaticRoutesConfigPtr(v *StaticRoutesConfigArgs) StaticRoutesConfigPtrInput { + return (*staticRoutesConfigPtrType)(v) +} + +func (*staticRoutesConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StaticRoutesConfig)(nil)).Elem() +} + +func (i *staticRoutesConfigPtrType) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { + return i.ToStaticRoutesConfigPtrOutputWithContext(context.Background()) +} + +func (i *staticRoutesConfigPtrType) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StaticRoutesConfigPtrOutput) +} + +// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. +type StaticRoutesConfigOutput struct{ *pulumi.OutputState } + +func (StaticRoutesConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticRoutesConfig)(nil)).Elem() +} + +func (o StaticRoutesConfigOutput) ToStaticRoutesConfigOutput() StaticRoutesConfigOutput { + return o +} + +func (o StaticRoutesConfigOutput) ToStaticRoutesConfigOutputWithContext(ctx context.Context) StaticRoutesConfigOutput { + return o +} + +func (o StaticRoutesConfigOutput) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { + return o.ToStaticRoutesConfigPtrOutputWithContext(context.Background()) +} + +func (o StaticRoutesConfigOutput) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StaticRoutesConfig) *StaticRoutesConfig { + return &v + }).(StaticRoutesConfigPtrOutput) +} + +// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. +func (o StaticRoutesConfigOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticRoutesConfig) *string { return v.VnetLocalRouteOverrideCriteria }).(pulumi.StringPtrOutput) +} + +type StaticRoutesConfigPtrOutput struct{ *pulumi.OutputState } + +func (StaticRoutesConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticRoutesConfig)(nil)).Elem() +} + +func (o StaticRoutesConfigPtrOutput) ToStaticRoutesConfigPtrOutput() StaticRoutesConfigPtrOutput { + return o +} + +func (o StaticRoutesConfigPtrOutput) ToStaticRoutesConfigPtrOutputWithContext(ctx context.Context) StaticRoutesConfigPtrOutput { + return o +} + +func (o StaticRoutesConfigPtrOutput) Elem() StaticRoutesConfigOutput { + return o.ApplyT(func(v *StaticRoutesConfig) StaticRoutesConfig { + if v != nil { + return *v + } + var ret StaticRoutesConfig + return ret + }).(StaticRoutesConfigOutput) +} + +// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. +func (o StaticRoutesConfigPtrOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StaticRoutesConfig) *string { + if v == nil { + return nil + } + return v.VnetLocalRouteOverrideCriteria + }).(pulumi.StringPtrOutput) +} + +// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. +type StaticRoutesConfigResponse struct { + // Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. + PropagateStaticRoutes bool `pulumi:"propagateStaticRoutes"` + // Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. + VnetLocalRouteOverrideCriteria *string `pulumi:"vnetLocalRouteOverrideCriteria"` +} + +// Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. +type StaticRoutesConfigResponseOutput struct{ *pulumi.OutputState } + +func (StaticRoutesConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StaticRoutesConfigResponse)(nil)).Elem() +} + +func (o StaticRoutesConfigResponseOutput) ToStaticRoutesConfigResponseOutput() StaticRoutesConfigResponseOutput { + return o +} + +func (o StaticRoutesConfigResponseOutput) ToStaticRoutesConfigResponseOutputWithContext(ctx context.Context) StaticRoutesConfigResponseOutput { + return o +} + +// Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. +func (o StaticRoutesConfigResponseOutput) PropagateStaticRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v StaticRoutesConfigResponse) bool { return v.PropagateStaticRoutes }).(pulumi.BoolOutput) +} + +// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. +func (o StaticRoutesConfigResponseOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v StaticRoutesConfigResponse) *string { return v.VnetLocalRouteOverrideCriteria }).(pulumi.StringPtrOutput) +} + +type StaticRoutesConfigResponsePtrOutput struct{ *pulumi.OutputState } + +func (StaticRoutesConfigResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StaticRoutesConfigResponse)(nil)).Elem() +} + +func (o StaticRoutesConfigResponsePtrOutput) ToStaticRoutesConfigResponsePtrOutput() StaticRoutesConfigResponsePtrOutput { + return o +} + +func (o StaticRoutesConfigResponsePtrOutput) ToStaticRoutesConfigResponsePtrOutputWithContext(ctx context.Context) StaticRoutesConfigResponsePtrOutput { + return o +} + +func (o StaticRoutesConfigResponsePtrOutput) Elem() StaticRoutesConfigResponseOutput { + return o.ApplyT(func(v *StaticRoutesConfigResponse) StaticRoutesConfigResponse { + if v != nil { + return *v + } + var ret StaticRoutesConfigResponse + return ret + }).(StaticRoutesConfigResponseOutput) +} + +// Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. +func (o StaticRoutesConfigResponsePtrOutput) PropagateStaticRoutes() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StaticRoutesConfigResponse) *bool { + if v == nil { + return nil + } + return &v.PropagateStaticRoutes + }).(pulumi.BoolPtrOutput) +} + +// Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. +func (o StaticRoutesConfigResponsePtrOutput) VnetLocalRouteOverrideCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StaticRoutesConfigResponse) *string { + if v == nil { + return nil + } + return v.VnetLocalRouteOverrideCriteria + }).(pulumi.StringPtrOutput) +} + +// Reference to another subresource. +type SubResource struct { + // Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. + // An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. + // A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. + // Example of a relative ID: $self/frontEndConfigurations/my-frontend. + Id *string `pulumi:"id"` +} + +// SubResourceInput is an input type that accepts SubResourceArgs and SubResourceOutput values. +// You can construct a concrete instance of `SubResourceInput` via: +// +// SubResourceArgs{...} +type SubResourceInput interface { + pulumi.Input + + ToSubResourceOutput() SubResourceOutput + ToSubResourceOutputWithContext(context.Context) SubResourceOutput +} + +// Reference to another subresource. +type SubResourceArgs struct { + // Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. + // An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. + // A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. + // Example of a relative ID: $self/frontEndConfigurations/my-frontend. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (SubResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SubResource)(nil)).Elem() +} + +func (i SubResourceArgs) ToSubResourceOutput() SubResourceOutput { + return i.ToSubResourceOutputWithContext(context.Background()) +} + +func (i SubResourceArgs) ToSubResourceOutputWithContext(ctx context.Context) SubResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubResourceOutput) +} + +func (i SubResourceArgs) ToSubResourcePtrOutput() SubResourcePtrOutput { + return i.ToSubResourcePtrOutputWithContext(context.Background()) +} + +func (i SubResourceArgs) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubResourceOutput).ToSubResourcePtrOutputWithContext(ctx) +} + +// SubResourcePtrInput is an input type that accepts SubResourceArgs, SubResourcePtr and SubResourcePtrOutput values. +// You can construct a concrete instance of `SubResourcePtrInput` via: +// +// SubResourceArgs{...} +// +// or: +// +// nil +type SubResourcePtrInput interface { + pulumi.Input + + ToSubResourcePtrOutput() SubResourcePtrOutput + ToSubResourcePtrOutputWithContext(context.Context) SubResourcePtrOutput +} + +type subResourcePtrType SubResourceArgs + +func SubResourcePtr(v *SubResourceArgs) SubResourcePtrInput { + return (*subResourcePtrType)(v) +} + +func (*subResourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SubResource)(nil)).Elem() +} + +func (i *subResourcePtrType) ToSubResourcePtrOutput() SubResourcePtrOutput { + return i.ToSubResourcePtrOutputWithContext(context.Background()) +} + +func (i *subResourcePtrType) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubResourcePtrOutput) +} + +// SubResourceArrayInput is an input type that accepts SubResourceArray and SubResourceArrayOutput values. +// You can construct a concrete instance of `SubResourceArrayInput` via: +// +// SubResourceArray{ SubResourceArgs{...} } +type SubResourceArrayInput interface { + pulumi.Input + + ToSubResourceArrayOutput() SubResourceArrayOutput + ToSubResourceArrayOutputWithContext(context.Context) SubResourceArrayOutput +} + +type SubResourceArray []SubResourceInput + +func (SubResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubResource)(nil)).Elem() +} + +func (i SubResourceArray) ToSubResourceArrayOutput() SubResourceArrayOutput { + return i.ToSubResourceArrayOutputWithContext(context.Background()) +} + +func (i SubResourceArray) ToSubResourceArrayOutputWithContext(ctx context.Context) SubResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubResourceArrayOutput) +} + +// Reference to another subresource. +type SubResourceOutput struct{ *pulumi.OutputState } + +func (SubResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubResource)(nil)).Elem() +} + +func (o SubResourceOutput) ToSubResourceOutput() SubResourceOutput { + return o +} + +func (o SubResourceOutput) ToSubResourceOutputWithContext(ctx context.Context) SubResourceOutput { + return o +} + +func (o SubResourceOutput) ToSubResourcePtrOutput() SubResourcePtrOutput { + return o.ToSubResourcePtrOutputWithContext(context.Background()) +} + +func (o SubResourceOutput) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SubResource) *SubResource { + return &v + }).(SubResourcePtrOutput) +} + +// Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. +// An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. +// A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. +// Example of a relative ID: $self/frontEndConfigurations/my-frontend. +func (o SubResourceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubResource) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type SubResourcePtrOutput struct{ *pulumi.OutputState } + +func (SubResourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubResource)(nil)).Elem() +} + +func (o SubResourcePtrOutput) ToSubResourcePtrOutput() SubResourcePtrOutput { + return o +} + +func (o SubResourcePtrOutput) ToSubResourcePtrOutputWithContext(ctx context.Context) SubResourcePtrOutput { + return o +} + +func (o SubResourcePtrOutput) Elem() SubResourceOutput { + return o.ApplyT(func(v *SubResource) SubResource { + if v != nil { + return *v + } + var ret SubResource + return ret + }).(SubResourceOutput) +} + +// Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. +// An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. +// A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. +// Example of a relative ID: $self/frontEndConfigurations/my-frontend. +func (o SubResourcePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubResource) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +type SubResourceArrayOutput struct{ *pulumi.OutputState } + +func (SubResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubResource)(nil)).Elem() +} + +func (o SubResourceArrayOutput) ToSubResourceArrayOutput() SubResourceArrayOutput { + return o +} + +func (o SubResourceArrayOutput) ToSubResourceArrayOutputWithContext(ctx context.Context) SubResourceArrayOutput { + return o +} + +func (o SubResourceArrayOutput) Index(i pulumi.IntInput) SubResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubResource { + return vs[0].([]SubResource)[vs[1].(int)] + }).(SubResourceOutput) +} + +// Reference to another subresource. +type SubResourceResponse struct { + // Resource ID. + Id *string `pulumi:"id"` +} + +// Reference to another subresource. +type SubResourceResponseOutput struct{ *pulumi.OutputState } + +func (SubResourceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubResourceResponse)(nil)).Elem() +} + +func (o SubResourceResponseOutput) ToSubResourceResponseOutput() SubResourceResponseOutput { + return o +} + +func (o SubResourceResponseOutput) ToSubResourceResponseOutputWithContext(ctx context.Context) SubResourceResponseOutput { + return o +} + +// Resource ID. +func (o SubResourceResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubResourceResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +type SubResourceResponsePtrOutput struct{ *pulumi.OutputState } + +func (SubResourceResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubResourceResponse)(nil)).Elem() +} + +func (o SubResourceResponsePtrOutput) ToSubResourceResponsePtrOutput() SubResourceResponsePtrOutput { + return o +} + +func (o SubResourceResponsePtrOutput) ToSubResourceResponsePtrOutputWithContext(ctx context.Context) SubResourceResponsePtrOutput { + return o +} + +func (o SubResourceResponsePtrOutput) Elem() SubResourceResponseOutput { + return o.ApplyT(func(v *SubResourceResponse) SubResourceResponse { + if v != nil { + return *v + } + var ret SubResourceResponse + return ret + }).(SubResourceResponseOutput) +} + +// Resource ID. +func (o SubResourceResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubResourceResponse) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +type SubResourceResponseArrayOutput struct{ *pulumi.OutputState } + +func (SubResourceResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubResourceResponse)(nil)).Elem() +} + +func (o SubResourceResponseArrayOutput) ToSubResourceResponseArrayOutput() SubResourceResponseArrayOutput { + return o +} + +func (o SubResourceResponseArrayOutput) ToSubResourceResponseArrayOutputWithContext(ctx context.Context) SubResourceResponseArrayOutput { + return o +} + +func (o SubResourceResponseArrayOutput) Index(i pulumi.IntInput) SubResourceResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubResourceResponse { + return vs[0].([]SubResourceResponse)[vs[1].(int)] + }).(SubResourceResponseOutput) +} + +// Subnet in a virtual network resource. +type SubnetType struct { + // The address prefix for the subnet. + AddressPrefix *string `pulumi:"addressPrefix"` + // List of address prefixes for the subnet. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // Application gateway IP configurations of virtual network resource. + ApplicationGatewayIPConfigurations []ApplicationGatewayIPConfiguration `pulumi:"applicationGatewayIPConfigurations"` + // Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. + DefaultOutboundAccess *bool `pulumi:"defaultOutboundAccess"` + // An array of references to the delegations on the subnet. + Delegations []Delegation `pulumi:"delegations"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Array of IpAllocation which reference this subnet. + IpAllocations []SubResource `pulumi:"ipAllocations"` + // A list of IPAM Pools for allocating IP address prefixes. + IpamPoolPrefixAllocations []IpamPoolPrefixAllocation `pulumi:"ipamPoolPrefixAllocations"` + // 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"` + // Nat gateway associated with this subnet. + NatGateway *SubResource `pulumi:"natGateway"` + // The reference to the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupType `pulumi:"networkSecurityGroup"` + // Enable or Disable apply network policies on private end point in the subnet. + PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` + // Enable or Disable apply network policies on private link service in the subnet. + PrivateLinkServiceNetworkPolicies *string `pulumi:"privateLinkServiceNetworkPolicies"` + // The provisioning state of the resource. + ProvisioningState *string `pulumi:"provisioningState"` + // Gets an array of references to the external resources using subnet. + ResourceNavigationLinks []ResourceNavigationLink `pulumi:"resourceNavigationLinks"` + // The reference to the RouteTable resource. + RouteTable *RouteTableType `pulumi:"routeTable"` + // Gets an array of references to services injecting into this subnet. + ServiceAssociationLinks []ServiceAssociationLink `pulumi:"serviceAssociationLinks"` + // An array of service endpoint policies. + ServiceEndpointPolicies []ServiceEndpointPolicyType `pulumi:"serviceEndpointPolicies"` + // An array of service endpoints. + ServiceEndpoints []ServiceEndpointPropertiesFormat `pulumi:"serviceEndpoints"` + // Reference to an existing service gateway. + ServiceGateway *SubResource `pulumi:"serviceGateway"` + // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. + SharingScope *string `pulumi:"sharingScope"` + // Resource type. + Type *string `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for SubnetType +func (val *SubnetType) Defaults() *SubnetType { + if val == nil { + return nil + } + tmp := *val + if tmp.PrivateEndpointNetworkPolicies == nil { + privateEndpointNetworkPolicies_ := "Disabled" + tmp.PrivateEndpointNetworkPolicies = &privateEndpointNetworkPolicies_ + } + if tmp.PrivateLinkServiceNetworkPolicies == nil { + privateLinkServiceNetworkPolicies_ := "Enabled" + tmp.PrivateLinkServiceNetworkPolicies = &privateLinkServiceNetworkPolicies_ + } + return &tmp +} + +// SubnetTypeInput is an input type that accepts SubnetTypeArgs and SubnetTypeOutput values. +// You can construct a concrete instance of `SubnetTypeInput` via: +// +// SubnetTypeArgs{...} +type SubnetTypeInput interface { + pulumi.Input + + ToSubnetTypeOutput() SubnetTypeOutput + ToSubnetTypeOutputWithContext(context.Context) SubnetTypeOutput +} + +// Subnet in a virtual network resource. +type SubnetTypeArgs struct { + // The address prefix for the subnet. + AddressPrefix pulumi.StringPtrInput `pulumi:"addressPrefix"` + // List of address prefixes for the subnet. + AddressPrefixes pulumi.StringArrayInput `pulumi:"addressPrefixes"` + // Application gateway IP configurations of virtual network resource. + ApplicationGatewayIPConfigurations ApplicationGatewayIPConfigurationArrayInput `pulumi:"applicationGatewayIPConfigurations"` + // Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. + DefaultOutboundAccess pulumi.BoolPtrInput `pulumi:"defaultOutboundAccess"` + // An array of references to the delegations on the subnet. + Delegations DelegationArrayInput `pulumi:"delegations"` + // A unique read-only string that changes whenever the resource is updated. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Resource ID. + Id pulumi.StringPtrInput `pulumi:"id"` + // Array of IpAllocation which reference this subnet. + IpAllocations SubResourceArrayInput `pulumi:"ipAllocations"` + // A list of IPAM Pools for allocating IP address prefixes. + IpamPoolPrefixAllocations IpamPoolPrefixAllocationArrayInput `pulumi:"ipamPoolPrefixAllocations"` + // 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"` + // Nat gateway associated with this subnet. + NatGateway SubResourcePtrInput `pulumi:"natGateway"` + // The reference to the NetworkSecurityGroup resource. + NetworkSecurityGroup NetworkSecurityGroupTypePtrInput `pulumi:"networkSecurityGroup"` + // Enable or Disable apply network policies on private end point in the subnet. + PrivateEndpointNetworkPolicies pulumi.StringPtrInput `pulumi:"privateEndpointNetworkPolicies"` + // Enable or Disable apply network policies on private link service in the subnet. + PrivateLinkServiceNetworkPolicies pulumi.StringPtrInput `pulumi:"privateLinkServiceNetworkPolicies"` + // The provisioning state of the resource. + ProvisioningState pulumi.StringPtrInput `pulumi:"provisioningState"` + // Gets an array of references to the external resources using subnet. + ResourceNavigationLinks ResourceNavigationLinkArrayInput `pulumi:"resourceNavigationLinks"` + // The reference to the RouteTable resource. + RouteTable RouteTableTypePtrInput `pulumi:"routeTable"` + // Gets an array of references to services injecting into this subnet. + ServiceAssociationLinks ServiceAssociationLinkArrayInput `pulumi:"serviceAssociationLinks"` + // An array of service endpoint policies. + ServiceEndpointPolicies ServiceEndpointPolicyTypeArrayInput `pulumi:"serviceEndpointPolicies"` + // An array of service endpoints. + ServiceEndpoints ServiceEndpointPropertiesFormatArrayInput `pulumi:"serviceEndpoints"` + // Reference to an existing service gateway. + ServiceGateway SubResourcePtrInput `pulumi:"serviceGateway"` + // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. + SharingScope pulumi.StringPtrInput `pulumi:"sharingScope"` + // Resource type. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for SubnetTypeArgs +func (val *SubnetTypeArgs) Defaults() *SubnetTypeArgs { + if val == nil { + return nil + } + tmp := *val + if tmp.PrivateEndpointNetworkPolicies == nil { + tmp.PrivateEndpointNetworkPolicies = pulumi.StringPtr("Disabled") + } + if tmp.PrivateLinkServiceNetworkPolicies == nil { + tmp.PrivateLinkServiceNetworkPolicies = pulumi.StringPtr("Enabled") + } + return &tmp +} +func (SubnetTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetType)(nil)).Elem() +} + +func (i SubnetTypeArgs) ToSubnetTypeOutput() SubnetTypeOutput { + return i.ToSubnetTypeOutputWithContext(context.Background()) +} + +func (i SubnetTypeArgs) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetTypeOutput) +} + +func (i SubnetTypeArgs) ToSubnetTypePtrOutput() SubnetTypePtrOutput { + return i.ToSubnetTypePtrOutputWithContext(context.Background()) +} + +func (i SubnetTypeArgs) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetTypeOutput).ToSubnetTypePtrOutputWithContext(ctx) +} + +// SubnetTypePtrInput is an input type that accepts SubnetTypeArgs, SubnetTypePtr and SubnetTypePtrOutput values. +// You can construct a concrete instance of `SubnetTypePtrInput` via: +// +// SubnetTypeArgs{...} +// +// or: +// +// nil +type SubnetTypePtrInput interface { + pulumi.Input + + ToSubnetTypePtrOutput() SubnetTypePtrOutput + ToSubnetTypePtrOutputWithContext(context.Context) SubnetTypePtrOutput +} + +type subnetTypePtrType SubnetTypeArgs + +func SubnetTypePtr(v *SubnetTypeArgs) SubnetTypePtrInput { + return (*subnetTypePtrType)(v) +} + +func (*subnetTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetType)(nil)).Elem() +} + +func (i *subnetTypePtrType) ToSubnetTypePtrOutput() SubnetTypePtrOutput { + return i.ToSubnetTypePtrOutputWithContext(context.Background()) +} + +func (i *subnetTypePtrType) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetTypePtrOutput) +} + +// SubnetTypeArrayInput is an input type that accepts SubnetTypeArray and SubnetTypeArrayOutput values. +// You can construct a concrete instance of `SubnetTypeArrayInput` via: +// +// SubnetTypeArray{ SubnetTypeArgs{...} } +type SubnetTypeArrayInput interface { + pulumi.Input + + ToSubnetTypeArrayOutput() SubnetTypeArrayOutput + ToSubnetTypeArrayOutputWithContext(context.Context) SubnetTypeArrayOutput +} + +type SubnetTypeArray []SubnetTypeInput + +func (SubnetTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubnetType)(nil)).Elem() +} + +func (i SubnetTypeArray) ToSubnetTypeArrayOutput() SubnetTypeArrayOutput { + return i.ToSubnetTypeArrayOutputWithContext(context.Background()) +} + +func (i SubnetTypeArray) ToSubnetTypeArrayOutputWithContext(ctx context.Context) SubnetTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetTypeArrayOutput) +} + +// Subnet in a virtual network resource. +type SubnetTypeOutput struct{ *pulumi.OutputState } + +func (SubnetTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetType)(nil)).Elem() +} + +func (o SubnetTypeOutput) ToSubnetTypeOutput() SubnetTypeOutput { + return o +} + +func (o SubnetTypeOutput) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput { + return o +} + +func (o SubnetTypeOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput { + return o.ToSubnetTypePtrOutputWithContext(context.Background()) +} + +func (o SubnetTypeOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SubnetType) *SubnetType { + return &v + }).(SubnetTypePtrOutput) +} + +// The address prefix for the subnet. +func (o SubnetTypeOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +// List of address prefixes for the subnet. +func (o SubnetTypeOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetType) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +// Application gateway IP configurations of virtual network resource. +func (o SubnetTypeOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationArrayOutput { + return o.ApplyT(func(v SubnetType) []ApplicationGatewayIPConfiguration { return v.ApplicationGatewayIPConfigurations }).(ApplicationGatewayIPConfigurationArrayOutput) +} + +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. +func (o SubnetTypeOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SubnetType) *bool { return v.DefaultOutboundAccess }).(pulumi.BoolPtrOutput) +} + +// An array of references to the delegations on the subnet. +func (o SubnetTypeOutput) Delegations() DelegationArrayOutput { + return o.ApplyT(func(v SubnetType) []Delegation { return v.Delegations }).(DelegationArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SubnetTypeOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SubnetTypeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Array of IpAllocation which reference this subnet. +func (o SubnetTypeOutput) IpAllocations() SubResourceArrayOutput { + return o.ApplyT(func(v SubnetType) []SubResource { return v.IpAllocations }).(SubResourceArrayOutput) +} + +// A list of IPAM Pools for allocating IP address prefixes. +func (o SubnetTypeOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationArrayOutput { + return o.ApplyT(func(v SubnetType) []IpamPoolPrefixAllocation { return v.IpamPoolPrefixAllocations }).(IpamPoolPrefixAllocationArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SubnetTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Nat gateway associated with this subnet. +func (o SubnetTypeOutput) NatGateway() SubResourcePtrOutput { + return o.ApplyT(func(v SubnetType) *SubResource { return v.NatGateway }).(SubResourcePtrOutput) +} + +// The reference to the NetworkSecurityGroup resource. +func (o SubnetTypeOutput) NetworkSecurityGroup() NetworkSecurityGroupTypePtrOutput { + return o.ApplyT(func(v SubnetType) *NetworkSecurityGroupType { return v.NetworkSecurityGroup }).(NetworkSecurityGroupTypePtrOutput) +} + +// Enable or Disable apply network policies on private end point in the subnet. +func (o SubnetTypeOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringPtrOutput) +} + +// Enable or Disable apply network policies on private link service in the subnet. +func (o SubnetTypeOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.PrivateLinkServiceNetworkPolicies }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. +func (o SubnetTypeOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// Gets an array of references to the external resources using subnet. +func (o SubnetTypeOutput) ResourceNavigationLinks() ResourceNavigationLinkArrayOutput { + return o.ApplyT(func(v SubnetType) []ResourceNavigationLink { return v.ResourceNavigationLinks }).(ResourceNavigationLinkArrayOutput) +} + +// The reference to the RouteTable resource. +func (o SubnetTypeOutput) RouteTable() RouteTableTypePtrOutput { + return o.ApplyT(func(v SubnetType) *RouteTableType { return v.RouteTable }).(RouteTableTypePtrOutput) +} + +// Gets an array of references to services injecting into this subnet. +func (o SubnetTypeOutput) ServiceAssociationLinks() ServiceAssociationLinkArrayOutput { + return o.ApplyT(func(v SubnetType) []ServiceAssociationLink { return v.ServiceAssociationLinks }).(ServiceAssociationLinkArrayOutput) +} + +// An array of service endpoint policies. +func (o SubnetTypeOutput) ServiceEndpointPolicies() ServiceEndpointPolicyTypeArrayOutput { + return o.ApplyT(func(v SubnetType) []ServiceEndpointPolicyType { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyTypeArrayOutput) +} + +// An array of service endpoints. +func (o SubnetTypeOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatArrayOutput { + return o.ApplyT(func(v SubnetType) []ServiceEndpointPropertiesFormat { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatArrayOutput) +} + +// Reference to an existing service gateway. +func (o SubnetTypeOutput) ServiceGateway() SubResourcePtrOutput { + return o.ApplyT(func(v SubnetType) *SubResource { return v.ServiceGateway }).(SubResourcePtrOutput) +} + +// Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. +func (o SubnetTypeOutput) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.SharingScope }).(pulumi.StringPtrOutput) +} + +// Resource type. +func (o SubnetTypeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetType) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SubnetTypePtrOutput struct{ *pulumi.OutputState } + +func (SubnetTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetType)(nil)).Elem() +} + +func (o SubnetTypePtrOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput { + return o +} + +func (o SubnetTypePtrOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { + return o +} + +func (o SubnetTypePtrOutput) Elem() SubnetTypeOutput { + return o.ApplyT(func(v *SubnetType) SubnetType { + if v != nil { + return *v + } + var ret SubnetType + return ret + }).(SubnetTypeOutput) +} + +// The address prefix for the subnet. +func (o SubnetTypePtrOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.AddressPrefix + }).(pulumi.StringPtrOutput) +} + +// List of address prefixes for the subnet. +func (o SubnetTypePtrOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SubnetType) []string { + if v == nil { + return nil + } + return v.AddressPrefixes + }).(pulumi.StringArrayOutput) +} + +// Application gateway IP configurations of virtual network resource. +func (o SubnetTypePtrOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationArrayOutput { + return o.ApplyT(func(v *SubnetType) []ApplicationGatewayIPConfiguration { + if v == nil { + return nil + } + return v.ApplicationGatewayIPConfigurations + }).(ApplicationGatewayIPConfigurationArrayOutput) +} + +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. +func (o SubnetTypePtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SubnetType) *bool { + if v == nil { + return nil + } + return v.DefaultOutboundAccess + }).(pulumi.BoolPtrOutput) +} + +// An array of references to the delegations on the subnet. +func (o SubnetTypePtrOutput) Delegations() DelegationArrayOutput { + return o.ApplyT(func(v *SubnetType) []Delegation { + if v == nil { + return nil + } + return v.Delegations + }).(DelegationArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SubnetTypePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SubnetTypePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Array of IpAllocation which reference this subnet. +func (o SubnetTypePtrOutput) IpAllocations() SubResourceArrayOutput { + return o.ApplyT(func(v *SubnetType) []SubResource { + if v == nil { + return nil + } + return v.IpAllocations + }).(SubResourceArrayOutput) +} + +// A list of IPAM Pools for allocating IP address prefixes. +func (o SubnetTypePtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationArrayOutput { + return o.ApplyT(func(v *SubnetType) []IpamPoolPrefixAllocation { + if v == nil { + return nil + } + return v.IpamPoolPrefixAllocations + }).(IpamPoolPrefixAllocationArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SubnetTypePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Nat gateway associated with this subnet. +func (o SubnetTypePtrOutput) NatGateway() SubResourcePtrOutput { + return o.ApplyT(func(v *SubnetType) *SubResource { + if v == nil { + return nil + } + return v.NatGateway + }).(SubResourcePtrOutput) +} + +// The reference to the NetworkSecurityGroup resource. +func (o SubnetTypePtrOutput) NetworkSecurityGroup() NetworkSecurityGroupTypePtrOutput { + return o.ApplyT(func(v *SubnetType) *NetworkSecurityGroupType { + if v == nil { + return nil + } + return v.NetworkSecurityGroup + }).(NetworkSecurityGroupTypePtrOutput) +} + +// Enable or Disable apply network policies on private end point in the subnet. +func (o SubnetTypePtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.PrivateEndpointNetworkPolicies + }).(pulumi.StringPtrOutput) +} + +// Enable or Disable apply network policies on private link service in the subnet. +func (o SubnetTypePtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.PrivateLinkServiceNetworkPolicies + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the resource. +func (o SubnetTypePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// Gets an array of references to the external resources using subnet. +func (o SubnetTypePtrOutput) ResourceNavigationLinks() ResourceNavigationLinkArrayOutput { + return o.ApplyT(func(v *SubnetType) []ResourceNavigationLink { + if v == nil { + return nil + } + return v.ResourceNavigationLinks + }).(ResourceNavigationLinkArrayOutput) +} + +// The reference to the RouteTable resource. +func (o SubnetTypePtrOutput) RouteTable() RouteTableTypePtrOutput { + return o.ApplyT(func(v *SubnetType) *RouteTableType { + if v == nil { + return nil + } + return v.RouteTable + }).(RouteTableTypePtrOutput) +} + +// Gets an array of references to services injecting into this subnet. +func (o SubnetTypePtrOutput) ServiceAssociationLinks() ServiceAssociationLinkArrayOutput { + return o.ApplyT(func(v *SubnetType) []ServiceAssociationLink { + if v == nil { + return nil + } + return v.ServiceAssociationLinks + }).(ServiceAssociationLinkArrayOutput) +} + +// An array of service endpoint policies. +func (o SubnetTypePtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyTypeArrayOutput { + return o.ApplyT(func(v *SubnetType) []ServiceEndpointPolicyType { + if v == nil { + return nil + } + return v.ServiceEndpointPolicies + }).(ServiceEndpointPolicyTypeArrayOutput) +} + +// An array of service endpoints. +func (o SubnetTypePtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatArrayOutput { + return o.ApplyT(func(v *SubnetType) []ServiceEndpointPropertiesFormat { + if v == nil { + return nil + } + return v.ServiceEndpoints + }).(ServiceEndpointPropertiesFormatArrayOutput) +} + +// Reference to an existing service gateway. +func (o SubnetTypePtrOutput) ServiceGateway() SubResourcePtrOutput { + return o.ApplyT(func(v *SubnetType) *SubResource { + if v == nil { + return nil + } + return v.ServiceGateway + }).(SubResourcePtrOutput) +} + +// Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. +func (o SubnetTypePtrOutput) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.SharingScope + }).(pulumi.StringPtrOutput) +} + +// Resource type. +func (o SubnetTypePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetType) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +type SubnetTypeArrayOutput struct{ *pulumi.OutputState } + +func (SubnetTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubnetType)(nil)).Elem() +} + +func (o SubnetTypeArrayOutput) ToSubnetTypeArrayOutput() SubnetTypeArrayOutput { + return o +} + +func (o SubnetTypeArrayOutput) ToSubnetTypeArrayOutputWithContext(ctx context.Context) SubnetTypeArrayOutput { + return o +} + +func (o SubnetTypeArrayOutput) Index(i pulumi.IntInput) SubnetTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetType { + return vs[0].([]SubnetType)[vs[1].(int)] + }).(SubnetTypeOutput) +} + +// Subnet in a virtual network resource. +type SubnetResponse struct { + // The address prefix for the subnet. + AddressPrefix *string `pulumi:"addressPrefix"` + // List of address prefixes for the subnet. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // Application gateway IP configurations of virtual network resource. + ApplicationGatewayIPConfigurations []ApplicationGatewayIPConfigurationResponse `pulumi:"applicationGatewayIPConfigurations"` + // Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. + DefaultOutboundAccess *bool `pulumi:"defaultOutboundAccess"` + // An array of references to the delegations on the subnet. + Delegations []DelegationResponse `pulumi:"delegations"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Array of IpAllocation which reference this subnet. + IpAllocations []SubResourceResponse `pulumi:"ipAllocations"` + // Array of IP configuration profiles which reference this subnet. + IpConfigurationProfiles []IPConfigurationProfileResponse `pulumi:"ipConfigurationProfiles"` + // An array of references to the network interface IP configurations using subnet. + IpConfigurations []IPConfigurationResponse `pulumi:"ipConfigurations"` + // A list of IPAM Pools for allocating IP address prefixes. + IpamPoolPrefixAllocations []IpamPoolPrefixAllocationResponse `pulumi:"ipamPoolPrefixAllocations"` + // 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"` + // Nat gateway associated with this subnet. + NatGateway *SubResourceResponse `pulumi:"natGateway"` + // The reference to the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupResponse `pulumi:"networkSecurityGroup"` + // Enable or Disable apply network policies on private end point in the subnet. + PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` + // An array of references to private endpoints. + PrivateEndpoints []PrivateEndpointResponse `pulumi:"privateEndpoints"` + // Enable or Disable apply network policies on private link service in the subnet. + PrivateLinkServiceNetworkPolicies *string `pulumi:"privateLinkServiceNetworkPolicies"` + // The provisioning state of the subnet resource. + ProvisioningState string `pulumi:"provisioningState"` + // A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. + Purpose string `pulumi:"purpose"` + // An array of references to the external resources using subnet. + ResourceNavigationLinks []ResourceNavigationLinkResponse `pulumi:"resourceNavigationLinks"` + // The reference to the RouteTable resource. + RouteTable *RouteTableResponse `pulumi:"routeTable"` + // An array of references to services injecting into this subnet. + ServiceAssociationLinks []ServiceAssociationLinkResponse `pulumi:"serviceAssociationLinks"` + // An array of service endpoint policies. + ServiceEndpointPolicies []ServiceEndpointPolicyResponse `pulumi:"serviceEndpointPolicies"` + // An array of service endpoints. + ServiceEndpoints []ServiceEndpointPropertiesFormatResponse `pulumi:"serviceEndpoints"` + // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. + SharingScope *string `pulumi:"sharingScope"` + // Resource type. + Type *string `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for SubnetResponse +func (val *SubnetResponse) Defaults() *SubnetResponse { + if val == nil { + return nil + } + tmp := *val + if tmp.PrivateEndpointNetworkPolicies == nil { + privateEndpointNetworkPolicies_ := "Disabled" + tmp.PrivateEndpointNetworkPolicies = &privateEndpointNetworkPolicies_ + } + if tmp.PrivateLinkServiceNetworkPolicies == nil { + privateLinkServiceNetworkPolicies_ := "Enabled" + tmp.PrivateLinkServiceNetworkPolicies = &privateLinkServiceNetworkPolicies_ + } + return &tmp +} + +// Subnet in a virtual network resource. +type SubnetResponseOutput struct{ *pulumi.OutputState } + +func (SubnetResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetResponse)(nil)).Elem() +} + +func (o SubnetResponseOutput) ToSubnetResponseOutput() SubnetResponseOutput { + return o +} + +func (o SubnetResponseOutput) ToSubnetResponseOutputWithContext(ctx context.Context) SubnetResponseOutput { + return o +} + +// The address prefix for the subnet. +func (o SubnetResponseOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +// List of address prefixes for the subnet. +func (o SubnetResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +// Application gateway IP configurations of virtual network resource. +func (o SubnetResponseOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []ApplicationGatewayIPConfigurationResponse { + return v.ApplicationGatewayIPConfigurations + }).(ApplicationGatewayIPConfigurationResponseArrayOutput) +} + +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. +func (o SubnetResponseOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SubnetResponse) *bool { return v.DefaultOutboundAccess }).(pulumi.BoolPtrOutput) +} + +// An array of references to the delegations on the subnet. +func (o SubnetResponseOutput) Delegations() DelegationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []DelegationResponse { return v.Delegations }).(DelegationResponseArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SubnetResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Resource ID. +func (o SubnetResponseOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Array of IpAllocation which reference this subnet. +func (o SubnetResponseOutput) IpAllocations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []SubResourceResponse { return v.IpAllocations }).(SubResourceResponseArrayOutput) +} + +// Array of IP configuration profiles which reference this subnet. +func (o SubnetResponseOutput) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []IPConfigurationProfileResponse { return v.IpConfigurationProfiles }).(IPConfigurationProfileResponseArrayOutput) +} + +// An array of references to the network interface IP configurations using subnet. +func (o SubnetResponseOutput) IpConfigurations() IPConfigurationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []IPConfigurationResponse { return v.IpConfigurations }).(IPConfigurationResponseArrayOutput) +} + +// A list of IPAM Pools for allocating IP address prefixes. +func (o SubnetResponseOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []IpamPoolPrefixAllocationResponse { return v.IpamPoolPrefixAllocations }).(IpamPoolPrefixAllocationResponseArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SubnetResponseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Nat gateway associated with this subnet. +func (o SubnetResponseOutput) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v SubnetResponse) *SubResourceResponse { return v.NatGateway }).(SubResourceResponsePtrOutput) +} + +// The reference to the NetworkSecurityGroup resource. +func (o SubnetResponseOutput) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { + return o.ApplyT(func(v SubnetResponse) *NetworkSecurityGroupResponse { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponsePtrOutput) +} + +// Enable or Disable apply network policies on private end point in the subnet. +func (o SubnetResponseOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringPtrOutput) +} + +// An array of references to private endpoints. +func (o SubnetResponseOutput) PrivateEndpoints() PrivateEndpointResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []PrivateEndpointResponse { return v.PrivateEndpoints }).(PrivateEndpointResponseArrayOutput) +} + +// Enable or Disable apply network policies on private link service in the subnet. +func (o SubnetResponseOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.PrivateLinkServiceNetworkPolicies }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the subnet resource. +func (o SubnetResponseOutput) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. +func (o SubnetResponseOutput) Purpose() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponse) string { return v.Purpose }).(pulumi.StringOutput) +} + +// An array of references to the external resources using subnet. +func (o SubnetResponseOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []ResourceNavigationLinkResponse { return v.ResourceNavigationLinks }).(ResourceNavigationLinkResponseArrayOutput) +} + +// The reference to the RouteTable resource. +func (o SubnetResponseOutput) RouteTable() RouteTableResponsePtrOutput { + return o.ApplyT(func(v SubnetResponse) *RouteTableResponse { return v.RouteTable }).(RouteTableResponsePtrOutput) +} + +// An array of references to services injecting into this subnet. +func (o SubnetResponseOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []ServiceAssociationLinkResponse { return v.ServiceAssociationLinks }).(ServiceAssociationLinkResponseArrayOutput) +} + +// An array of service endpoint policies. +func (o SubnetResponseOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []ServiceEndpointPolicyResponse { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyResponseArrayOutput) +} + +// An array of service endpoints. +func (o SubnetResponseOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v SubnetResponse) []ServiceEndpointPropertiesFormatResponse { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatResponseArrayOutput) +} + +// Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. +func (o SubnetResponseOutput) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.SharingScope }).(pulumi.StringPtrOutput) +} + +// Resource type. +func (o SubnetResponseOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SubnetResponsePtrOutput struct{ *pulumi.OutputState } + +func (SubnetResponsePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetResponse)(nil)).Elem() +} + +func (o SubnetResponsePtrOutput) ToSubnetResponsePtrOutput() SubnetResponsePtrOutput { + return o +} + +func (o SubnetResponsePtrOutput) ToSubnetResponsePtrOutputWithContext(ctx context.Context) SubnetResponsePtrOutput { + return o +} + +func (o SubnetResponsePtrOutput) Elem() SubnetResponseOutput { + return o.ApplyT(func(v *SubnetResponse) SubnetResponse { + if v != nil { + return *v + } + var ret SubnetResponse + return ret + }).(SubnetResponseOutput) +} + +// The address prefix for the subnet. +func (o SubnetResponsePtrOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.AddressPrefix + }).(pulumi.StringPtrOutput) +} + +// List of address prefixes for the subnet. +func (o SubnetResponsePtrOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []string { + if v == nil { + return nil + } + return v.AddressPrefixes + }).(pulumi.StringArrayOutput) +} + +// Application gateway IP configurations of virtual network resource. +func (o SubnetResponsePtrOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []ApplicationGatewayIPConfigurationResponse { + if v == nil { + return nil + } + return v.ApplicationGatewayIPConfigurations + }).(ApplicationGatewayIPConfigurationResponseArrayOutput) +} + +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. +func (o SubnetResponsePtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *bool { + if v == nil { + return nil + } + return v.DefaultOutboundAccess + }).(pulumi.BoolPtrOutput) +} + +// An array of references to the delegations on the subnet. +func (o SubnetResponsePtrOutput) Delegations() DelegationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []DelegationResponse { + if v == nil { + return nil + } + return v.Delegations + }).(DelegationResponseArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SubnetResponsePtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return &v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SubnetResponsePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// Array of IpAllocation which reference this subnet. +func (o SubnetResponsePtrOutput) IpAllocations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []SubResourceResponse { + if v == nil { + return nil + } + return v.IpAllocations + }).(SubResourceResponseArrayOutput) +} + +// Array of IP configuration profiles which reference this subnet. +func (o SubnetResponsePtrOutput) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []IPConfigurationProfileResponse { + if v == nil { + return nil + } + return v.IpConfigurationProfiles + }).(IPConfigurationProfileResponseArrayOutput) +} + +// An array of references to the network interface IP configurations using subnet. +func (o SubnetResponsePtrOutput) IpConfigurations() IPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []IPConfigurationResponse { + if v == nil { + return nil + } + return v.IpConfigurations + }).(IPConfigurationResponseArrayOutput) +} + +// A list of IPAM Pools for allocating IP address prefixes. +func (o SubnetResponsePtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []IpamPoolPrefixAllocationResponse { + if v == nil { + return nil + } + return v.IpamPoolPrefixAllocations + }).(IpamPoolPrefixAllocationResponseArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SubnetResponsePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Nat gateway associated with this subnet. +func (o SubnetResponsePtrOutput) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponse) *SubResourceResponse { + if v == nil { + return nil + } + return v.NatGateway + }).(SubResourceResponsePtrOutput) +} + +// The reference to the NetworkSecurityGroup resource. +func (o SubnetResponsePtrOutput) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponse) *NetworkSecurityGroupResponse { + if v == nil { + return nil + } + return v.NetworkSecurityGroup + }).(NetworkSecurityGroupResponsePtrOutput) +} + +// Enable or Disable apply network policies on private end point in the subnet. +func (o SubnetResponsePtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.PrivateEndpointNetworkPolicies + }).(pulumi.StringPtrOutput) +} + +// An array of references to private endpoints. +func (o SubnetResponsePtrOutput) PrivateEndpoints() PrivateEndpointResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []PrivateEndpointResponse { + if v == nil { + return nil + } + return v.PrivateEndpoints + }).(PrivateEndpointResponseArrayOutput) +} + +// Enable or Disable apply network policies on private link service in the subnet. +func (o SubnetResponsePtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.PrivateLinkServiceNetworkPolicies + }).(pulumi.StringPtrOutput) +} + +// The provisioning state of the subnet resource. +func (o SubnetResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return &v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. +func (o SubnetResponsePtrOutput) Purpose() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return &v.Purpose + }).(pulumi.StringPtrOutput) +} + +// An array of references to the external resources using subnet. +func (o SubnetResponsePtrOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []ResourceNavigationLinkResponse { + if v == nil { + return nil + } + return v.ResourceNavigationLinks + }).(ResourceNavigationLinkResponseArrayOutput) +} + +// The reference to the RouteTable resource. +func (o SubnetResponsePtrOutput) RouteTable() RouteTableResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponse) *RouteTableResponse { + if v == nil { + return nil + } + return v.RouteTable + }).(RouteTableResponsePtrOutput) +} + +// An array of references to services injecting into this subnet. +func (o SubnetResponsePtrOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []ServiceAssociationLinkResponse { + if v == nil { + return nil + } + return v.ServiceAssociationLinks + }).(ServiceAssociationLinkResponseArrayOutput) +} + +// An array of service endpoint policies. +func (o SubnetResponsePtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []ServiceEndpointPolicyResponse { + if v == nil { + return nil + } + return v.ServiceEndpointPolicies + }).(ServiceEndpointPolicyResponseArrayOutput) +} + +// An array of service endpoints. +func (o SubnetResponsePtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponse) []ServiceEndpointPropertiesFormatResponse { + if v == nil { + return nil + } + return v.ServiceEndpoints + }).(ServiceEndpointPropertiesFormatResponseArrayOutput) +} + +// Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. +func (o SubnetResponsePtrOutput) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.SharingScope + }).(pulumi.StringPtrOutput) +} + +// Resource type. +func (o SubnetResponsePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponse) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +type SubnetResponseArrayOutput struct{ *pulumi.OutputState } + +func (SubnetResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubnetResponse)(nil)).Elem() +} + +func (o SubnetResponseArrayOutput) ToSubnetResponseArrayOutput() SubnetResponseArrayOutput { + return o +} + +func (o SubnetResponseArrayOutput) ToSubnetResponseArrayOutputWithContext(ctx context.Context) SubnetResponseArrayOutput { + return o +} + +func (o SubnetResponseArrayOutput) Index(i pulumi.IntInput) SubnetResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetResponse { + return vs[0].([]SubnetResponse)[vs[1].(int)] + }).(SubnetResponseOutput) +} + +// Subnet in a virtual network resource. +type SubnetResponseV1 struct { + // The address prefix for the subnet. + AddressPrefix *string `pulumi:"addressPrefix"` + // List of address prefixes for the subnet. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // Gets an array of references to the delegations on the subnet. + Delegations []DelegationResponseV1 `pulumi:"delegations"` + // A unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // An array of references to interface endpoints + InterfaceEndpoints []InterfaceEndpointResponse `pulumi:"interfaceEndpoints"` + // Array of IP configuration profiles which reference this subnet. + IpConfigurationProfiles []IPConfigurationProfileResponseV1 `pulumi:"ipConfigurationProfiles"` + // Gets an array of references to the network interface IP configurations using subnet. + IpConfigurations []IPConfigurationResponseV1 `pulumi:"ipConfigurations"` + // 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"` + // Nat gateway associated with this subnet. + NatGateway *SubResourceResponse `pulumi:"natGateway"` + // The reference of the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupResponseV1 `pulumi:"networkSecurityGroup"` + // The provisioning state of the resource. + ProvisioningState *string `pulumi:"provisioningState"` + // A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. + Purpose string `pulumi:"purpose"` + // Gets an array of references to the external resources using subnet. + ResourceNavigationLinks []ResourceNavigationLinkResponseV1 `pulumi:"resourceNavigationLinks"` + // The reference of the RouteTable resource. + RouteTable *RouteTableResponseV1 `pulumi:"routeTable"` + // Gets an array of references to services injecting into this subnet. + ServiceAssociationLinks []ServiceAssociationLinkResponseV1 `pulumi:"serviceAssociationLinks"` + // An array of service endpoint policies. + ServiceEndpointPolicies []ServiceEndpointPolicyResponseV1 `pulumi:"serviceEndpointPolicies"` + // An array of service endpoints. + ServiceEndpoints []ServiceEndpointPropertiesFormatResponseV1 `pulumi:"serviceEndpoints"` +} + +// Subnet in a virtual network resource. +type SubnetResponseV1Output struct{ *pulumi.OutputState } + +func (SubnetResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetResponseV1)(nil)).Elem() +} + +func (o SubnetResponseV1Output) ToSubnetResponseV1Output() SubnetResponseV1Output { + return o +} + +func (o SubnetResponseV1Output) ToSubnetResponseV1OutputWithContext(ctx context.Context) SubnetResponseV1Output { + return o +} + +// The address prefix for the subnet. +func (o SubnetResponseV1Output) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +} + +// List of address prefixes for the subnet. +func (o SubnetResponseV1Output) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +} + +// Gets an array of references to the delegations on the subnet. +func (o SubnetResponseV1Output) Delegations() DelegationResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []DelegationResponseV1 { return v.Delegations }).(DelegationResponseV1ArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SubnetResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SubnetResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// An array of references to interface endpoints +func (o SubnetResponseV1Output) InterfaceEndpoints() InterfaceEndpointResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []InterfaceEndpointResponse { return v.InterfaceEndpoints }).(InterfaceEndpointResponseArrayOutput) +} + +// Array of IP configuration profiles which reference this subnet. +func (o SubnetResponseV1Output) IpConfigurationProfiles() IPConfigurationProfileResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []IPConfigurationProfileResponseV1 { return v.IpConfigurationProfiles }).(IPConfigurationProfileResponseV1ArrayOutput) +} + +// Gets an array of references to the network interface IP configurations using subnet. +func (o SubnetResponseV1Output) IpConfigurations() IPConfigurationResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []IPConfigurationResponseV1 { return v.IpConfigurations }).(IPConfigurationResponseV1ArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SubnetResponseV1Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Nat gateway associated with this subnet. +func (o SubnetResponseV1Output) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *SubResourceResponse { return v.NatGateway }).(SubResourceResponsePtrOutput) +} + +// The reference of the NetworkSecurityGroup resource. +func (o SubnetResponseV1Output) NetworkSecurityGroup() NetworkSecurityGroupResponseV1PtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *NetworkSecurityGroupResponseV1 { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponseV1PtrOutput) +} + +// The provisioning state of the resource. +func (o SubnetResponseV1Output) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +} + +// A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. +func (o SubnetResponseV1Output) Purpose() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV1) string { return v.Purpose }).(pulumi.StringOutput) +} + +// Gets an array of references to the external resources using subnet. +func (o SubnetResponseV1Output) ResourceNavigationLinks() ResourceNavigationLinkResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []ResourceNavigationLinkResponseV1 { return v.ResourceNavigationLinks }).(ResourceNavigationLinkResponseV1ArrayOutput) +} + +// The reference of the RouteTable resource. +func (o SubnetResponseV1Output) RouteTable() RouteTableResponseV1PtrOutput { + return o.ApplyT(func(v SubnetResponseV1) *RouteTableResponseV1 { return v.RouteTable }).(RouteTableResponseV1PtrOutput) +} + +// Gets an array of references to services injecting into this subnet. +func (o SubnetResponseV1Output) ServiceAssociationLinks() ServiceAssociationLinkResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []ServiceAssociationLinkResponseV1 { return v.ServiceAssociationLinks }).(ServiceAssociationLinkResponseV1ArrayOutput) +} + +// An array of service endpoint policies. +func (o SubnetResponseV1Output) ServiceEndpointPolicies() ServiceEndpointPolicyResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []ServiceEndpointPolicyResponseV1 { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyResponseV1ArrayOutput) +} + +// An array of service endpoints. +func (o SubnetResponseV1Output) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseV1ArrayOutput { + return o.ApplyT(func(v SubnetResponseV1) []ServiceEndpointPropertiesFormatResponseV1 { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatResponseV1ArrayOutput) +} + +type SubnetResponseV1PtrOutput struct{ *pulumi.OutputState } + +func (SubnetResponseV1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetResponseV1)(nil)).Elem() +} + +func (o SubnetResponseV1PtrOutput) ToSubnetResponseV1PtrOutput() SubnetResponseV1PtrOutput { + return o +} + +func (o SubnetResponseV1PtrOutput) ToSubnetResponseV1PtrOutputWithContext(ctx context.Context) SubnetResponseV1PtrOutput { + return o +} + +func (o SubnetResponseV1PtrOutput) Elem() SubnetResponseV1Output { + return o.ApplyT(func(v *SubnetResponseV1) SubnetResponseV1 { + if v != nil { + return *v + } + var ret SubnetResponseV1 + return ret + }).(SubnetResponseV1Output) +} + +// The address prefix for the subnet. +func (o SubnetResponseV1PtrOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *string { + if v == nil { + return nil + } + return v.AddressPrefix + }).(pulumi.StringPtrOutput) +} + +// List of address prefixes for the subnet. +func (o SubnetResponseV1PtrOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []string { + if v == nil { + return nil + } + return v.AddressPrefixes + }).(pulumi.StringArrayOutput) +} + +// Gets an array of references to the delegations on the subnet. +func (o SubnetResponseV1PtrOutput) Delegations() DelegationResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []DelegationResponseV1 { + if v == nil { + return nil + } + return v.Delegations + }).(DelegationResponseV1ArrayOutput) +} + +// A unique read-only string that changes whenever the resource is updated. +func (o SubnetResponseV1PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *string { + if v == nil { + return nil + } + return v.Etag + }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o SubnetResponseV1PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +// An array of references to interface endpoints +func (o SubnetResponseV1PtrOutput) InterfaceEndpoints() InterfaceEndpointResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []InterfaceEndpointResponse { + if v == nil { + return nil + } + return v.InterfaceEndpoints + }).(InterfaceEndpointResponseArrayOutput) +} + +// Array of IP configuration profiles which reference this subnet. +func (o SubnetResponseV1PtrOutput) IpConfigurationProfiles() IPConfigurationProfileResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []IPConfigurationProfileResponseV1 { + if v == nil { + return nil + } + return v.IpConfigurationProfiles + }).(IPConfigurationProfileResponseV1ArrayOutput) +} + +// Gets an array of references to the network interface IP configurations using subnet. +func (o SubnetResponseV1PtrOutput) IpConfigurations() IPConfigurationResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []IPConfigurationResponseV1 { + if v == nil { + return nil + } + return v.IpConfigurations + }).(IPConfigurationResponseV1ArrayOutput) +} + +// The name of the resource that is unique within a resource group. This name can be used to access the resource. +func (o SubnetResponseV1PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Nat gateway associated with this subnet. +func (o SubnetResponseV1PtrOutput) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *SubResourceResponse { + if v == nil { + return nil + } + return v.NatGateway + }).(SubResourceResponsePtrOutput) +} + +// The reference of the NetworkSecurityGroup resource. +func (o SubnetResponseV1PtrOutput) NetworkSecurityGroup() NetworkSecurityGroupResponseV1PtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *NetworkSecurityGroupResponseV1 { + if v == nil { + return nil + } + return v.NetworkSecurityGroup + }).(NetworkSecurityGroupResponseV1PtrOutput) +} + +// The provisioning state of the resource. +func (o SubnetResponseV1PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *string { + if v == nil { + return nil + } + return v.ProvisioningState + }).(pulumi.StringPtrOutput) +} + +// A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. +func (o SubnetResponseV1PtrOutput) Purpose() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *string { + if v == nil { + return nil + } + return &v.Purpose + }).(pulumi.StringPtrOutput) +} + +// Gets an array of references to the external resources using subnet. +func (o SubnetResponseV1PtrOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []ResourceNavigationLinkResponseV1 { + if v == nil { + return nil + } + return v.ResourceNavigationLinks + }).(ResourceNavigationLinkResponseV1ArrayOutput) +} + +// The reference of the RouteTable resource. +func (o SubnetResponseV1PtrOutput) RouteTable() RouteTableResponseV1PtrOutput { + return o.ApplyT(func(v *SubnetResponseV1) *RouteTableResponseV1 { + if v == nil { + return nil + } + return v.RouteTable + }).(RouteTableResponseV1PtrOutput) +} + +// Gets an array of references to services injecting into this subnet. +func (o SubnetResponseV1PtrOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []ServiceAssociationLinkResponseV1 { + if v == nil { + return nil + } + return v.ServiceAssociationLinks + }).(ServiceAssociationLinkResponseV1ArrayOutput) +} + +// An array of service endpoint policies. +func (o SubnetResponseV1PtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []ServiceEndpointPolicyResponseV1 { + if v == nil { + return nil + } + return v.ServiceEndpointPolicies + }).(ServiceEndpointPolicyResponseV1ArrayOutput) +} + +// An array of service endpoints. +func (o SubnetResponseV1PtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseV1ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV1) []ServiceEndpointPropertiesFormatResponseV1 { + if v == nil { + return nil + } + return v.ServiceEndpoints + }).(ServiceEndpointPropertiesFormatResponseV1ArrayOutput) +} + +// Subnet in a virtual network resource. +type SubnetResponseV2 struct { + // The address prefix for the subnet. + AddressPrefix *string `pulumi:"addressPrefix"` + // List of address prefixes for the subnet. + AddressPrefixes []string `pulumi:"addressPrefixes"` + // Application gateway IP configurations of virtual network resource. + ApplicationGatewayIPConfigurations []ApplicationGatewayIPConfigurationResponse `pulumi:"applicationGatewayIPConfigurations"` + // Set this property to false to disable default outbound connectivity for all VMs in the subnet. + DefaultOutboundAccess *bool `pulumi:"defaultOutboundAccess"` + // An array of references to the delegations on the subnet. + Delegations []DelegationResponse `pulumi:"delegations"` + // A unique read-only string that changes whenever the resource is updated. + Etag string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Array of IpAllocation which reference this subnet. + IpAllocations []SubResourceResponse `pulumi:"ipAllocations"` + // Array of IP configuration profiles which reference this subnet. + IpConfigurationProfiles []IPConfigurationProfileResponse `pulumi:"ipConfigurationProfiles"` + // An array of references to the network interface IP configurations using subnet. + IpConfigurations []IPConfigurationResponseV2 `pulumi:"ipConfigurations"` + // A list of IPAM Pools for allocating IP address prefixes. + IpamPoolPrefixAllocations []IpamPoolPrefixAllocationResponse `pulumi:"ipamPoolPrefixAllocations"` + // 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"` + // Nat gateway associated with this subnet. + NatGateway *SubResourceResponse `pulumi:"natGateway"` + // The reference to the NetworkSecurityGroup resource. + NetworkSecurityGroup *NetworkSecurityGroupResponseV2 `pulumi:"networkSecurityGroup"` + // Enable or Disable apply network policies on private end point in the subnet. + PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` + // An array of references to private endpoints. + PrivateEndpoints []PrivateEndpointResponse `pulumi:"privateEndpoints"` + // Enable or Disable apply network policies on private link service in the subnet. + PrivateLinkServiceNetworkPolicies *string `pulumi:"privateLinkServiceNetworkPolicies"` + // The provisioning state of the subnet resource. + ProvisioningState string `pulumi:"provisioningState"` + // A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. + Purpose string `pulumi:"purpose"` + // An array of references to the external resources using subnet. + ResourceNavigationLinks []ResourceNavigationLinkResponse `pulumi:"resourceNavigationLinks"` + // The reference to the RouteTable resource. + RouteTable *RouteTableResponse `pulumi:"routeTable"` + // An array of references to services injecting into this subnet. + ServiceAssociationLinks []ServiceAssociationLinkResponse `pulumi:"serviceAssociationLinks"` + // An array of service endpoint policies. + ServiceEndpointPolicies []ServiceEndpointPolicyResponse `pulumi:"serviceEndpointPolicies"` + // An array of service endpoints. + ServiceEndpoints []ServiceEndpointPropertiesFormatResponse `pulumi:"serviceEndpoints"` + // Reference to an existing service gateway. + ServiceGateway *SubResourceResponse `pulumi:"serviceGateway"` + // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. + SharingScope *string `pulumi:"sharingScope"` + // Resource type. + Type *string `pulumi:"type"` } -func (i SubnetTypeArray) ToSubnetTypeArrayOutputWithContext(ctx context.Context) SubnetTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetTypeArrayOutput) +// Defaults sets the appropriate defaults for SubnetResponseV2 +func (val *SubnetResponseV2) Defaults() *SubnetResponseV2 { + if val == nil { + return nil + } + tmp := *val + if tmp.PrivateEndpointNetworkPolicies == nil { + privateEndpointNetworkPolicies_ := "Disabled" + tmp.PrivateEndpointNetworkPolicies = &privateEndpointNetworkPolicies_ + } + if tmp.PrivateLinkServiceNetworkPolicies == nil { + privateLinkServiceNetworkPolicies_ := "Enabled" + tmp.PrivateLinkServiceNetworkPolicies = &privateLinkServiceNetworkPolicies_ + } + return &tmp } // Subnet in a virtual network resource. -type SubnetTypeOutput struct{ *pulumi.OutputState } +type SubnetResponseV2Output struct{ *pulumi.OutputState } -func (SubnetTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetType)(nil)).Elem() +func (SubnetResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetResponseV2)(nil)).Elem() } -func (o SubnetTypeOutput) ToSubnetTypeOutput() SubnetTypeOutput { +func (o SubnetResponseV2Output) ToSubnetResponseV2Output() SubnetResponseV2Output { return o } -func (o SubnetTypeOutput) ToSubnetTypeOutputWithContext(ctx context.Context) SubnetTypeOutput { +func (o SubnetResponseV2Output) ToSubnetResponseV2OutputWithContext(ctx context.Context) SubnetResponseV2Output { return o } -func (o SubnetTypeOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput { - return o.ToSubnetTypePtrOutputWithContext(context.Background()) -} - -func (o SubnetTypeOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SubnetType) *SubnetType { - return &v - }).(SubnetTypePtrOutput) -} - // The address prefix for the subnet. -func (o SubnetTypeOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) } // List of address prefixes for the subnet. -func (o SubnetTypeOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SubnetType) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +func (o SubnetResponseV2Output) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) } // Application gateway IP configurations of virtual network resource. -func (o SubnetTypeOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationArrayOutput { - return o.ApplyT(func(v SubnetType) []ApplicationGatewayIPConfiguration { return v.ApplicationGatewayIPConfigurations }).(ApplicationGatewayIPConfigurationArrayOutput) +func (o SubnetResponseV2Output) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []ApplicationGatewayIPConfigurationResponse { + return v.ApplicationGatewayIPConfigurations + }).(ApplicationGatewayIPConfigurationResponseArrayOutput) } -// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. -func (o SubnetTypeOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SubnetType) *bool { return v.DefaultOutboundAccess }).(pulumi.BoolPtrOutput) +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. +func (o SubnetResponseV2Output) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *bool { return v.DefaultOutboundAccess }).(pulumi.BoolPtrOutput) } // An array of references to the delegations on the subnet. -func (o SubnetTypeOutput) Delegations() DelegationArrayOutput { - return o.ApplyT(func(v SubnetType) []Delegation { return v.Delegations }).(DelegationArrayOutput) +func (o SubnetResponseV2Output) Delegations() DelegationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []DelegationResponse { return v.Delegations }).(DelegationResponseArrayOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o SubnetTypeOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.Etag }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV2) string { return v.Etag }).(pulumi.StringOutput) } // Resource ID. -func (o SubnetTypeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.Id }).(pulumi.StringPtrOutput) } // Array of IpAllocation which reference this subnet. -func (o SubnetTypeOutput) IpAllocations() SubResourceArrayOutput { - return o.ApplyT(func(v SubnetType) []SubResource { return v.IpAllocations }).(SubResourceArrayOutput) +func (o SubnetResponseV2Output) IpAllocations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []SubResourceResponse { return v.IpAllocations }).(SubResourceResponseArrayOutput) +} + +// Array of IP configuration profiles which reference this subnet. +func (o SubnetResponseV2Output) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []IPConfigurationProfileResponse { return v.IpConfigurationProfiles }).(IPConfigurationProfileResponseArrayOutput) +} + +// An array of references to the network interface IP configurations using subnet. +func (o SubnetResponseV2Output) IpConfigurations() IPConfigurationResponseV2ArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []IPConfigurationResponseV2 { return v.IpConfigurations }).(IPConfigurationResponseV2ArrayOutput) } // A list of IPAM Pools for allocating IP address prefixes. -func (o SubnetTypeOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationArrayOutput { - return o.ApplyT(func(v SubnetType) []IpamPoolPrefixAllocation { return v.IpamPoolPrefixAllocations }).(IpamPoolPrefixAllocationArrayOutput) +func (o SubnetResponseV2Output) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []IpamPoolPrefixAllocationResponse { return v.IpamPoolPrefixAllocations }).(IpamPoolPrefixAllocationResponseArrayOutput) } // The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o SubnetTypeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.Name }).(pulumi.StringPtrOutput) } // Nat gateway associated with this subnet. -func (o SubnetTypeOutput) NatGateway() SubResourcePtrOutput { - return o.ApplyT(func(v SubnetType) *SubResource { return v.NatGateway }).(SubResourcePtrOutput) +func (o SubnetResponseV2Output) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *SubResourceResponse { return v.NatGateway }).(SubResourceResponsePtrOutput) } // The reference to the NetworkSecurityGroup resource. -func (o SubnetTypeOutput) NetworkSecurityGroup() NetworkSecurityGroupTypePtrOutput { - return o.ApplyT(func(v SubnetType) *NetworkSecurityGroupType { return v.NetworkSecurityGroup }).(NetworkSecurityGroupTypePtrOutput) +func (o SubnetResponseV2Output) NetworkSecurityGroup() NetworkSecurityGroupResponseV2PtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *NetworkSecurityGroupResponseV2 { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponseV2PtrOutput) } // Enable or Disable apply network policies on private end point in the subnet. -func (o SubnetTypeOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringPtrOutput) +} + +// An array of references to private endpoints. +func (o SubnetResponseV2Output) PrivateEndpoints() PrivateEndpointResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []PrivateEndpointResponse { return v.PrivateEndpoints }).(PrivateEndpointResponseArrayOutput) } // Enable or Disable apply network policies on private link service in the subnet. -func (o SubnetTypeOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.PrivateLinkServiceNetworkPolicies }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.PrivateLinkServiceNetworkPolicies }).(pulumi.StringPtrOutput) } -// The provisioning state of the resource. -func (o SubnetTypeOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.ProvisioningState }).(pulumi.StringPtrOutput) +// The provisioning state of the subnet resource. +func (o SubnetResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) } -// Gets an array of references to the external resources using subnet. -func (o SubnetTypeOutput) ResourceNavigationLinks() ResourceNavigationLinkArrayOutput { - return o.ApplyT(func(v SubnetType) []ResourceNavigationLink { return v.ResourceNavigationLinks }).(ResourceNavigationLinkArrayOutput) +// A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. +func (o SubnetResponseV2Output) Purpose() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV2) string { return v.Purpose }).(pulumi.StringOutput) +} + +// An array of references to the external resources using subnet. +func (o SubnetResponseV2Output) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []ResourceNavigationLinkResponse { return v.ResourceNavigationLinks }).(ResourceNavigationLinkResponseArrayOutput) } // The reference to the RouteTable resource. -func (o SubnetTypeOutput) RouteTable() RouteTableTypePtrOutput { - return o.ApplyT(func(v SubnetType) *RouteTableType { return v.RouteTable }).(RouteTableTypePtrOutput) +func (o SubnetResponseV2Output) RouteTable() RouteTableResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *RouteTableResponse { return v.RouteTable }).(RouteTableResponsePtrOutput) } -// Gets an array of references to services injecting into this subnet. -func (o SubnetTypeOutput) ServiceAssociationLinks() ServiceAssociationLinkArrayOutput { - return o.ApplyT(func(v SubnetType) []ServiceAssociationLink { return v.ServiceAssociationLinks }).(ServiceAssociationLinkArrayOutput) +// An array of references to services injecting into this subnet. +func (o SubnetResponseV2Output) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []ServiceAssociationLinkResponse { return v.ServiceAssociationLinks }).(ServiceAssociationLinkResponseArrayOutput) } // An array of service endpoint policies. -func (o SubnetTypeOutput) ServiceEndpointPolicies() ServiceEndpointPolicyTypeArrayOutput { - return o.ApplyT(func(v SubnetType) []ServiceEndpointPolicyType { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyTypeArrayOutput) +func (o SubnetResponseV2Output) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []ServiceEndpointPolicyResponse { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyResponseArrayOutput) } // An array of service endpoints. -func (o SubnetTypeOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatArrayOutput { - return o.ApplyT(func(v SubnetType) []ServiceEndpointPropertiesFormat { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatArrayOutput) +func (o SubnetResponseV2Output) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV2) []ServiceEndpointPropertiesFormatResponse { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatResponseArrayOutput) } // Reference to an existing service gateway. -func (o SubnetTypeOutput) ServiceGateway() SubResourcePtrOutput { - return o.ApplyT(func(v SubnetType) *SubResource { return v.ServiceGateway }).(SubResourcePtrOutput) +func (o SubnetResponseV2Output) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *SubResourceResponse { return v.ServiceGateway }).(SubResourceResponsePtrOutput) } // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. -func (o SubnetTypeOutput) SharingScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.SharingScope }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.SharingScope }).(pulumi.StringPtrOutput) } // Resource type. -func (o SubnetTypeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetType) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o SubnetResponseV2Output) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV2) *string { return v.Type }).(pulumi.StringPtrOutput) } -type SubnetTypePtrOutput struct{ *pulumi.OutputState } +type SubnetResponseV2PtrOutput struct{ *pulumi.OutputState } -func (SubnetTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SubnetType)(nil)).Elem() +func (SubnetResponseV2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetResponseV2)(nil)).Elem() } -func (o SubnetTypePtrOutput) ToSubnetTypePtrOutput() SubnetTypePtrOutput { +func (o SubnetResponseV2PtrOutput) ToSubnetResponseV2PtrOutput() SubnetResponseV2PtrOutput { return o } -func (o SubnetTypePtrOutput) ToSubnetTypePtrOutputWithContext(ctx context.Context) SubnetTypePtrOutput { +func (o SubnetResponseV2PtrOutput) ToSubnetResponseV2PtrOutputWithContext(ctx context.Context) SubnetResponseV2PtrOutput { return o } -func (o SubnetTypePtrOutput) Elem() SubnetTypeOutput { - return o.ApplyT(func(v *SubnetType) SubnetType { +func (o SubnetResponseV2PtrOutput) Elem() SubnetResponseV2Output { + return o.ApplyT(func(v *SubnetResponseV2) SubnetResponseV2 { if v != nil { return *v } - var ret SubnetType + var ret SubnetResponseV2 return ret - }).(SubnetTypeOutput) + }).(SubnetResponseV2Output) } // The address prefix for the subnet. -func (o SubnetTypePtrOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } @@ -6501,8 +17050,8 @@ func (o SubnetTypePtrOutput) AddressPrefix() pulumi.StringPtrOutput { } // List of address prefixes for the subnet. -func (o SubnetTypePtrOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SubnetType) []string { +func (o SubnetResponseV2PtrOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []string { if v == nil { return nil } @@ -6511,18 +17060,18 @@ func (o SubnetTypePtrOutput) AddressPrefixes() pulumi.StringArrayOutput { } // Application gateway IP configurations of virtual network resource. -func (o SubnetTypePtrOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationArrayOutput { - return o.ApplyT(func(v *SubnetType) []ApplicationGatewayIPConfiguration { +func (o SubnetResponseV2PtrOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []ApplicationGatewayIPConfigurationResponse { if v == nil { return nil } return v.ApplicationGatewayIPConfigurations - }).(ApplicationGatewayIPConfigurationArrayOutput) + }).(ApplicationGatewayIPConfigurationResponseArrayOutput) } -// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. -func (o SubnetTypePtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SubnetType) *bool { +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. +func (o SubnetResponseV2PtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *bool { if v == nil { return nil } @@ -6531,28 +17080,28 @@ func (o SubnetTypePtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { } // An array of references to the delegations on the subnet. -func (o SubnetTypePtrOutput) Delegations() DelegationArrayOutput { - return o.ApplyT(func(v *SubnetType) []Delegation { +func (o SubnetResponseV2PtrOutput) Delegations() DelegationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []DelegationResponse { if v == nil { return nil } return v.Delegations - }).(DelegationArrayOutput) + }).(DelegationResponseArrayOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o SubnetTypePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } - return v.Etag + return &v.Etag }).(pulumi.StringPtrOutput) } // Resource ID. -func (o SubnetTypePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } @@ -6561,28 +17110,48 @@ func (o SubnetTypePtrOutput) Id() pulumi.StringPtrOutput { } // Array of IpAllocation which reference this subnet. -func (o SubnetTypePtrOutput) IpAllocations() SubResourceArrayOutput { - return o.ApplyT(func(v *SubnetType) []SubResource { +func (o SubnetResponseV2PtrOutput) IpAllocations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []SubResourceResponse { if v == nil { return nil } return v.IpAllocations - }).(SubResourceArrayOutput) + }).(SubResourceResponseArrayOutput) +} + +// Array of IP configuration profiles which reference this subnet. +func (o SubnetResponseV2PtrOutput) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []IPConfigurationProfileResponse { + if v == nil { + return nil + } + return v.IpConfigurationProfiles + }).(IPConfigurationProfileResponseArrayOutput) +} + +// An array of references to the network interface IP configurations using subnet. +func (o SubnetResponseV2PtrOutput) IpConfigurations() IPConfigurationResponseV2ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []IPConfigurationResponseV2 { + if v == nil { + return nil + } + return v.IpConfigurations + }).(IPConfigurationResponseV2ArrayOutput) } // A list of IPAM Pools for allocating IP address prefixes. -func (o SubnetTypePtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationArrayOutput { - return o.ApplyT(func(v *SubnetType) []IpamPoolPrefixAllocation { +func (o SubnetResponseV2PtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []IpamPoolPrefixAllocationResponse { if v == nil { return nil } return v.IpamPoolPrefixAllocations - }).(IpamPoolPrefixAllocationArrayOutput) + }).(IpamPoolPrefixAllocationResponseArrayOutput) } // The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o SubnetTypePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } @@ -6591,28 +17160,28 @@ func (o SubnetTypePtrOutput) Name() pulumi.StringPtrOutput { } // Nat gateway associated with this subnet. -func (o SubnetTypePtrOutput) NatGateway() SubResourcePtrOutput { - return o.ApplyT(func(v *SubnetType) *SubResource { +func (o SubnetResponseV2PtrOutput) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *SubResourceResponse { if v == nil { return nil } return v.NatGateway - }).(SubResourcePtrOutput) + }).(SubResourceResponsePtrOutput) } // The reference to the NetworkSecurityGroup resource. -func (o SubnetTypePtrOutput) NetworkSecurityGroup() NetworkSecurityGroupTypePtrOutput { - return o.ApplyT(func(v *SubnetType) *NetworkSecurityGroupType { +func (o SubnetResponseV2PtrOutput) NetworkSecurityGroup() NetworkSecurityGroupResponseV2PtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *NetworkSecurityGroupResponseV2 { if v == nil { return nil } return v.NetworkSecurityGroup - }).(NetworkSecurityGroupTypePtrOutput) + }).(NetworkSecurityGroupResponseV2PtrOutput) } // Enable or Disable apply network policies on private end point in the subnet. -func (o SubnetTypePtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } @@ -6620,9 +17189,19 @@ func (o SubnetTypePtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOu }).(pulumi.StringPtrOutput) } +// An array of references to private endpoints. +func (o SubnetResponseV2PtrOutput) PrivateEndpoints() PrivateEndpointResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []PrivateEndpointResponse { + if v == nil { + return nil + } + return v.PrivateEndpoints + }).(PrivateEndpointResponseArrayOutput) +} + // Enable or Disable apply network policies on private link service in the subnet. -func (o SubnetTypePtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } @@ -6630,125 +17209,115 @@ func (o SubnetTypePtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPt }).(pulumi.StringPtrOutput) } -// The provisioning state of the resource. -func (o SubnetTypePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +// The provisioning state of the subnet resource. +func (o SubnetResponseV2PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } - return v.ProvisioningState + return &v.ProvisioningState }).(pulumi.StringPtrOutput) } -// Gets an array of references to the external resources using subnet. -func (o SubnetTypePtrOutput) ResourceNavigationLinks() ResourceNavigationLinkArrayOutput { - return o.ApplyT(func(v *SubnetType) []ResourceNavigationLink { +// A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. +func (o SubnetResponseV2PtrOutput) Purpose() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { + if v == nil { + return nil + } + return &v.Purpose + }).(pulumi.StringPtrOutput) +} + +// An array of references to the external resources using subnet. +func (o SubnetResponseV2PtrOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []ResourceNavigationLinkResponse { if v == nil { return nil } return v.ResourceNavigationLinks - }).(ResourceNavigationLinkArrayOutput) + }).(ResourceNavigationLinkResponseArrayOutput) } // The reference to the RouteTable resource. -func (o SubnetTypePtrOutput) RouteTable() RouteTableTypePtrOutput { - return o.ApplyT(func(v *SubnetType) *RouteTableType { +func (o SubnetResponseV2PtrOutput) RouteTable() RouteTableResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *RouteTableResponse { if v == nil { return nil } return v.RouteTable - }).(RouteTableTypePtrOutput) + }).(RouteTableResponsePtrOutput) } -// Gets an array of references to services injecting into this subnet. -func (o SubnetTypePtrOutput) ServiceAssociationLinks() ServiceAssociationLinkArrayOutput { - return o.ApplyT(func(v *SubnetType) []ServiceAssociationLink { +// An array of references to services injecting into this subnet. +func (o SubnetResponseV2PtrOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []ServiceAssociationLinkResponse { if v == nil { return nil } return v.ServiceAssociationLinks - }).(ServiceAssociationLinkArrayOutput) + }).(ServiceAssociationLinkResponseArrayOutput) } // An array of service endpoint policies. -func (o SubnetTypePtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyTypeArrayOutput { - return o.ApplyT(func(v *SubnetType) []ServiceEndpointPolicyType { +func (o SubnetResponseV2PtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []ServiceEndpointPolicyResponse { if v == nil { return nil } return v.ServiceEndpointPolicies - }).(ServiceEndpointPolicyTypeArrayOutput) + }).(ServiceEndpointPolicyResponseArrayOutput) } // An array of service endpoints. -func (o SubnetTypePtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatArrayOutput { - return o.ApplyT(func(v *SubnetType) []ServiceEndpointPropertiesFormat { +func (o SubnetResponseV2PtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV2) []ServiceEndpointPropertiesFormatResponse { if v == nil { return nil } return v.ServiceEndpoints - }).(ServiceEndpointPropertiesFormatArrayOutput) + }).(ServiceEndpointPropertiesFormatResponseArrayOutput) } // Reference to an existing service gateway. -func (o SubnetTypePtrOutput) ServiceGateway() SubResourcePtrOutput { - return o.ApplyT(func(v *SubnetType) *SubResource { +func (o SubnetResponseV2PtrOutput) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *SubResourceResponse { if v == nil { return nil } return v.ServiceGateway - }).(SubResourcePtrOutput) + }).(SubResourceResponsePtrOutput) } // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. -func (o SubnetTypePtrOutput) SharingScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { +func (o SubnetResponseV2PtrOutput) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { if v == nil { return nil } return v.SharingScope }).(pulumi.StringPtrOutput) } - -// Resource type. -func (o SubnetTypePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetType) *string { - if v == nil { - return nil - } - return v.Type - }).(pulumi.StringPtrOutput) -} - -type SubnetTypeArrayOutput struct{ *pulumi.OutputState } - -func (SubnetTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubnetType)(nil)).Elem() -} - -func (o SubnetTypeArrayOutput) ToSubnetTypeArrayOutput() SubnetTypeArrayOutput { - return o -} - -func (o SubnetTypeArrayOutput) ToSubnetTypeArrayOutputWithContext(ctx context.Context) SubnetTypeArrayOutput { - return o -} - -func (o SubnetTypeArrayOutput) Index(i pulumi.IntInput) SubnetTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetType { - return vs[0].([]SubnetType)[vs[1].(int)] - }).(SubnetTypeOutput) + +// Resource type. +func (o SubnetResponseV2PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV2) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) } // Subnet in a virtual network resource. -type SubnetResponse struct { +type SubnetResponseV3 struct { // The address prefix for the subnet. AddressPrefix *string `pulumi:"addressPrefix"` // List of address prefixes for the subnet. AddressPrefixes []string `pulumi:"addressPrefixes"` // Application gateway IP configurations of virtual network resource. ApplicationGatewayIPConfigurations []ApplicationGatewayIPConfigurationResponse `pulumi:"applicationGatewayIPConfigurations"` - // Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. + // Set this property to false to disable default outbound connectivity for all VMs in the subnet. DefaultOutboundAccess *bool `pulumi:"defaultOutboundAccess"` // An array of references to the delegations on the subnet. Delegations []DelegationResponse `pulumi:"delegations"` @@ -6756,14 +17325,12 @@ type SubnetResponse struct { Etag string `pulumi:"etag"` // Resource ID. Id *string `pulumi:"id"` - // An array of references to interface endpoints - InterfaceEndpoints []InterfaceEndpointResponse `pulumi:"interfaceEndpoints"` // Array of IpAllocation which reference this subnet. IpAllocations []SubResourceResponse `pulumi:"ipAllocations"` // Array of IP configuration profiles which reference this subnet. IpConfigurationProfiles []IPConfigurationProfileResponse `pulumi:"ipConfigurationProfiles"` // An array of references to the network interface IP configurations using subnet. - IpConfigurations []IPConfigurationResponse `pulumi:"ipConfigurations"` + IpConfigurations []IPConfigurationResponseV3 `pulumi:"ipConfigurations"` // A list of IPAM Pools for allocating IP address prefixes. IpamPoolPrefixAllocations []IpamPoolPrefixAllocationResponse `pulumi:"ipamPoolPrefixAllocations"` // The name of the resource that is unique within a resource group. This name can be used to access the resource. @@ -6771,7 +17338,7 @@ type SubnetResponse struct { // Nat gateway associated with this subnet. NatGateway *SubResourceResponse `pulumi:"natGateway"` // The reference to the NetworkSecurityGroup resource. - NetworkSecurityGroup *NetworkSecurityGroupResponse `pulumi:"networkSecurityGroup"` + NetworkSecurityGroup *NetworkSecurityGroupResponseV3 `pulumi:"networkSecurityGroup"` // Enable or Disable apply network policies on private end point in the subnet. PrivateEndpointNetworkPolicies *string `pulumi:"privateEndpointNetworkPolicies"` // An array of references to private endpoints. @@ -6800,8 +17367,8 @@ type SubnetResponse struct { Type *string `pulumi:"type"` } -// Defaults sets the appropriate defaults for SubnetResponse -func (val *SubnetResponse) Defaults() *SubnetResponse { +// Defaults sets the appropriate defaults for SubnetResponseV3 +func (val *SubnetResponseV3) Defaults() *SubnetResponseV3 { if val == nil { return nil } @@ -6818,189 +17385,184 @@ func (val *SubnetResponse) Defaults() *SubnetResponse { } // Subnet in a virtual network resource. -type SubnetResponseOutput struct{ *pulumi.OutputState } +type SubnetResponseV3Output struct{ *pulumi.OutputState } -func (SubnetResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetResponse)(nil)).Elem() +func (SubnetResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetResponseV3)(nil)).Elem() } -func (o SubnetResponseOutput) ToSubnetResponseOutput() SubnetResponseOutput { +func (o SubnetResponseV3Output) ToSubnetResponseV3Output() SubnetResponseV3Output { return o } -func (o SubnetResponseOutput) ToSubnetResponseOutputWithContext(ctx context.Context) SubnetResponseOutput { +func (o SubnetResponseV3Output) ToSubnetResponseV3OutputWithContext(ctx context.Context) SubnetResponseV3Output { return o } // The address prefix for the subnet. -func (o SubnetResponseOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) +func (o SubnetResponseV3Output) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.AddressPrefix }).(pulumi.StringPtrOutput) } // List of address prefixes for the subnet. -func (o SubnetResponseOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SubnetResponse) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) +func (o SubnetResponseV3Output) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []string { return v.AddressPrefixes }).(pulumi.StringArrayOutput) } // Application gateway IP configurations of virtual network resource. -func (o SubnetResponseOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []ApplicationGatewayIPConfigurationResponse { +func (o SubnetResponseV3Output) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []ApplicationGatewayIPConfigurationResponse { return v.ApplicationGatewayIPConfigurations }).(ApplicationGatewayIPConfigurationResponseArrayOutput) } -// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. -func (o SubnetResponseOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SubnetResponse) *bool { return v.DefaultOutboundAccess }).(pulumi.BoolPtrOutput) +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. +func (o SubnetResponseV3Output) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *bool { return v.DefaultOutboundAccess }).(pulumi.BoolPtrOutput) } // An array of references to the delegations on the subnet. -func (o SubnetResponseOutput) Delegations() DelegationResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []DelegationResponse { return v.Delegations }).(DelegationResponseArrayOutput) +func (o SubnetResponseV3Output) Delegations() DelegationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []DelegationResponse { return v.Delegations }).(DelegationResponseArrayOutput) } // A unique read-only string that changes whenever the resource is updated. -func (o SubnetResponseOutput) Etag() pulumi.StringOutput { - return o.ApplyT(func(v SubnetResponse) string { return v.Etag }).(pulumi.StringOutput) +func (o SubnetResponseV3Output) Etag() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV3) string { return v.Etag }).(pulumi.StringOutput) } // Resource ID. -func (o SubnetResponseOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// An array of references to interface endpoints -func (o SubnetResponseOutput) InterfaceEndpoints() InterfaceEndpointResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []InterfaceEndpointResponse { return v.InterfaceEndpoints }).(InterfaceEndpointResponseArrayOutput) +func (o SubnetResponseV3Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.Id }).(pulumi.StringPtrOutput) } // Array of IpAllocation which reference this subnet. -func (o SubnetResponseOutput) IpAllocations() SubResourceResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []SubResourceResponse { return v.IpAllocations }).(SubResourceResponseArrayOutput) +func (o SubnetResponseV3Output) IpAllocations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []SubResourceResponse { return v.IpAllocations }).(SubResourceResponseArrayOutput) } // Array of IP configuration profiles which reference this subnet. -func (o SubnetResponseOutput) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []IPConfigurationProfileResponse { return v.IpConfigurationProfiles }).(IPConfigurationProfileResponseArrayOutput) +func (o SubnetResponseV3Output) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []IPConfigurationProfileResponse { return v.IpConfigurationProfiles }).(IPConfigurationProfileResponseArrayOutput) } // An array of references to the network interface IP configurations using subnet. -func (o SubnetResponseOutput) IpConfigurations() IPConfigurationResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []IPConfigurationResponse { return v.IpConfigurations }).(IPConfigurationResponseArrayOutput) +func (o SubnetResponseV3Output) IpConfigurations() IPConfigurationResponseV3ArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []IPConfigurationResponseV3 { return v.IpConfigurations }).(IPConfigurationResponseV3ArrayOutput) } // A list of IPAM Pools for allocating IP address prefixes. -func (o SubnetResponseOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []IpamPoolPrefixAllocationResponse { return v.IpamPoolPrefixAllocations }).(IpamPoolPrefixAllocationResponseArrayOutput) +func (o SubnetResponseV3Output) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []IpamPoolPrefixAllocationResponse { return v.IpamPoolPrefixAllocations }).(IpamPoolPrefixAllocationResponseArrayOutput) } // The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o SubnetResponseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o SubnetResponseV3Output) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.Name }).(pulumi.StringPtrOutput) } // Nat gateway associated with this subnet. -func (o SubnetResponseOutput) NatGateway() SubResourceResponsePtrOutput { - return o.ApplyT(func(v SubnetResponse) *SubResourceResponse { return v.NatGateway }).(SubResourceResponsePtrOutput) +func (o SubnetResponseV3Output) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *SubResourceResponse { return v.NatGateway }).(SubResourceResponsePtrOutput) } // The reference to the NetworkSecurityGroup resource. -func (o SubnetResponseOutput) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { - return o.ApplyT(func(v SubnetResponse) *NetworkSecurityGroupResponse { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponsePtrOutput) +func (o SubnetResponseV3Output) NetworkSecurityGroup() NetworkSecurityGroupResponseV3PtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *NetworkSecurityGroupResponseV3 { return v.NetworkSecurityGroup }).(NetworkSecurityGroupResponseV3PtrOutput) } // Enable or Disable apply network policies on private end point in the subnet. -func (o SubnetResponseOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringPtrOutput) +func (o SubnetResponseV3Output) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.PrivateEndpointNetworkPolicies }).(pulumi.StringPtrOutput) } // An array of references to private endpoints. -func (o SubnetResponseOutput) PrivateEndpoints() PrivateEndpointResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []PrivateEndpointResponse { return v.PrivateEndpoints }).(PrivateEndpointResponseArrayOutput) +func (o SubnetResponseV3Output) PrivateEndpoints() PrivateEndpointResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []PrivateEndpointResponse { return v.PrivateEndpoints }).(PrivateEndpointResponseArrayOutput) } // Enable or Disable apply network policies on private link service in the subnet. -func (o SubnetResponseOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.PrivateLinkServiceNetworkPolicies }).(pulumi.StringPtrOutput) +func (o SubnetResponseV3Output) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.PrivateLinkServiceNetworkPolicies }).(pulumi.StringPtrOutput) } // The provisioning state of the subnet resource. -func (o SubnetResponseOutput) ProvisioningState() pulumi.StringOutput { - return o.ApplyT(func(v SubnetResponse) string { return v.ProvisioningState }).(pulumi.StringOutput) +func (o SubnetResponseV3Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV3) string { return v.ProvisioningState }).(pulumi.StringOutput) } // A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. -func (o SubnetResponseOutput) Purpose() pulumi.StringOutput { - return o.ApplyT(func(v SubnetResponse) string { return v.Purpose }).(pulumi.StringOutput) +func (o SubnetResponseV3Output) Purpose() pulumi.StringOutput { + return o.ApplyT(func(v SubnetResponseV3) string { return v.Purpose }).(pulumi.StringOutput) } // An array of references to the external resources using subnet. -func (o SubnetResponseOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []ResourceNavigationLinkResponse { return v.ResourceNavigationLinks }).(ResourceNavigationLinkResponseArrayOutput) +func (o SubnetResponseV3Output) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []ResourceNavigationLinkResponse { return v.ResourceNavigationLinks }).(ResourceNavigationLinkResponseArrayOutput) } // The reference to the RouteTable resource. -func (o SubnetResponseOutput) RouteTable() RouteTableResponsePtrOutput { - return o.ApplyT(func(v SubnetResponse) *RouteTableResponse { return v.RouteTable }).(RouteTableResponsePtrOutput) +func (o SubnetResponseV3Output) RouteTable() RouteTableResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *RouteTableResponse { return v.RouteTable }).(RouteTableResponsePtrOutput) } // An array of references to services injecting into this subnet. -func (o SubnetResponseOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []ServiceAssociationLinkResponse { return v.ServiceAssociationLinks }).(ServiceAssociationLinkResponseArrayOutput) +func (o SubnetResponseV3Output) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []ServiceAssociationLinkResponse { return v.ServiceAssociationLinks }).(ServiceAssociationLinkResponseArrayOutput) } // An array of service endpoint policies. -func (o SubnetResponseOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []ServiceEndpointPolicyResponse { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyResponseArrayOutput) +func (o SubnetResponseV3Output) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []ServiceEndpointPolicyResponse { return v.ServiceEndpointPolicies }).(ServiceEndpointPolicyResponseArrayOutput) } // An array of service endpoints. -func (o SubnetResponseOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { - return o.ApplyT(func(v SubnetResponse) []ServiceEndpointPropertiesFormatResponse { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatResponseArrayOutput) +func (o SubnetResponseV3Output) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v SubnetResponseV3) []ServiceEndpointPropertiesFormatResponse { return v.ServiceEndpoints }).(ServiceEndpointPropertiesFormatResponseArrayOutput) } // Reference to an existing service gateway. -func (o SubnetResponseOutput) ServiceGateway() SubResourceResponsePtrOutput { - return o.ApplyT(func(v SubnetResponse) *SubResourceResponse { return v.ServiceGateway }).(SubResourceResponsePtrOutput) +func (o SubnetResponseV3Output) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *SubResourceResponse { return v.ServiceGateway }).(SubResourceResponsePtrOutput) } // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. -func (o SubnetResponseOutput) SharingScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.SharingScope }).(pulumi.StringPtrOutput) +func (o SubnetResponseV3Output) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.SharingScope }).(pulumi.StringPtrOutput) } // Resource type. -func (o SubnetResponseOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetResponse) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o SubnetResponseV3Output) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetResponseV3) *string { return v.Type }).(pulumi.StringPtrOutput) } -type SubnetResponsePtrOutput struct{ *pulumi.OutputState } +type SubnetResponseV3PtrOutput struct{ *pulumi.OutputState } -func (SubnetResponsePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SubnetResponse)(nil)).Elem() +func (SubnetResponseV3PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetResponseV3)(nil)).Elem() } -func (o SubnetResponsePtrOutput) ToSubnetResponsePtrOutput() SubnetResponsePtrOutput { +func (o SubnetResponseV3PtrOutput) ToSubnetResponseV3PtrOutput() SubnetResponseV3PtrOutput { return o } -func (o SubnetResponsePtrOutput) ToSubnetResponsePtrOutputWithContext(ctx context.Context) SubnetResponsePtrOutput { +func (o SubnetResponseV3PtrOutput) ToSubnetResponseV3PtrOutputWithContext(ctx context.Context) SubnetResponseV3PtrOutput { return o } -func (o SubnetResponsePtrOutput) Elem() SubnetResponseOutput { - return o.ApplyT(func(v *SubnetResponse) SubnetResponse { +func (o SubnetResponseV3PtrOutput) Elem() SubnetResponseV3Output { + return o.ApplyT(func(v *SubnetResponseV3) SubnetResponseV3 { if v != nil { return *v } - var ret SubnetResponse + var ret SubnetResponseV3 return ret - }).(SubnetResponseOutput) + }).(SubnetResponseV3Output) } // The address prefix for the subnet. -func (o SubnetResponsePtrOutput) AddressPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) AddressPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7009,8 +17571,8 @@ func (o SubnetResponsePtrOutput) AddressPrefix() pulumi.StringPtrOutput { } // List of address prefixes for the subnet. -func (o SubnetResponsePtrOutput) AddressPrefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []string { +func (o SubnetResponseV3PtrOutput) AddressPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []string { if v == nil { return nil } @@ -7019,8 +17581,8 @@ func (o SubnetResponsePtrOutput) AddressPrefixes() pulumi.StringArrayOutput { } // Application gateway IP configurations of virtual network resource. -func (o SubnetResponsePtrOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []ApplicationGatewayIPConfigurationResponse { +func (o SubnetResponseV3PtrOutput) ApplicationGatewayIPConfigurations() ApplicationGatewayIPConfigurationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []ApplicationGatewayIPConfigurationResponse { if v == nil { return nil } @@ -7028,9 +17590,9 @@ func (o SubnetResponsePtrOutput) ApplicationGatewayIPConfigurations() Applicatio }).(ApplicationGatewayIPConfigurationResponseArrayOutput) } -// Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. -func (o SubnetResponsePtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *bool { +// Set this property to false to disable default outbound connectivity for all VMs in the subnet. +func (o SubnetResponseV3PtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *bool { if v == nil { return nil } @@ -7039,8 +17601,8 @@ func (o SubnetResponsePtrOutput) DefaultOutboundAccess() pulumi.BoolPtrOutput { } // An array of references to the delegations on the subnet. -func (o SubnetResponsePtrOutput) Delegations() DelegationResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []DelegationResponse { +func (o SubnetResponseV3PtrOutput) Delegations() DelegationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []DelegationResponse { if v == nil { return nil } @@ -7049,8 +17611,8 @@ func (o SubnetResponsePtrOutput) Delegations() DelegationResponseArrayOutput { } // A unique read-only string that changes whenever the resource is updated. -func (o SubnetResponsePtrOutput) Etag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7059,8 +17621,8 @@ func (o SubnetResponsePtrOutput) Etag() pulumi.StringPtrOutput { } // Resource ID. -func (o SubnetResponsePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7068,19 +17630,9 @@ func (o SubnetResponsePtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// An array of references to interface endpoints -func (o SubnetResponsePtrOutput) InterfaceEndpoints() InterfaceEndpointResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []InterfaceEndpointResponse { - if v == nil { - return nil - } - return v.InterfaceEndpoints - }).(InterfaceEndpointResponseArrayOutput) -} - // Array of IpAllocation which reference this subnet. -func (o SubnetResponsePtrOutput) IpAllocations() SubResourceResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []SubResourceResponse { +func (o SubnetResponseV3PtrOutput) IpAllocations() SubResourceResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []SubResourceResponse { if v == nil { return nil } @@ -7089,8 +17641,8 @@ func (o SubnetResponsePtrOutput) IpAllocations() SubResourceResponseArrayOutput } // Array of IP configuration profiles which reference this subnet. -func (o SubnetResponsePtrOutput) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []IPConfigurationProfileResponse { +func (o SubnetResponseV3PtrOutput) IpConfigurationProfiles() IPConfigurationProfileResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []IPConfigurationProfileResponse { if v == nil { return nil } @@ -7099,18 +17651,18 @@ func (o SubnetResponsePtrOutput) IpConfigurationProfiles() IPConfigurationProfil } // An array of references to the network interface IP configurations using subnet. -func (o SubnetResponsePtrOutput) IpConfigurations() IPConfigurationResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []IPConfigurationResponse { +func (o SubnetResponseV3PtrOutput) IpConfigurations() IPConfigurationResponseV3ArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []IPConfigurationResponseV3 { if v == nil { return nil } return v.IpConfigurations - }).(IPConfigurationResponseArrayOutput) + }).(IPConfigurationResponseV3ArrayOutput) } // A list of IPAM Pools for allocating IP address prefixes. -func (o SubnetResponsePtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []IpamPoolPrefixAllocationResponse { +func (o SubnetResponseV3PtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAllocationResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []IpamPoolPrefixAllocationResponse { if v == nil { return nil } @@ -7119,8 +17671,8 @@ func (o SubnetResponsePtrOutput) IpamPoolPrefixAllocations() IpamPoolPrefixAlloc } // The name of the resource that is unique within a resource group. This name can be used to access the resource. -func (o SubnetResponsePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7129,8 +17681,8 @@ func (o SubnetResponsePtrOutput) Name() pulumi.StringPtrOutput { } // Nat gateway associated with this subnet. -func (o SubnetResponsePtrOutput) NatGateway() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *SubnetResponse) *SubResourceResponse { +func (o SubnetResponseV3PtrOutput) NatGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *SubResourceResponse { if v == nil { return nil } @@ -7139,18 +17691,18 @@ func (o SubnetResponsePtrOutput) NatGateway() SubResourceResponsePtrOutput { } // The reference to the NetworkSecurityGroup resource. -func (o SubnetResponsePtrOutput) NetworkSecurityGroup() NetworkSecurityGroupResponsePtrOutput { - return o.ApplyT(func(v *SubnetResponse) *NetworkSecurityGroupResponse { +func (o SubnetResponseV3PtrOutput) NetworkSecurityGroup() NetworkSecurityGroupResponseV3PtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *NetworkSecurityGroupResponseV3 { if v == nil { return nil } return v.NetworkSecurityGroup - }).(NetworkSecurityGroupResponsePtrOutput) + }).(NetworkSecurityGroupResponseV3PtrOutput) } // Enable or Disable apply network policies on private end point in the subnet. -func (o SubnetResponsePtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7159,8 +17711,8 @@ func (o SubnetResponsePtrOutput) PrivateEndpointNetworkPolicies() pulumi.StringP } // An array of references to private endpoints. -func (o SubnetResponsePtrOutput) PrivateEndpoints() PrivateEndpointResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []PrivateEndpointResponse { +func (o SubnetResponseV3PtrOutput) PrivateEndpoints() PrivateEndpointResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []PrivateEndpointResponse { if v == nil { return nil } @@ -7169,8 +17721,8 @@ func (o SubnetResponsePtrOutput) PrivateEndpoints() PrivateEndpointResponseArray } // Enable or Disable apply network policies on private link service in the subnet. -func (o SubnetResponsePtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7179,8 +17731,8 @@ func (o SubnetResponsePtrOutput) PrivateLinkServiceNetworkPolicies() pulumi.Stri } // The provisioning state of the subnet resource. -func (o SubnetResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) ProvisioningState() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7189,8 +17741,8 @@ func (o SubnetResponsePtrOutput) ProvisioningState() pulumi.StringPtrOutput { } // A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. -func (o SubnetResponsePtrOutput) Purpose() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) Purpose() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7199,8 +17751,8 @@ func (o SubnetResponsePtrOutput) Purpose() pulumi.StringPtrOutput { } // An array of references to the external resources using subnet. -func (o SubnetResponsePtrOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []ResourceNavigationLinkResponse { +func (o SubnetResponseV3PtrOutput) ResourceNavigationLinks() ResourceNavigationLinkResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []ResourceNavigationLinkResponse { if v == nil { return nil } @@ -7209,8 +17761,8 @@ func (o SubnetResponsePtrOutput) ResourceNavigationLinks() ResourceNavigationLin } // The reference to the RouteTable resource. -func (o SubnetResponsePtrOutput) RouteTable() RouteTableResponsePtrOutput { - return o.ApplyT(func(v *SubnetResponse) *RouteTableResponse { +func (o SubnetResponseV3PtrOutput) RouteTable() RouteTableResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *RouteTableResponse { if v == nil { return nil } @@ -7219,8 +17771,8 @@ func (o SubnetResponsePtrOutput) RouteTable() RouteTableResponsePtrOutput { } // An array of references to services injecting into this subnet. -func (o SubnetResponsePtrOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []ServiceAssociationLinkResponse { +func (o SubnetResponseV3PtrOutput) ServiceAssociationLinks() ServiceAssociationLinkResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []ServiceAssociationLinkResponse { if v == nil { return nil } @@ -7229,8 +17781,8 @@ func (o SubnetResponsePtrOutput) ServiceAssociationLinks() ServiceAssociationLin } // An array of service endpoint policies. -func (o SubnetResponsePtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []ServiceEndpointPolicyResponse { +func (o SubnetResponseV3PtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicyResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []ServiceEndpointPolicyResponse { if v == nil { return nil } @@ -7239,8 +17791,8 @@ func (o SubnetResponsePtrOutput) ServiceEndpointPolicies() ServiceEndpointPolicy } // An array of service endpoints. -func (o SubnetResponsePtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { - return o.ApplyT(func(v *SubnetResponse) []ServiceEndpointPropertiesFormatResponse { +func (o SubnetResponseV3PtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFormatResponseArrayOutput { + return o.ApplyT(func(v *SubnetResponseV3) []ServiceEndpointPropertiesFormatResponse { if v == nil { return nil } @@ -7249,8 +17801,8 @@ func (o SubnetResponsePtrOutput) ServiceEndpoints() ServiceEndpointPropertiesFor } // Reference to an existing service gateway. -func (o SubnetResponsePtrOutput) ServiceGateway() SubResourceResponsePtrOutput { - return o.ApplyT(func(v *SubnetResponse) *SubResourceResponse { +func (o SubnetResponseV3PtrOutput) ServiceGateway() SubResourceResponsePtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *SubResourceResponse { if v == nil { return nil } @@ -7259,8 +17811,8 @@ func (o SubnetResponsePtrOutput) ServiceGateway() SubResourceResponsePtrOutput { } // Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. -func (o SubnetResponsePtrOutput) SharingScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) SharingScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7269,8 +17821,8 @@ func (o SubnetResponsePtrOutput) SharingScope() pulumi.StringPtrOutput { } // Resource type. -func (o SubnetResponsePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetResponse) *string { +func (o SubnetResponseV3PtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetResponseV3) *string { if v == nil { return nil } @@ -7278,26 +17830,6 @@ func (o SubnetResponsePtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type SubnetResponseArrayOutput struct{ *pulumi.OutputState } - -func (SubnetResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubnetResponse)(nil)).Elem() -} - -func (o SubnetResponseArrayOutput) ToSubnetResponseArrayOutput() SubnetResponseArrayOutput { - return o -} - -func (o SubnetResponseArrayOutput) ToSubnetResponseArrayOutputWithContext(ctx context.Context) SubnetResponseArrayOutput { - return o -} - -func (o SubnetResponseArrayOutput) Index(i pulumi.IntInput) SubnetResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetResponse { - return vs[0].([]SubnetResponse)[vs[1].(int)] - }).(SubnetResponseOutput) -} - type SubscriptionId struct { // Subscription id in the ARM id format. Id *string `pulumi:"id"` @@ -16070,6 +26602,148 @@ func (o VirtualNetworkTapResponseArrayOutput) Index(i pulumi.IntInput) VirtualNe }).(VirtualNetworkTapResponseOutput) } +// Virtual Network Tap resource +type VirtualNetworkTapResponseV1 struct { + // The reference to the private IP address on the internal Load Balancer that will receive the tap + DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfigurationResponseV1 `pulumi:"destinationLoadBalancerFrontEndIPConfiguration"` + // The reference to the private IP Address of the collector nic that will receive the tap + DestinationNetworkInterfaceIPConfiguration *NetworkInterfaceIPConfigurationResponse `pulumi:"destinationNetworkInterfaceIPConfiguration"` + // The VXLAN destination port that will receive the tapped traffic. + DestinationPort *int `pulumi:"destinationPort"` + // Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `pulumi:"etag"` + // Resource ID. + Id *string `pulumi:"id"` + // Resource location. + Location *string `pulumi:"location"` + // Resource name. + Name string `pulumi:"name"` + // Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. + NetworkInterfaceTapConfigurations []NetworkInterfaceTapConfigurationResponseV1 `pulumi:"networkInterfaceTapConfigurations"` + // The provisioning state of the virtual network tap. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState string `pulumi:"provisioningState"` + // The resourceGuid property of the virtual network tap. + ResourceGuid string `pulumi:"resourceGuid"` + // Resource tags. + Tags map[string]string `pulumi:"tags"` + // Resource type. + Type string `pulumi:"type"` +} + +// Defaults sets the appropriate defaults for VirtualNetworkTapResponseV1 +func (val *VirtualNetworkTapResponseV1) Defaults() *VirtualNetworkTapResponseV1 { + if val == nil { + return nil + } + tmp := *val + tmp.DestinationLoadBalancerFrontEndIPConfiguration = tmp.DestinationLoadBalancerFrontEndIPConfiguration.Defaults() + + tmp.DestinationNetworkInterfaceIPConfiguration = tmp.DestinationNetworkInterfaceIPConfiguration.Defaults() + + return &tmp +} + +// Virtual Network Tap resource +type VirtualNetworkTapResponseV1Output struct{ *pulumi.OutputState } + +func (VirtualNetworkTapResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNetworkTapResponseV1)(nil)).Elem() +} + +func (o VirtualNetworkTapResponseV1Output) ToVirtualNetworkTapResponseV1Output() VirtualNetworkTapResponseV1Output { + return o +} + +func (o VirtualNetworkTapResponseV1Output) ToVirtualNetworkTapResponseV1OutputWithContext(ctx context.Context) VirtualNetworkTapResponseV1Output { + return o +} + +// The reference to the private IP address on the internal Load Balancer that will receive the tap +func (o VirtualNetworkTapResponseV1Output) DestinationLoadBalancerFrontEndIPConfiguration() FrontendIPConfigurationResponseV1PtrOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) *FrontendIPConfigurationResponseV1 { + return v.DestinationLoadBalancerFrontEndIPConfiguration + }).(FrontendIPConfigurationResponseV1PtrOutput) +} + +// The reference to the private IP Address of the collector nic that will receive the tap +func (o VirtualNetworkTapResponseV1Output) DestinationNetworkInterfaceIPConfiguration() NetworkInterfaceIPConfigurationResponsePtrOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) *NetworkInterfaceIPConfigurationResponse { + return v.DestinationNetworkInterfaceIPConfiguration + }).(NetworkInterfaceIPConfigurationResponsePtrOutput) +} + +// The VXLAN destination port that will receive the tapped traffic. +func (o VirtualNetworkTapResponseV1Output) DestinationPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) *int { return v.DestinationPort }).(pulumi.IntPtrOutput) +} + +// Gets a unique read-only string that changes whenever the resource is updated. +func (o VirtualNetworkTapResponseV1Output) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Resource ID. +func (o VirtualNetworkTapResponseV1Output) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Resource location. +func (o VirtualNetworkTapResponseV1Output) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Resource name. +func (o VirtualNetworkTapResponseV1Output) Name() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) string { return v.Name }).(pulumi.StringOutput) +} + +// Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. +func (o VirtualNetworkTapResponseV1Output) NetworkInterfaceTapConfigurations() NetworkInterfaceTapConfigurationResponseV1ArrayOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) []NetworkInterfaceTapConfigurationResponseV1 { + return v.NetworkInterfaceTapConfigurations + }).(NetworkInterfaceTapConfigurationResponseV1ArrayOutput) +} + +// The provisioning state of the virtual network tap. Possible values are: 'Updating', 'Deleting', and 'Failed'. +func (o VirtualNetworkTapResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The resourceGuid property of the virtual network tap. +func (o VirtualNetworkTapResponseV1Output) ResourceGuid() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) string { return v.ResourceGuid }).(pulumi.StringOutput) +} + +// Resource tags. +func (o VirtualNetworkTapResponseV1Output) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Resource type. +func (o VirtualNetworkTapResponseV1Output) Type() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNetworkTapResponseV1) string { return v.Type }).(pulumi.StringOutput) +} + +type VirtualNetworkTapResponseV1ArrayOutput struct{ *pulumi.OutputState } + +func (VirtualNetworkTapResponseV1ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNetworkTapResponseV1)(nil)).Elem() +} + +func (o VirtualNetworkTapResponseV1ArrayOutput) ToVirtualNetworkTapResponseV1ArrayOutput() VirtualNetworkTapResponseV1ArrayOutput { + return o +} + +func (o VirtualNetworkTapResponseV1ArrayOutput) ToVirtualNetworkTapResponseV1ArrayOutputWithContext(ctx context.Context) VirtualNetworkTapResponseV1ArrayOutput { + return o +} + +func (o VirtualNetworkTapResponseV1ArrayOutput) Index(i pulumi.IntInput) VirtualNetworkTapResponseV1Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualNetworkTapResponseV1 { + return vs[0].([]VirtualNetworkTapResponseV1)[vs[1].(int)] + }).(VirtualNetworkTapResponseV1Output) +} + // The VirtualHub Router autoscale configuration. type VirtualRouterAutoScaleConfiguration struct { // The minimum number of scale units for VirtualHub Router. @@ -22096,6 +32770,100 @@ func (o WebApplicationFirewallScrubbingRulesResponseArrayOutput) Index(i pulumi. } func init() { + pulumi.RegisterOutputType(PrivateEndpointConnectionResponseOutput{}) + pulumi.RegisterOutputType(PrivateEndpointConnectionResponseArrayOutput{}) + pulumi.RegisterOutputType(PrivateEndpointIPConfigurationOutput{}) + pulumi.RegisterOutputType(PrivateEndpointIPConfigurationArrayOutput{}) + pulumi.RegisterOutputType(PrivateEndpointIPConfigurationResponseOutput{}) + pulumi.RegisterOutputType(PrivateEndpointIPConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(PrivateEndpointResponseOutput{}) + pulumi.RegisterOutputType(PrivateEndpointResponseArrayOutput{}) + pulumi.RegisterOutputType(PrivateEndpointResponseV1Output{}) + pulumi.RegisterOutputType(PrivateEndpointResponseV2Output{}) + pulumi.RegisterOutputType(PrivateLinkServiceTypeOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceTypePtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionArrayOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionResponseOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionResponseArrayOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionStateOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionStatePtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionStateResponseOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceConnectionStateResponsePtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationArrayOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationResponseOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceIpConfigurationResponseArrayOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesAutoApprovalOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesAutoApprovalPtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseAutoApprovalOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseAutoApprovalPtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseVisibilityOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesResponseVisibilityPtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesVisibilityOutput{}) + pulumi.RegisterOutputType(PrivateLinkServicePropertiesVisibilityPtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceResponseOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceResponsePtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceResponseV1Output{}) + pulumi.RegisterOutputType(PrivateLinkServiceResponseV1PtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkServiceResponseV2Output{}) + pulumi.RegisterOutputType(PrivateLinkServiceResponseV2PtrOutput{}) + pulumi.RegisterOutputType(ProbeOutput{}) + pulumi.RegisterOutputType(ProbeArrayOutput{}) + pulumi.RegisterOutputType(ProbeResponseOutput{}) + pulumi.RegisterOutputType(ProbeResponseArrayOutput{}) + pulumi.RegisterOutputType(PropagatedRouteTableOutput{}) + pulumi.RegisterOutputType(PropagatedRouteTablePtrOutput{}) + pulumi.RegisterOutputType(PropagatedRouteTableResponseOutput{}) + pulumi.RegisterOutputType(PropagatedRouteTableResponsePtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressTypeOutput{}) + pulumi.RegisterOutputType(PublicIPAddressTypePtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressDnsSettingsOutput{}) + pulumi.RegisterOutputType(PublicIPAddressDnsSettingsPtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressDnsSettingsResponseOutput{}) + pulumi.RegisterOutputType(PublicIPAddressDnsSettingsResponsePtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressDnsSettingsResponseV1Output{}) + pulumi.RegisterOutputType(PublicIPAddressDnsSettingsResponseV1PtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressResponseOutput{}) + pulumi.RegisterOutputType(PublicIPAddressResponsePtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressResponseV1Output{}) + pulumi.RegisterOutputType(PublicIPAddressResponseV1PtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressResponseV2Output{}) + pulumi.RegisterOutputType(PublicIPAddressResponseV2PtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressResponseV3Output{}) + pulumi.RegisterOutputType(PublicIPAddressResponseV3PtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressSkuOutput{}) + pulumi.RegisterOutputType(PublicIPAddressSkuPtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressSkuResponseOutput{}) + pulumi.RegisterOutputType(PublicIPAddressSkuResponsePtrOutput{}) + pulumi.RegisterOutputType(PublicIPAddressSkuResponseV1Output{}) + pulumi.RegisterOutputType(PublicIPAddressSkuResponseV1PtrOutput{}) + pulumi.RegisterOutputType(PublicIPPrefixSkuOutput{}) + pulumi.RegisterOutputType(PublicIPPrefixSkuPtrOutput{}) + pulumi.RegisterOutputType(PublicIPPrefixSkuResponseOutput{}) + pulumi.RegisterOutputType(PublicIPPrefixSkuResponsePtrOutput{}) + pulumi.RegisterOutputType(QosDefinitionOutput{}) + pulumi.RegisterOutputType(QosDefinitionArrayOutput{}) + pulumi.RegisterOutputType(QosDefinitionResponseOutput{}) + pulumi.RegisterOutputType(QosDefinitionResponseArrayOutput{}) + pulumi.RegisterOutputType(QosIpRangeOutput{}) + pulumi.RegisterOutputType(QosIpRangeArrayOutput{}) + pulumi.RegisterOutputType(QosIpRangeResponseOutput{}) + pulumi.RegisterOutputType(QosIpRangeResponseArrayOutput{}) + pulumi.RegisterOutputType(QosPortRangeOutput{}) + pulumi.RegisterOutputType(QosPortRangeArrayOutput{}) + pulumi.RegisterOutputType(QosPortRangeResponseOutput{}) + pulumi.RegisterOutputType(QosPortRangeResponseArrayOutput{}) + pulumi.RegisterOutputType(RadiusAuthServerResponseOutput{}) + pulumi.RegisterOutputType(RadiusAuthServerResponseArrayOutput{}) + pulumi.RegisterOutputType(RadiusServerOutput{}) + pulumi.RegisterOutputType(RadiusServerArrayOutput{}) + pulumi.RegisterOutputType(RadiusServerResponseOutput{}) + pulumi.RegisterOutputType(RadiusServerResponseArrayOutput{}) + pulumi.RegisterOutputType(ReachabilityAnalysisIntentPropertiesOutput{}) + pulumi.RegisterOutputType(ReachabilityAnalysisIntentPropertiesResponseOutput{}) + pulumi.RegisterOutputType(ReachabilityAnalysisRunPropertiesOutput{}) + pulumi.RegisterOutputType(ReachabilityAnalysisRunPropertiesResponseOutput{}) pulumi.RegisterOutputType(RecordSetResponseOutput{}) pulumi.RegisterOutputType(RecordSetResponseArrayOutput{}) pulumi.RegisterOutputType(ReferencedPublicIpAddressResponseOutput{}) @@ -22108,6 +32876,8 @@ func init() { pulumi.RegisterOutputType(ResourceNavigationLinkArrayOutput{}) pulumi.RegisterOutputType(ResourceNavigationLinkResponseOutput{}) pulumi.RegisterOutputType(ResourceNavigationLinkResponseArrayOutput{}) + pulumi.RegisterOutputType(ResourceNavigationLinkResponseV1Output{}) + pulumi.RegisterOutputType(ResourceNavigationLinkResponseV1ArrayOutput{}) pulumi.RegisterOutputType(RetentionPolicyParametersOutput{}) pulumi.RegisterOutputType(RetentionPolicyParametersPtrOutput{}) pulumi.RegisterOutputType(RetentionPolicyParametersResponseOutput{}) @@ -22124,12 +32894,16 @@ func init() { pulumi.RegisterOutputType(RouteMapRuleResponseArrayOutput{}) pulumi.RegisterOutputType(RouteResponseOutput{}) pulumi.RegisterOutputType(RouteResponseArrayOutput{}) + pulumi.RegisterOutputType(RouteResponseV1Output{}) + pulumi.RegisterOutputType(RouteResponseV1ArrayOutput{}) pulumi.RegisterOutputType(RouteSourceDetailsResponseOutput{}) pulumi.RegisterOutputType(RouteSourceDetailsResponseArrayOutput{}) pulumi.RegisterOutputType(RouteTableTypeOutput{}) pulumi.RegisterOutputType(RouteTableTypePtrOutput{}) pulumi.RegisterOutputType(RouteTableResponseOutput{}) pulumi.RegisterOutputType(RouteTableResponsePtrOutput{}) + pulumi.RegisterOutputType(RouteTableResponseV1Output{}) + pulumi.RegisterOutputType(RouteTableResponseV1PtrOutput{}) pulumi.RegisterOutputType(RouteTargetAddressPropertiesFormatOutput{}) pulumi.RegisterOutputType(RouteTargetAddressPropertiesFormatPtrOutput{}) pulumi.RegisterOutputType(RouteTargetAddressPropertiesFormatResponseOutput{}) @@ -22150,6 +32924,8 @@ func init() { pulumi.RegisterOutputType(SecurityRuleTypeArrayOutput{}) pulumi.RegisterOutputType(SecurityRuleResponseOutput{}) pulumi.RegisterOutputType(SecurityRuleResponseArrayOutput{}) + pulumi.RegisterOutputType(SecurityRuleResponseV1Output{}) + pulumi.RegisterOutputType(SecurityRuleResponseV1ArrayOutput{}) pulumi.RegisterOutputType(SecurityUserGroupItemOutput{}) pulumi.RegisterOutputType(SecurityUserGroupItemArrayOutput{}) pulumi.RegisterOutputType(SecurityUserGroupItemResponseOutput{}) @@ -22158,18 +32934,26 @@ func init() { pulumi.RegisterOutputType(ServiceAssociationLinkArrayOutput{}) pulumi.RegisterOutputType(ServiceAssociationLinkResponseOutput{}) pulumi.RegisterOutputType(ServiceAssociationLinkResponseArrayOutput{}) + pulumi.RegisterOutputType(ServiceAssociationLinkResponseV1Output{}) + pulumi.RegisterOutputType(ServiceAssociationLinkResponseV1ArrayOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyTypeOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyTypeArrayOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyDefinitionTypeOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyDefinitionTypeArrayOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyDefinitionResponseOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyDefinitionResponseArrayOutput{}) + pulumi.RegisterOutputType(ServiceEndpointPolicyDefinitionResponseV1Output{}) + pulumi.RegisterOutputType(ServiceEndpointPolicyDefinitionResponseV1ArrayOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyResponseOutput{}) pulumi.RegisterOutputType(ServiceEndpointPolicyResponseArrayOutput{}) + pulumi.RegisterOutputType(ServiceEndpointPolicyResponseV1Output{}) + pulumi.RegisterOutputType(ServiceEndpointPolicyResponseV1ArrayOutput{}) pulumi.RegisterOutputType(ServiceEndpointPropertiesFormatOutput{}) pulumi.RegisterOutputType(ServiceEndpointPropertiesFormatArrayOutput{}) pulumi.RegisterOutputType(ServiceEndpointPropertiesFormatResponseOutput{}) pulumi.RegisterOutputType(ServiceEndpointPropertiesFormatResponseArrayOutput{}) + pulumi.RegisterOutputType(ServiceEndpointPropertiesFormatResponseV1Output{}) + pulumi.RegisterOutputType(ServiceEndpointPropertiesFormatResponseV1ArrayOutput{}) pulumi.RegisterOutputType(ServiceGatewaySkuOutput{}) pulumi.RegisterOutputType(ServiceGatewaySkuPtrOutput{}) pulumi.RegisterOutputType(ServiceGatewaySkuResponseOutput{}) @@ -22204,6 +32988,12 @@ func init() { pulumi.RegisterOutputType(SubnetResponseOutput{}) pulumi.RegisterOutputType(SubnetResponsePtrOutput{}) pulumi.RegisterOutputType(SubnetResponseArrayOutput{}) + pulumi.RegisterOutputType(SubnetResponseV1Output{}) + pulumi.RegisterOutputType(SubnetResponseV1PtrOutput{}) + pulumi.RegisterOutputType(SubnetResponseV2Output{}) + pulumi.RegisterOutputType(SubnetResponseV2PtrOutput{}) + pulumi.RegisterOutputType(SubnetResponseV3Output{}) + pulumi.RegisterOutputType(SubnetResponseV3PtrOutput{}) pulumi.RegisterOutputType(SubscriptionIdOutput{}) pulumi.RegisterOutputType(SubscriptionIdArrayOutput{}) pulumi.RegisterOutputType(SubscriptionIdResponseOutput{}) @@ -22328,6 +33118,8 @@ func init() { pulumi.RegisterOutputType(VirtualNetworkTapResponseOutput{}) pulumi.RegisterOutputType(VirtualNetworkTapResponsePtrOutput{}) pulumi.RegisterOutputType(VirtualNetworkTapResponseArrayOutput{}) + pulumi.RegisterOutputType(VirtualNetworkTapResponseV1Output{}) + pulumi.RegisterOutputType(VirtualNetworkTapResponseV1ArrayOutput{}) pulumi.RegisterOutputType(VirtualRouterAutoScaleConfigurationOutput{}) pulumi.RegisterOutputType(VirtualRouterAutoScaleConfigurationPtrOutput{}) pulumi.RegisterOutputType(VirtualRouterAutoScaleConfigurationResponseOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/virtualNetworkAppliance.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/virtualNetworkAppliance.go index 88a6bac1b..9ac36b4e1 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/virtualNetworkAppliance.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/network/v3/virtualNetworkAppliance.go @@ -35,7 +35,7 @@ type VirtualNetworkAppliance struct { // The resource GUID property of the virtual network appliance resource. ResourceGuid pulumi.StringOutput `pulumi:"resourceGuid"` // The reference to the subnet resource. - Subnet SubnetResponsePtrOutput `pulumi:"subnet"` + Subnet SubnetResponseV3PtrOutput `pulumi:"subnet"` // Resource tags. Tags pulumi.StringMapOutput `pulumi:"tags"` // Resource type. @@ -208,8 +208,8 @@ func (o VirtualNetworkApplianceOutput) ResourceGuid() pulumi.StringOutput { } // The reference to the subnet resource. -func (o VirtualNetworkApplianceOutput) Subnet() SubnetResponsePtrOutput { - return o.ApplyT(func(v *VirtualNetworkAppliance) SubnetResponsePtrOutput { return v.Subnet }).(SubnetResponsePtrOutput) +func (o VirtualNetworkApplianceOutput) Subnet() SubnetResponseV3PtrOutput { + return o.ApplyT(func(v *VirtualNetworkAppliance) SubnetResponseV3PtrOutput { return v.Subnet }).(SubnetResponseV3PtrOutput) } // Resource tags. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtResourceGroup.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtResourceGroup.go index e362c8000..bda79f6a4 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtResourceGroup.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtResourceGroup.go @@ -25,7 +25,7 @@ type DeploymentStacksWhatIfResultsAtResourceGroup struct { // The name of the resource Name pulumi.StringOutput `pulumi:"name"` // The resource-specific properties for this resource. - Properties DeploymentStacksWhatIfResultPropertiesResponseOutput `pulumi:"properties"` + Properties DeploymentStacksWhatIfResultPropertiesResponseV1Output `pulumi:"properties"` // Azure Resource Manager metadata containing createdBy and modifiedBy information. SystemData SystemDataResponseOutput `pulumi:"systemData"` // Resource tags. @@ -162,10 +162,10 @@ func (o DeploymentStacksWhatIfResultsAtResourceGroupOutput) Name() pulumi.String } // The resource-specific properties for this resource. -func (o DeploymentStacksWhatIfResultsAtResourceGroupOutput) Properties() DeploymentStacksWhatIfResultPropertiesResponseOutput { - return o.ApplyT(func(v *DeploymentStacksWhatIfResultsAtResourceGroup) DeploymentStacksWhatIfResultPropertiesResponseOutput { +func (o DeploymentStacksWhatIfResultsAtResourceGroupOutput) Properties() DeploymentStacksWhatIfResultPropertiesResponseV1Output { + return o.ApplyT(func(v *DeploymentStacksWhatIfResultsAtResourceGroup) DeploymentStacksWhatIfResultPropertiesResponseV1Output { return v.Properties - }).(DeploymentStacksWhatIfResultPropertiesResponseOutput) + }).(DeploymentStacksWhatIfResultPropertiesResponseV1Output) } // Azure Resource Manager metadata containing createdBy and modifiedBy information. diff --git a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtSubscription.go b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtSubscription.go index f70445ba3..c376980ad 100644 --- a/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtSubscription.go +++ b/vendor/github.com/pulumi/pulumi-azure-native-sdk/resources/v3/deploymentStacksWhatIfResultsAtSubscription.go @@ -24,7 +24,7 @@ type DeploymentStacksWhatIfResultsAtSubscription struct { // The name of the resource Name pulumi.StringOutput `pulumi:"name"` // The resource-specific properties for this resource. - Properties DeploymentStacksWhatIfResultPropertiesResponseOutput `pulumi:"properties"` + Properties DeploymentStacksWhatIfResultPropertiesResponseV2Output `pulumi:"properties"` // Azure Resource Manager metadata containing createdBy and modifiedBy information. SystemData SystemDataResponseOutput `pulumi:"systemData"` // Resource tags. @@ -154,10 +154,10 @@ func (o DeploymentStacksWhatIfResultsAtSubscriptionOutput) Name() pulumi.StringO } // The resource-specific properties for this resource. -func (o DeploymentStacksWhatIfResultsAtSubscriptionOutput) Properties() DeploymentStacksWhatIfResultPropertiesResponseOutput { - return o.ApplyT(func(v *DeploymentStacksWhatIfResultsAtSubscription) DeploymentStacksWhatIfResultPropertiesResponseOutput { +func (o DeploymentStacksWhatIfResultsAtSubscriptionOutput) Properties() DeploymentStacksWhatIfResultPropertiesResponseV2Output { + return o.ApplyT(func(v *DeploymentStacksWhatIfResultsAtSubscription) DeploymentStacksWhatIfResultPropertiesResponseV2Output { return v.Properties - }).(DeploymentStacksWhatIfResultPropertiesResponseOutput) + }).(DeploymentStacksWhatIfResultPropertiesResponseV2Output) } // Azure Resource Manager metadata containing createdBy and modifiedBy information. 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.0" } 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 3a99721fc..30cac9705 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 @@ -218,8 +218,6 @@ type ActionOnUnmanageResponse struct { ResourceGroups *string `pulumi:"resourceGroups"` // 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"` } // Defines the behavior of resources that are no longer managed after the stack is updated or deleted. @@ -252,9 +250,145 @@ func (o ActionOnUnmanageResponseOutput) Resources() pulumi.StringOutput { return o.ApplyT(func(v ActionOnUnmanageResponse) string { return v.Resources }).(pulumi.StringOutput) } +// Defines the behavior of resources that are no longer managed after the stack is updated or deleted. +type ActionOnUnmanageResponseV1 struct { + // Specifies an action for a newly unmanaged resource management group. + ManagementGroups *string `pulumi:"managementGroups"` + // Specifies an action for a newly unmanaged resource group. + ResourceGroups *string `pulumi:"resourceGroups"` + // 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"` +} + +// Defines the behavior of resources that are no longer managed after the stack is updated or deleted. +type ActionOnUnmanageResponseV1Output struct{ *pulumi.OutputState } + +func (ActionOnUnmanageResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActionOnUnmanageResponseV1)(nil)).Elem() +} + +func (o ActionOnUnmanageResponseV1Output) ToActionOnUnmanageResponseV1Output() ActionOnUnmanageResponseV1Output { + return o +} + +func (o ActionOnUnmanageResponseV1Output) ToActionOnUnmanageResponseV1OutputWithContext(ctx context.Context) ActionOnUnmanageResponseV1Output { + return o +} + +// Specifies an action for a newly unmanaged resource management group. +func (o ActionOnUnmanageResponseV1Output) ManagementGroups() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV1) *string { return v.ManagementGroups }).(pulumi.StringPtrOutput) +} + +// Specifies an action for a newly unmanaged resource group. +func (o ActionOnUnmanageResponseV1Output) ResourceGroups() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV1) *string { return v.ResourceGroups }).(pulumi.StringPtrOutput) +} + +// Specifies an action for a newly unmanaged resource. +func (o ActionOnUnmanageResponseV1Output) Resources() pulumi.StringOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV1) string { return v.Resources }).(pulumi.StringOutput) +} + +// Some resources do not support deletion. This flag will denote how the stack should handle those resources. +func (o ActionOnUnmanageResponseV1Output) ResourcesWithoutDeleteSupport() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV1) *string { return v.ResourcesWithoutDeleteSupport }).(pulumi.StringPtrOutput) +} + +// Defines the behavior of resources that are no longer managed after the stack is updated or deleted. +type ActionOnUnmanageResponseV2 struct { + // Specifies an action for a newly unmanaged resource management group. + ManagementGroups *string `pulumi:"managementGroups"` + // Specifies an action for a newly unmanaged resource group. + ResourceGroups *string `pulumi:"resourceGroups"` + // 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"` +} + +// Defines the behavior of resources that are no longer managed after the stack is updated or deleted. +type ActionOnUnmanageResponseV2Output struct{ *pulumi.OutputState } + +func (ActionOnUnmanageResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActionOnUnmanageResponseV2)(nil)).Elem() +} + +func (o ActionOnUnmanageResponseV2Output) ToActionOnUnmanageResponseV2Output() ActionOnUnmanageResponseV2Output { + return o +} + +func (o ActionOnUnmanageResponseV2Output) ToActionOnUnmanageResponseV2OutputWithContext(ctx context.Context) ActionOnUnmanageResponseV2Output { + return o +} + +// Specifies an action for a newly unmanaged resource management group. +func (o ActionOnUnmanageResponseV2Output) ManagementGroups() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV2) *string { return v.ManagementGroups }).(pulumi.StringPtrOutput) +} + +// Specifies an action for a newly unmanaged resource group. +func (o ActionOnUnmanageResponseV2Output) ResourceGroups() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV2) *string { return v.ResourceGroups }).(pulumi.StringPtrOutput) +} + +// Specifies an action for a newly unmanaged resource. +func (o ActionOnUnmanageResponseV2Output) Resources() pulumi.StringOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV2) string { return v.Resources }).(pulumi.StringOutput) +} + +// Some resources do not support deletion. This flag will denote how the stack should handle those resources. +func (o ActionOnUnmanageResponseV2Output) ResourcesWithoutDeleteSupport() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV2) *string { return v.ResourcesWithoutDeleteSupport }).(pulumi.StringPtrOutput) +} + +// Defines the behavior of resources that are no longer managed after the stack is updated or deleted. +type ActionOnUnmanageResponseV3 struct { + // Specifies an action for a newly unmanaged resource management group. + ManagementGroups *string `pulumi:"managementGroups"` + // Specifies an action for a newly unmanaged resource group. + ResourceGroups *string `pulumi:"resourceGroups"` + // 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"` +} + +// Defines the behavior of resources that are no longer managed after the stack is updated or deleted. +type ActionOnUnmanageResponseV3Output struct{ *pulumi.OutputState } + +func (ActionOnUnmanageResponseV3Output) ElementType() reflect.Type { + return reflect.TypeOf((*ActionOnUnmanageResponseV3)(nil)).Elem() +} + +func (o ActionOnUnmanageResponseV3Output) ToActionOnUnmanageResponseV3Output() ActionOnUnmanageResponseV3Output { + return o +} + +func (o ActionOnUnmanageResponseV3Output) ToActionOnUnmanageResponseV3OutputWithContext(ctx context.Context) ActionOnUnmanageResponseV3Output { + return o +} + +// Specifies an action for a newly unmanaged resource management group. +func (o ActionOnUnmanageResponseV3Output) ManagementGroups() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV3) *string { return v.ManagementGroups }).(pulumi.StringPtrOutput) +} + +// Specifies an action for a newly unmanaged resource group. +func (o ActionOnUnmanageResponseV3Output) ResourceGroups() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV3) *string { return v.ResourceGroups }).(pulumi.StringPtrOutput) +} + +// Specifies an action for a newly unmanaged resource. +func (o ActionOnUnmanageResponseV3Output) Resources() pulumi.StringOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV3) string { return v.Resources }).(pulumi.StringOutput) +} + // Some resources do not support deletion. This flag will denote how the stack should handle those resources. -func (o ActionOnUnmanageResponseOutput) ResourcesWithoutDeleteSupport() pulumi.StringPtrOutput { - return o.ApplyT(func(v ActionOnUnmanageResponse) *string { return v.ResourcesWithoutDeleteSupport }).(pulumi.StringPtrOutput) +func (o ActionOnUnmanageResponseV3Output) ResourcesWithoutDeleteSupport() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionOnUnmanageResponseV3) *string { return v.ResourcesWithoutDeleteSupport }).(pulumi.StringPtrOutput) } type AliasPathMetadataResponse struct { @@ -4226,7 +4360,7 @@ func (o DeploymentStacksWhatIfResultPropertiesPtrOutput) ValidationLevel() pulum // DeploymentStack WhatIfResult Properties type DeploymentStacksWhatIfResultPropertiesResponse struct { // Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted. - ActionOnUnmanage ActionOnUnmanageResponse `pulumi:"actionOnUnmanage"` + ActionOnUnmanage ActionOnUnmanageResponseV1 `pulumi:"actionOnUnmanage"` // All of the changes predicted by the deployment stack what-if operation. Changes DeploymentStacksWhatIfChangeResponse `pulumi:"changes"` // The correlation id of the last Deployment stack upsert or delete operation. It is in GUID format and is used for tracing. @@ -4275,10 +4409,10 @@ func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) ToDeploymentStacks } // Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted. -func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) ActionOnUnmanage() ActionOnUnmanageResponseOutput { - return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponse) ActionOnUnmanageResponse { +func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) ActionOnUnmanage() ActionOnUnmanageResponseV1Output { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponse) ActionOnUnmanageResponseV1 { return v.ActionOnUnmanage - }).(ActionOnUnmanageResponseOutput) + }).(ActionOnUnmanageResponseV1Output) } // All of the changes predicted by the deployment stack what-if operation. @@ -4366,6 +4500,292 @@ func (o DeploymentStacksWhatIfResultPropertiesResponseOutput) ValidationLevel() return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponse) *string { return v.ValidationLevel }).(pulumi.StringPtrOutput) } +// DeploymentStack WhatIfResult Properties +type DeploymentStacksWhatIfResultPropertiesResponseV1 struct { + // Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted. + ActionOnUnmanage ActionOnUnmanageResponseV2 `pulumi:"actionOnUnmanage"` + // All of the changes predicted by the deployment stack what-if operation. + Changes DeploymentStacksWhatIfChangeResponse `pulumi:"changes"` + // The correlation id of the last Deployment stack upsert or delete operation. It is in GUID format and is used for tracing. + CorrelationId string `pulumi:"correlationId"` + // The debug setting of the deployment. + DebugSetting *DeploymentStacksDebugSettingResponse `pulumi:"debugSetting"` + // Defines how resources deployed by the stack are locked. + DenySettings DenySettingsResponse `pulumi:"denySettings"` + // The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}'). + DeploymentScope *string `pulumi:"deploymentScope"` + // The timestamp for when the deployment stack was last modified. This can be used to determine if the what-if data is still current. + DeploymentStackLastModified string `pulumi:"deploymentStackLastModified"` + // The deployment stack id to use as the basis for comparison. + DeploymentStackResourceId string `pulumi:"deploymentStackResourceId"` + // Deployment stack description. Max length of 4096 characters. + Description *string `pulumi:"description"` + // List of resource diagnostics detected by What-If operation. + Diagnostics []DeploymentStacksDiagnosticResponse `pulumi:"diagnostics"` + // The error detail. + 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. + ParametersLink *DeploymentStacksParametersLinkResponse `pulumi:"parametersLink"` + // State of the deployment stack. + ProvisioningState string `pulumi:"provisioningState"` + // The interval to persist the deployment stack what-if result in ISO 8601 format. + RetentionInterval string `pulumi:"retentionInterval"` + // The validation level of the deployment stack + ValidationLevel *string `pulumi:"validationLevel"` +} + +// DeploymentStack WhatIfResult Properties +type DeploymentStacksWhatIfResultPropertiesResponseV1Output struct{ *pulumi.OutputState } + +func (DeploymentStacksWhatIfResultPropertiesResponseV1Output) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStacksWhatIfResultPropertiesResponseV1)(nil)).Elem() +} + +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) ToDeploymentStacksWhatIfResultPropertiesResponseV1Output() DeploymentStacksWhatIfResultPropertiesResponseV1Output { + return o +} + +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) ToDeploymentStacksWhatIfResultPropertiesResponseV1OutputWithContext(ctx context.Context) DeploymentStacksWhatIfResultPropertiesResponseV1Output { + return o +} + +// Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) ActionOnUnmanage() ActionOnUnmanageResponseV2Output { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) ActionOnUnmanageResponseV2 { + return v.ActionOnUnmanage + }).(ActionOnUnmanageResponseV2Output) +} + +// All of the changes predicted by the deployment stack what-if operation. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) Changes() DeploymentStacksWhatIfChangeResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) DeploymentStacksWhatIfChangeResponse { + return v.Changes + }).(DeploymentStacksWhatIfChangeResponseOutput) +} + +// The correlation id of the last Deployment stack upsert or delete operation. It is in GUID format and is used for tracing. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) CorrelationId() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) string { return v.CorrelationId }).(pulumi.StringOutput) +} + +// The debug setting of the deployment. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) DebugSetting() DeploymentStacksDebugSettingResponsePtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) *DeploymentStacksDebugSettingResponse { + return v.DebugSetting + }).(DeploymentStacksDebugSettingResponsePtrOutput) +} + +// Defines how resources deployed by the stack are locked. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) DenySettings() DenySettingsResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) DenySettingsResponse { return v.DenySettings }).(DenySettingsResponseOutput) +} + +// The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}'). +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) DeploymentScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) *string { return v.DeploymentScope }).(pulumi.StringPtrOutput) +} + +// The timestamp for when the deployment stack was last modified. This can be used to determine if the what-if data is still current. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) DeploymentStackLastModified() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) string { return v.DeploymentStackLastModified }).(pulumi.StringOutput) +} + +// The deployment stack id to use as the basis for comparison. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) DeploymentStackResourceId() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) string { return v.DeploymentStackResourceId }).(pulumi.StringOutput) +} + +// Deployment stack description. Max length of 4096 characters. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// List of resource diagnostics detected by What-If operation. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) Diagnostics() DeploymentStacksDiagnosticResponseArrayOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) []DeploymentStacksDiagnosticResponse { + return v.Diagnostics + }).(DeploymentStacksDiagnosticResponseArrayOutput) +} + +// The error detail. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) 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. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) Parameters() DeploymentParameterResponseMapOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) map[string]DeploymentParameterResponse { + return v.Parameters + }).(DeploymentParameterResponseMapOutput) +} + +// 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. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) ParametersLink() DeploymentStacksParametersLinkResponsePtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) *DeploymentStacksParametersLinkResponse { + return v.ParametersLink + }).(DeploymentStacksParametersLinkResponsePtrOutput) +} + +// State of the deployment stack. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The interval to persist the deployment stack what-if result in ISO 8601 format. +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) RetentionInterval() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) string { return v.RetentionInterval }).(pulumi.StringOutput) +} + +// The validation level of the deployment stack +func (o DeploymentStacksWhatIfResultPropertiesResponseV1Output) ValidationLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV1) *string { return v.ValidationLevel }).(pulumi.StringPtrOutput) +} + +// DeploymentStack WhatIfResult Properties +type DeploymentStacksWhatIfResultPropertiesResponseV2 struct { + // Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted. + ActionOnUnmanage ActionOnUnmanageResponseV3 `pulumi:"actionOnUnmanage"` + // All of the changes predicted by the deployment stack what-if operation. + Changes DeploymentStacksWhatIfChangeResponse `pulumi:"changes"` + // The correlation id of the last Deployment stack upsert or delete operation. It is in GUID format and is used for tracing. + CorrelationId string `pulumi:"correlationId"` + // The debug setting of the deployment. + DebugSetting *DeploymentStacksDebugSettingResponse `pulumi:"debugSetting"` + // Defines how resources deployed by the stack are locked. + DenySettings DenySettingsResponse `pulumi:"denySettings"` + // The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}'). + DeploymentScope *string `pulumi:"deploymentScope"` + // The timestamp for when the deployment stack was last modified. This can be used to determine if the what-if data is still current. + DeploymentStackLastModified string `pulumi:"deploymentStackLastModified"` + // The deployment stack id to use as the basis for comparison. + DeploymentStackResourceId string `pulumi:"deploymentStackResourceId"` + // Deployment stack description. Max length of 4096 characters. + Description *string `pulumi:"description"` + // List of resource diagnostics detected by What-If operation. + Diagnostics []DeploymentStacksDiagnosticResponse `pulumi:"diagnostics"` + // The error detail. + 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. + ParametersLink *DeploymentStacksParametersLinkResponse `pulumi:"parametersLink"` + // State of the deployment stack. + ProvisioningState string `pulumi:"provisioningState"` + // The interval to persist the deployment stack what-if result in ISO 8601 format. + RetentionInterval string `pulumi:"retentionInterval"` + // The validation level of the deployment stack + ValidationLevel *string `pulumi:"validationLevel"` +} + +// DeploymentStack WhatIfResult Properties +type DeploymentStacksWhatIfResultPropertiesResponseV2Output struct{ *pulumi.OutputState } + +func (DeploymentStacksWhatIfResultPropertiesResponseV2Output) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStacksWhatIfResultPropertiesResponseV2)(nil)).Elem() +} + +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) ToDeploymentStacksWhatIfResultPropertiesResponseV2Output() DeploymentStacksWhatIfResultPropertiesResponseV2Output { + return o +} + +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) ToDeploymentStacksWhatIfResultPropertiesResponseV2OutputWithContext(ctx context.Context) DeploymentStacksWhatIfResultPropertiesResponseV2Output { + return o +} + +// Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) ActionOnUnmanage() ActionOnUnmanageResponseV3Output { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) ActionOnUnmanageResponseV3 { + return v.ActionOnUnmanage + }).(ActionOnUnmanageResponseV3Output) +} + +// All of the changes predicted by the deployment stack what-if operation. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) Changes() DeploymentStacksWhatIfChangeResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) DeploymentStacksWhatIfChangeResponse { + return v.Changes + }).(DeploymentStacksWhatIfChangeResponseOutput) +} + +// The correlation id of the last Deployment stack upsert or delete operation. It is in GUID format and is used for tracing. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) CorrelationId() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) string { return v.CorrelationId }).(pulumi.StringOutput) +} + +// The debug setting of the deployment. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) DebugSetting() DeploymentStacksDebugSettingResponsePtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) *DeploymentStacksDebugSettingResponse { + return v.DebugSetting + }).(DeploymentStacksDebugSettingResponsePtrOutput) +} + +// Defines how resources deployed by the stack are locked. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) DenySettings() DenySettingsResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) DenySettingsResponse { return v.DenySettings }).(DenySettingsResponseOutput) +} + +// The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}'). +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) DeploymentScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) *string { return v.DeploymentScope }).(pulumi.StringPtrOutput) +} + +// The timestamp for when the deployment stack was last modified. This can be used to determine if the what-if data is still current. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) DeploymentStackLastModified() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) string { return v.DeploymentStackLastModified }).(pulumi.StringOutput) +} + +// The deployment stack id to use as the basis for comparison. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) DeploymentStackResourceId() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) string { return v.DeploymentStackResourceId }).(pulumi.StringOutput) +} + +// Deployment stack description. Max length of 4096 characters. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// List of resource diagnostics detected by What-If operation. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) Diagnostics() DeploymentStacksDiagnosticResponseArrayOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) []DeploymentStacksDiagnosticResponse { + return v.Diagnostics + }).(DeploymentStacksDiagnosticResponseArrayOutput) +} + +// The error detail. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) Error() ErrorDetailResponseOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) 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. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) Parameters() DeploymentParameterResponseMapOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) map[string]DeploymentParameterResponse { + return v.Parameters + }).(DeploymentParameterResponseMapOutput) +} + +// 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. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) ParametersLink() DeploymentStacksParametersLinkResponsePtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) *DeploymentStacksParametersLinkResponse { + return v.ParametersLink + }).(DeploymentStacksParametersLinkResponsePtrOutput) +} + +// State of the deployment stack. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) ProvisioningState() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) string { return v.ProvisioningState }).(pulumi.StringOutput) +} + +// The interval to persist the deployment stack what-if result in ISO 8601 format. +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) RetentionInterval() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) string { return v.RetentionInterval }).(pulumi.StringOutput) +} + +// The validation level of the deployment stack +func (o DeploymentStacksWhatIfResultPropertiesResponseV2Output) ValidationLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStacksWhatIfResultPropertiesResponseV2) *string { return v.ValidationLevel }).(pulumi.StringPtrOutput) +} + // The environment variable to pass to the script in the container instance. type EnvironmentVariable struct { // The name of the environment variable. @@ -8883,6 +9303,9 @@ func init() { pulumi.RegisterOutputType(ActionOnUnmanageOutput{}) pulumi.RegisterOutputType(ActionOnUnmanagePtrOutput{}) pulumi.RegisterOutputType(ActionOnUnmanageResponseOutput{}) + pulumi.RegisterOutputType(ActionOnUnmanageResponseV1Output{}) + pulumi.RegisterOutputType(ActionOnUnmanageResponseV2Output{}) + pulumi.RegisterOutputType(ActionOnUnmanageResponseV3Output{}) pulumi.RegisterOutputType(AliasPathMetadataResponseOutput{}) pulumi.RegisterOutputType(AliasPathResponseOutput{}) pulumi.RegisterOutputType(AliasPathResponseArrayOutput{}) @@ -8955,6 +9378,8 @@ func init() { pulumi.RegisterOutputType(DeploymentStacksWhatIfResultPropertiesOutput{}) pulumi.RegisterOutputType(DeploymentStacksWhatIfResultPropertiesPtrOutput{}) pulumi.RegisterOutputType(DeploymentStacksWhatIfResultPropertiesResponseOutput{}) + pulumi.RegisterOutputType(DeploymentStacksWhatIfResultPropertiesResponseV1Output{}) + pulumi.RegisterOutputType(DeploymentStacksWhatIfResultPropertiesResponseV2Output{}) pulumi.RegisterOutputType(EnvironmentVariableOutput{}) pulumi.RegisterOutputType(EnvironmentVariableArrayOutput{}) pulumi.RegisterOutputType(EnvironmentVariableResponseOutput{}) 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 8a44784f7..4fa9d47df 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.15.0" + "version": "3.16.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 6201b8a81..dba2a7f7d 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.15.0") + version := semver.MustParse("3.16.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.15.0") + version := semver.MustParse("3.16.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/pulumi-plugin.json index eb3efadc4..ceba26865 100644 --- a/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "kubernetes", - "version": "4.27.0" + "version": "4.28.0" } diff --git a/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/utilities/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/utilities/pulumiUtilities.go index 0eb56734b..6b35cc8c9 100644 --- a/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/utilities/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/utilities/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("4.27.0") + version := semver.MustParse("4.28.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("4.27.0") + version := semver.MustParse("4.28.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 16d973730..833978337 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/.version +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/.version @@ -1 +1 @@ -3.225.1 +3.227.0 diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/cmd.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/cmd.go index 24bd881a5..d2f428a22 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/cmd.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/cmd.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/debug/debuglogging.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/debug/debuglogging.go index eb1df3cc0..199e32c09 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/debug/debuglogging.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/debug/debuglogging.go @@ -1,4 +1,4 @@ -// Copyright 2020-2024, Pulumi Corporation. +// Copyright 2020, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/errors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/errors.go index b0f24a7a0..b2a65e934 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/errors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/errors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/events/events.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/events/events.go index 6348bb307..2124251d6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/events/events.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/events/events.go @@ -1,4 +1,4 @@ -// Copyright 2021-2024, Pulumi Corporation. +// Copyright 2021, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/git.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/git.go index 0cd740435..bfb91c076 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/git.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/git.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/local_workspace.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/local_workspace.go index 9057ef339..3b6f0398a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/local_workspace.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/local_workspace.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/minimum_version.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/minimum_version.go index 14e8a3a24..fb777bd42 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/minimum_version.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/minimum_version.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optdestroy/optdestroy.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optdestroy/optdestroy.go index 9788685bd..3952cbcde 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optdestroy/optdestroy.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optdestroy/optdestroy.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -189,7 +189,7 @@ type Options struct { ExcludeDependents bool // ProgressStreams allows specifying one or more io.Writers to redirect incremental destroy stdout ProgressStreams []io.Writer - // ProgressStreams allows specifying one or more io.Writers to redirect incremental destroy stderr + // ErrorProgressStreams allows specifying one or more io.Writers to redirect incremental destroy stderr ErrorProgressStreams []io.Writer // EventStreams allows specifying one or more channels to receive the Pulumi event stream EventStreams []chan<- events.EngineEvent diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/opthistory/opthistory.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/opthistory/opthistory.go index 24ed94949..74d83cccc 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/opthistory/opthistory.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/opthistory/opthistory.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optimport/optimport.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optimport/optimport.go index 318652b18..03c49b23d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optimport/optimport.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optimport/optimport.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optlist/optlist.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optlist/optlist.go index 0e6d72f15..f39785478 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optlist/optlist.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optlist/optlist.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optpreview/optpreview.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optpreview/optpreview.go index 399214bdd..7a0abf847 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optpreview/optpreview.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optpreview/optpreview.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrefresh/optrefresh.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrefresh/optrefresh.go index 5ca75bfaf..71a8ddac6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrefresh/optrefresh.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrefresh/optrefresh.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotedestroy/optremotedestroy.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotedestroy/optremotedestroy.go index bbbffd59d..41f33ccff 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotedestroy/optremotedestroy.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotedestroy/optremotedestroy.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotepreview/optremotepreview.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotepreview/optremotepreview.go index 40c1bcb27..57f6774dd 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotepreview/optremotepreview.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremotepreview/optremotepreview.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoterefresh/optremoterefresh.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoterefresh/optremoterefresh.go index ce017d1e3..9babf7ee1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoterefresh/optremoterefresh.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoterefresh/optremoterefresh.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoteup/optremoteup.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoteup/optremoteup.go index d1386b9a3..d083560f9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoteup/optremoteup.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremoteup/optremoteup.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremove/optremove.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremove/optremove.go index c34a0f677..f74efecb9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremove/optremove.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optremove/optremove.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrename/optrename.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrename/optrename.go index 3d8ea50bd..be9ff7bed 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrename/optrename.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optrename/optrename.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optup/optup.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optup/optup.go index 8052b6ae4..6d5e31571 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optup/optup.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/optup/optup.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_stack.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_stack.go index 1744c6dc5..bef6ed561 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_stack.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_stack.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_workspace.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_workspace.go index 7c881767a..d9ad37494 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_workspace.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/remote_workspace.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/stack.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/stack.go index 155b8f839..2b29ab3c4 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/stack.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/stack.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/workspace.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/workspace.go index dea3d3e94..fe3228a9d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/workspace.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/auto/workspace.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/cli.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/cli.go index 3b2df33db..83393279d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/cli.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/cli.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/core.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/core.go index 8cf4316a2..ff4f2949e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/core.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/core.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/deployments.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/deployments.go index 4d25f6c77..cc01042c7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/deployments.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/deployments.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/environments.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/environments.go index 563513227..c6e41972d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/environments.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/environments.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/errors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/errors.go index bab3b7431..d2dce359a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/errors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/errors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/events.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/events.go index 8a02b76b5..16a2a2e39 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/events.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/events.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/history.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/history.go index 531326f4e..d114f5692 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/history.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/history.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/logs.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/logs.go index e52ed2c1e..d1019d2c7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/logs.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/logs.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/oauth.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/oauth.go index b4f76a446..9e91a6566 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/oauth.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/oauth.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/organizations.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/organizations.go index a6c83b9fa..89f6b6047 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/organizations.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/organizations.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/package.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/package.go index 583aedba4..2183c39ba 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/package.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/package.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plan.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plan.go index 797c84724..7e19b8abf 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plan.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plan.go @@ -1,10 +1,10 @@ -// Copyright 2022-2024, Pulumi Corporation. +// Copyright 2022, 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 +// 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, diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plugins.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plugins.go index 0772356bd..9242a8bc7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plugins.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/plugins.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go index 9e0de8585..fe44a3670 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/search.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/search.go index c8b5fc673..c0aaadfe0 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/search.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/search.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/service.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/service.go index 2125c42a6..ffc336350 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/service.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/service.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/stacks.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/stacks.go index 8ce5979ae..da97cbe96 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/stacks.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/stacks.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/templates.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/templates.go index 007d70d84..8049a6ba2 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/templates.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/templates.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/updates.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/updates.go index d34b67ca2..b736ae37e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/updates.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/updates.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/constant/exec_kind.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/constant/exec_kind.go index 94a990f45..7e909f982 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/constant/exec_kind.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/constant/exec_kind.go @@ -1,4 +1,4 @@ -// Copyright 2020-2024, Pulumi Corporation. +// Copyright 2020, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/colors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/colors.go index df78e0485..43150be6c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/colors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/colors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/diag.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/diag.go index ad5861a90..e60823b52 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/diag.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/diag.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/windows.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/windows.go index 9e0fd13b8..b0fa0423e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/windows.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/colors/windows.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/diag.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/diag.go index 87c3e4d77..119c5e4c3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/diag.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/diag.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/errors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/errors.go index 87f0221de..16af9654e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/errors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/errors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/sink.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/sink.go index 1e4b4afea..c0554521c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/sink.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/diag/sink.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/init.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/init.go index 6cfbd3ce6..7bc8f0f8f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/init.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/init.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/marshal.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/marshal.go index a5ef18d39..6231aa2c1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/marshal.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/encoding/marshal.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 d234d252a..2cd75abda 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/promise/promise.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/promise/promise.go index 3c86e9c58..80cc7d2cb 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/promise/promise.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/promise/promise.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/providers/reference.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/providers/reference.go index 26f15f143..3c85243e3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/providers/reference.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/providers/reference.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/alias.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/alias.go index c94b34e67..0791a680f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/alias.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/alias.go @@ -1,10 +1,10 @@ -// Copyright 2022-2024, Pulumi Corporation. +// Copyright 2022, 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 +// 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, diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/archive/archive.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/archive/archive.go index be6190879..2fa947c85 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/archive/archive.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/archive/archive.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset.go index 869267f87..dc2ca7ce9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset/asset.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset/asset.go index 6a64659dd..421096c6a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset/asset.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/asset/asset.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/batch.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/batch.go index b1ed690a0..82fc8c475 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/batch.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/batch.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/crypt.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/crypt.go index dc58a0872..46a042986 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/crypt.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/crypt.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/key.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/key.go index ea608758c..7034f9c09 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/key.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/key.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/map.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/map.go index 9f4d000e0..a4440de70 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/map.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/map.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/object.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/object.go index 8e624c6d2..508bff706 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/object.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/object.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/plaintext.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/plaintext.go index 96c581e11..61cd7134f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/plaintext.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/plaintext.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/secret.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/secret.go index 1007d92dc..241b1e270 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/secret.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/secret.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/value.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/value.go index a33b8fc6f..3c2d1d4cf 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/value.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/config/value.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/custom_timeouts.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/custom_timeouts.go index 40e127481..e926f8f20 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/custom_timeouts.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/custom_timeouts.go @@ -1,4 +1,4 @@ -// Copyright 2019-2024, Pulumi Corporation. +// Copyright 2019, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/errors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/errors.go index 4a1f66778..45f873863 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/errors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/errors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer.go index 224c7693b..5c7575284 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer_plugin.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer_plugin.go index afc793052..9fdb0a97e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer_plugin.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/analyzer_plugin.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -171,14 +171,7 @@ func NewPolicyAnalyzer( pluginPath, err = workspace.GetPluginPath( ctx.baseContext, ctx.Diag, workspace.PluginDescriptor{Name: policyAnalyzerName, Kind: apitype.AnalyzerPlugin}, host.GetProjectPlugins()) - - var e *workspace.MissingError - if errors.As(err, &e) { - return nil, fmt.Errorf("could not start policy pack %q because the built-in analyzer "+ - "plugin that runs policy plugins is missing. This might occur when the plugin "+ - "directory is not on your $PATH, or when the installed version of the Pulumi SDK "+ - "does not support resource policies", string(name)) - } else if err != nil { + if err != nil { return nil, err } diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/check.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/check.go index 09ddf63e3..b1964735d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/check.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/check.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/config_source.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/config_source.go index 00664688e..2b9355039 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/config_source.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/config_source.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/context.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/context.go index c4cf820d8..8dc9b2d63 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/context.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/context.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter.go index 6c9203f01..a81f5960a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_plugin.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_plugin.go index 27db9cef1..a70af8107 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_plugin.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_plugin.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_server.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_server.go index b338bd571..dc1b6c216 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_server.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/converter_server.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/diagnostic.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/diagnostic.go index 2c55c1dc6..eafe08a87 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/diagnostic.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/diagnostic.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/doc.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/doc.go index 70b94ff16..46a0aa65a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/doc.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/doc.go @@ -1,4 +1,4 @@ -// Copyright 2021-2024, Pulumi Corporation. +// Copyright 2021, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go index 26a37eee9..0bb2fba59 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host_server.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host_server.go index 3f0151834..16dda071e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host_server.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host_server.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime.go index dc377b1b4..12fc89449 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime_plugin.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime_plugin.go index 7b103f1d8..61690e6d6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime_plugin.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/langruntime_plugin.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/mock.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/mock.go index 0ba19396b..6a16b5411 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/mock.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/mock.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 21309d8f8..9f175d93f 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -472,7 +472,7 @@ func ExecPlugin(ctx *Context, bin, prefix string, kind apitype.PluginKind, } if otelEndpoint := cmdutil.OTelEndpoint(); otelEndpoint != "" { - environment = append(environment, "OTEL_EXPORTER_OTLP_ENDPOINT="+otelEndpoint) + environment = append(environment, "PULUMI_OTEL_EXPORTER_OTLP_ENDPOINT="+otelEndpoint) } // Check to see if we have a binary we can invoke directly diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider.go index d54276551..45224bcae 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 f26a3fded..550f5b176 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_server.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_server.go index 0c745d6cc..d60715d92 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_server.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_server.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_unimplemented.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_unimplemented.go index 671ec5a81..b5329e507 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_unimplemented.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/provider_unimplemented.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/rpc.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/rpc.go index 46034c017..349646977 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/rpc.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/rpc.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -228,6 +228,12 @@ func MarshalPropertyValue(key resource.PropertyKey, v resource.PropertyValue, resource.SigKey: resource.NewProperty(resource.ResourceReferenceSig), "urn": resource.NewProperty(string(ref.URN)), } + if ref.Name != "" { + m["name"] = resource.NewProperty(ref.Name) + } + if ref.Type != "" { + m["type"] = resource.NewProperty(ref.Type) + } if id, hasID := ref.IDString(); hasID { m["id"] = resource.NewProperty(id) } @@ -438,6 +444,22 @@ func UnmarshalPropertyValue(key resource.PropertyKey, v *structpb.Value, return nil, fmt.Errorf("malformed resource reference for %q: urn not a string", key) } + name := "" + if nameProp, ok := obj["name"]; ok { + if !nameProp.IsString() { + return nil, fmt.Errorf("malformed resource reference for %q: name not a string", key) + } + name = nameProp.StringValue() + } + + typ := "" + if typeProp, ok := obj["type"]; ok { + if !typeProp.IsString() { + return nil, fmt.Errorf("malformed resource reference for %q: type not a string", key) + } + typ = typeProp.StringValue() + } + id, hasID := "", false if idProp, ok := obj["id"]; ok { hasID = true @@ -482,12 +504,28 @@ func UnmarshalPropertyValue(key resource.PropertyKey, v *structpb.Value, return &r, nil } - var ref resource.PropertyValue + urnValue := resource.URN(urn.StringValue()) + if name == "" && urnValue.IsValid() { + name = urnValue.Name() + } + if typ == "" && urnValue.IsValid() { + typ = string(urnValue.Type()) + } + + refID := resource.PropertyValue{} if hasID { - ref = resource.MakeCustomResourceReference(resource.URN(urn.StringValue()), resource.ID(id), packageVersion) - } else { - ref = resource.MakeComponentResourceReference(resource.URN(urn.StringValue()), packageVersion) + refID = resource.NewProperty(id) + if id == "" { + refID = resource.MakeComputed(resource.NewProperty("")) + } } + ref := resource.NewProperty(resource.ResourceReference{ + URN: urnValue, + Name: name, + Type: typ, + ID: refID, + PackageVersion: packageVersion, + }) return &ref, nil case resource.OutputValueSig: value, known := obj["value"] diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/server.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/server.go index 544b390c8..96b25a799 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/server.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/server.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties.go index 5fd4d6e51..a403452ed 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -114,6 +114,8 @@ type Secret struct { //nolint:revive type ResourceReference struct { URN URN + Name string + Type string ID PropertyValue PackageVersion string } @@ -263,8 +265,16 @@ func MakeSecret(v PropertyValue) PropertyValue { // MakeComponentResourceReference creates a reference to a component resource. func MakeComponentResourceReference(urn URN, packageVersion string) PropertyValue { + name, typ := "", "" + if urn.IsValid() { + name = urn.Name() + typ = string(urn.Type()) + } + return NewProperty(ResourceReference{ URN: urn, + Name: name, + Type: typ, PackageVersion: packageVersion, }) } @@ -276,10 +286,17 @@ func MakeCustomResourceReference(urn URN, id ID, packageVersion string) Property if id == "" { idProp = MakeComputed(NewProperty("")) } + name, typ := "", "" + if urn.IsValid() { + name = urn.Name() + typ = string(urn.Type()) + } return NewProperty(ResourceReference{ ID: idProp, URN: urn, + Name: name, + Type: typ, PackageVersion: packageVersion, }) } diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_diff.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_diff.go index 85f9f19bd..ce902ae37 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_diff.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_diff.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_path.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_path.go index 744b9482b..37901f319 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_path.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/properties_path.go @@ -1,4 +1,4 @@ -// Copyright 2019-2024, Pulumi Corporation. +// Copyright 2019, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/property_compatibility.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/property_compatibility.go index 24ef4b252..d40e3f25c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/property_compatibility.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/property_compatibility.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,6 +64,8 @@ func ToResourcePropertyValue(v property.Value) PropertyValue { ref := v.AsResourceReference() r = NewProperty(ResourceReference{ URN: ref.URN, + Name: ref.Name, + Type: ref.Type, ID: ToResourcePropertyValue(ref.ID), PackageVersion: ref.PackageVersion, }) @@ -135,6 +137,8 @@ func FromResourcePropertyValue(v PropertyValue) property.Value { return property.New(property.ResourceReference{ URN: r.URN, + Name: r.Name, + Type: r.Type, ID: FromResourcePropertyValue(r.ID), PackageVersion: r.PackageVersion, }) diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_goal.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_goal.go index 9a04e4065..2aef44d88 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_goal.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_goal.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_hooks.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_hooks.go index f9a0acbda..47b2f8cfa 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_hooks.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_hooks.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_id.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_id.go index 185431907..56df05f99 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_id.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_id.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_operation.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_operation.go index 7b4153a0d..98d8830c4 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_operation.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_operation.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_state.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_state.go index 59f80582d..dba350cd5 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_state.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/resource_state.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/sig/sig.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/sig/sig.go index 8b748c2a6..011cac0a0 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/sig/sig.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/sig/sig.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/stack.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/stack.go index a47bbed72..f91cecea5 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/stack.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/stack.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/status.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/status.go index 37631f43b..64e7e3ebc 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/status.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/status.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn.go index 31937d958..8751528aa 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn/urn.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn/urn.go index 6f766552c..d877bf143 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn/urn.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn/urn.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/slice/slice.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/slice/slice.go index 0d3a25c2d..f81bfa26e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/slice/slice.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/slice/slice.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/names.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/names.go index 4b1e7c20a..28291edba 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/names.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/names.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/project.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/project.go index d91c02123..fc0725a7b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/project.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/project.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_name.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_name.go index a04593794..4ec680161 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_name.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_name.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_type.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_type.go index 6f6d9c938..c233068e1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_type.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/stack_type.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/tokens.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/tokens.go index f144102f9..568936b30 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/tokens.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/tokens/tokens.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/az_pipelines.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/az_pipelines.go index 3a731f88b..d353a6866 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/az_pipelines.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/az_pipelines.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/bitbucket_pipelines.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/bitbucket_pipelines.go index a98380bfe..83a81e608 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/bitbucket_pipelines.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/bitbucket_pipelines.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/buildkite.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/buildkite.go index b73db618b..0b1056916 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/buildkite.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/buildkite.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/circleci.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/circleci.go index f05dbf0b9..7fa85c22f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/circleci.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/circleci.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/codefresh.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/codefresh.go index be16a25b6..ae5344511 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/codefresh.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/codefresh.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/detect.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/detect.go index c00051f6e..e7afd102b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/detect.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/detect.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/generic.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/generic.go index a2e52c143..9fcde4834 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/generic.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/generic.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/github_actions.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/github_actions.go index 9b4de9cb5..07a89d047 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/github_actions.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/github_actions.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/gitlab.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/gitlab.go index 815e17e08..563c7c4cd 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/gitlab.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/gitlab.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/jenkins.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/jenkins.go index 7999bcea9..dbf769692 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/jenkins.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/jenkins.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/systems.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/systems.go index f41edf80e..17cd9a1ce 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/systems.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/systems.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/travis.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/travis.go index 7d41518a8..90a46bea8 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/travis.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/travis.go @@ -1,4 +1,4 @@ -// Copyright 2016-2019, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/vars.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/vars.go index c640db2a1..a2f19f102 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/vars.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil/vars.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/args.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/args.go index 39a0d1be0..6f77be841 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/args.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/args.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_js.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_js.go index df841c775..8e1dd6ead 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_js.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_js.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_unix.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_unix.go index afcbff1b7..67d34ca57 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_unix.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_unix.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_windows.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_windows.go index 65680c823..ded7fa408 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_windows.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/child_windows.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console.go index 399cea164..b828ec51d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input.go index 9367dc033..a5ec63c98 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input_js.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input_js.go index 6ae2ce6c2..9e7b2afac 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input_js.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_input_js.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_password.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_password.go index 7ffda37c0..1f0a7808d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_password.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/console_password.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/diag.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/diag.go index 931e71f52..560a63254 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/diag.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/diag.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/exit.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/exit.go index e58cfacc2..77c041f1f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/exit.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/exit.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ import ( "strings" "github.com/hashicorp/go-multierror" - "github.com/pkg/errors" + pkgerrors "github.com/pkg/errors" "github.com/spf13/cobra" "github.com/pulumi/pulumi/sdk/v3/go/common/diag" @@ -38,7 +38,7 @@ func DetailedError(err error) string { for { if stackerr, ok := err.(interface { - StackTrace() errors.StackTrace + StackTrace() pkgerrors.StackTrace }); ok { msg.WriteString("\n") if hasstack { @@ -52,7 +52,7 @@ func DetailedError(err error) string { } // Keep going up the causer chain, if any. - cause := errors.Cause(err) + cause := pkgerrors.Cause(err) if cause == err || cause == nil { break } @@ -115,9 +115,26 @@ func Exit(err error) { // ExitError issues an error and exits with a standard error exit code. func ExitError(msg string) { Diag().Errorf(diag.Message("", "%s"), msg) - os.Exit(-1) + os.Exit(ExitCodeError) } +// Exit code taxonomy for the Pulumi CLI. These values form part of the +// contract for automation and agent integrations and must be treated as +// stable once released. +const ( + ExitSuccess = 0 + ExitCodeError = 1 // generic/unclassified error + ExitConfigurationError = 2 // invalid flags, config, or invocation + ExitAuthenticationError = 3 + ExitResourceError = 4 + ExitPolicyViolation = 5 + ExitStackNotFound = 6 + ExitNoChanges = 7 + ExitCancelled = 8 + ExitTimeout = 9 + ExitInternalError = 255 +) + // errorMessage returns a message, possibly cleaning up the text if appropriate. func errorMessage(err error) string { contract.Requiref(err != nil, "err", "must not be nil") diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/profile.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/profile.go index 96e37bee2..1a1cb72e0 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/profile.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/profile.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/spinner.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/spinner.go index b18402324..de88e78b1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/spinner.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/spinner.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/stack.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/stack.go index cb6b14e6c..f0b1d6266 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/stack.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/stack.go @@ -1,4 +1,4 @@ -// Copyright 2024-2024, Pulumi Corporation. +// Copyright 2024, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term.go index 39780c04e..fee3deb8c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_js.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_js.go index ca7f945a0..02ba73d24 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_js.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_js.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_unix.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_unix.go index da4eacd28..306967a2a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_unix.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_unix.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_windows.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_windows.go index f8ec21462..9b6fd527a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_windows.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil/term_windows.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 1d8ff4c3b..fcd287ac9 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -70,6 +70,7 @@ var otelEndpoint string var ( otelReceiver *otelreceiver.Receiver otelTracerProvider *sdktrace.TracerProvider + appdashBridge *otelreceiver.AppDashBridge ) type localStore struct { @@ -195,7 +196,9 @@ func CloseTracing() { TracingRootSpan.Finish() } - contract.IgnoreClose(traceCloser) + if traceCloser != nil { + contract.IgnoreClose(traceCloser) + } } // IsOTelEnabled returns true if OTEL is enabled via environment variable or endpoint is set. @@ -231,12 +234,33 @@ func InitOtelReceiver(endpoint string) error { ep := receiver.Endpoint() + // Start the AppDash bridge so that legacy OpenTracing plugins can send + // spans that get converted to OTLP and forwarded to the same exporter. + bridge, err := otelreceiver.StartAppDashBridge(exporter) + if err != nil { + _ = receiver.Shutdown(context.Background()) + _ = exporter.Shutdown(context.Background()) + return fmt.Errorf("failed to start AppDash bridge: %w", err) + } + otelMu.Lock() otelReceiver = receiver otelEndpoint = ep + appdashBridge = bridge otelMu.Unlock() + // Set TracingEndpoint to the AppDash bridge so legacy plugins + // (providers that only speak OpenTracing) send their spans through + // it. We intentionally do NOT call InitTracing() here: the CLI + // uses OTel for its own spans and does not need an OpenTracing + // tracer. Keeping the global tracer as a no-op avoids duplicate + // spans on the engine's gRPC server interceptors while still + // letting provider plugins connect via --tracing. Root provider + // spans are grafted onto the OTel trace via SetTraceParent(). + TracingEndpoint = bridge.Endpoint() + logging.V(5).Infof("Started local OTLP receiver at %s with exporter for %s", ep, endpoint) + logging.V(5).Infof("Started AppDash bridge at %s for legacy OpenTracing plugins", bridge.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 @@ -288,6 +312,20 @@ func InitOtelTracing(serviceName, endpoint string) error { return nil } +// SetAppDashTraceParent tells the AppDash bridge to remap all incoming +// AppDash trace IDs to the given OTel trace ID, and to parent root AppDash +// spans under the given OTel span ID. This grafts legacy OpenTracing spans +// onto the CLI's native OTel trace. +func SetAppDashTraceParent(traceID [16]byte, spanID [8]byte) { + otelMu.RLock() + b := appdashBridge + otelMu.RUnlock() + + if b != nil { + b.SetTraceParent(traceID, spanID) + } +} + func CloseOtelTracing() { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() @@ -297,6 +335,8 @@ func CloseOtelTracing() { otelTracerProvider = nil recv := otelReceiver otelReceiver = nil + bridge := appdashBridge + appdashBridge = nil otelEndpoint = "" otelMu.Unlock() @@ -306,6 +346,12 @@ func CloseOtelTracing() { } } + if bridge != nil { + if err := bridge.Shutdown(ctx); err != nil { + logging.V(3).Infof("error closing AppDash bridge: %v", err) + } + } + if recv != nil { if err := recv.Shutdown(ctx); err != nil { logging.V(3).Infof("error closing OTLP receiver: %v", err) diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/assert.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/assert.go index 5d5bcdc08..1698e20b3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/assert.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/assert.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/fail.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/fail.go index f390645c7..6782a7139 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/fail.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/fail.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/failfast.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/failfast.go index 521e419e9..d8d6e8509 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/failfast.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/failfast.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/ignore.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/ignore.go index be0b89754..0d8752229 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/ignore.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/ignore.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/require.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/require.go index 5dd2b34fe..3021b53a6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/require.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/contract/require.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/env/env.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/env/env.go index b0e876ee3..19325ffc0 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/env/env.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/env/env.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/errutil/format_exiterr.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/errutil/format_exiterr.go new file mode 100644 index 000000000..7375a7dbf --- /dev/null +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/errutil/format_exiterr.go @@ -0,0 +1,37 @@ +// Copyright 2025, 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 errutil + +import ( + "errors" + "fmt" + "os/exec" + "strings" +) + +// ErrorWithStderr returns an error that includes the stderr output if the error is an ExitError. +func ErrorWithStderr(err error, message string) error { + if err == nil { + return nil + } + var exitErr *exec.ExitError + if errors.As(err, &exitErr) { + stderr := strings.TrimSpace(string(exitErr.Stderr)) + if len(stderr) > 0 { + return fmt.Errorf("%s: %w: %s", message, exitErr, exitErr.Stderr) + } + } + return fmt.Errorf("%s: %w", message, err) +} diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/chdir.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/chdir.go index 7a6542468..744588ad0 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/chdir.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/chdir.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/copy.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/copy.go index e5813b0c1..6665fd99d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/copy.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/copy.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/isdirempty.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/isdirempty.go index 2839560ac..af2dacf3b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/isdirempty.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/isdirempty.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/lock.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/lock.go index 2164722d2..1d49a10c1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/lock.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/lock.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/qname.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/qname.go index 1008c0ce7..6be59de95 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/qname.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/qname.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/walkup.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/walkup.go index 8164bfbfd..b13b9aee4 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/walkup.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil/walkup.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 c0abd9e69..3f687760d 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,6 +40,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/env" "github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil" + "github.com/pulumi/pulumi/sdk/v3/go/common/util/errutil" "github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil" "github.com/pulumi/pulumi/sdk/v3/go/common/util/logging" "go.opentelemetry.io/otel" @@ -461,6 +462,12 @@ func expandHomeDir(path string) (string, error) { func GitCloneAndCheckoutCommit(ctx context.Context, url string, commit plumbing.Hash, path string) error { logging.V(10).Infof("Attempting to clone from %s at commit %v and path %s", url, commit, path) + // go-git v5 has limited ADO support and cannot perform this operation. + // TODO(https://github.com/go-git/go-git/pull/1204): Remove once go-git v6 is released. + if u, err := parseGitRepoURLParts(url); err == nil && u.Hostname == AzureDevOpsHostName { + return gitCloneAndCheckoutRevisionSystemGit(ctx, url, plumbing.Revision(commit.String()), path) + } + u, auth, err := getAuthForURL(url) if err != nil { return err @@ -488,6 +495,12 @@ func GitCloneAndCheckoutCommit(ctx context.Context, url string, commit plumbing. func GitCloneAndCheckoutRevision(ctx context.Context, url string, revision plumbing.Revision, path string) error { logging.V(10).Infof("Attempting to clone from %s at commit %v and path %s", url, revision, path) + // go-git v5 has limited ADO support and cannot perform this operation. + // TODO(https://github.com/go-git/go-git/pull/1204): Remove once go-git v6 is released. + if u, err := parseGitRepoURLParts(url); err == nil && u.Hostname == AzureDevOpsHostName { + return gitCloneAndCheckoutRevisionSystemGit(ctx, url, revision, path) + } + u, auth, err := getAuthForURL(url) if err != nil { return err @@ -532,10 +545,9 @@ func GitCloneOrPull( 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. + // go-git v5 has limited ADO support and cannot perform this operation. + // TODO(https://github.com/go-git/go-git/pull/1204): Remove once go-git v6 is released. if u, err := parseGitRepoURLParts(rawurl); err == nil && u.Hostname == AzureDevOpsHostName { - // system-installed git is used to clone Azure DevOps repositories - // due to https://github.com/go-git/go-git/issues/64 return gitCloneOrPullSystemGit(ctx, rawurl, referenceName, path, shallow) } return gitCloneOrPull(ctx, rawurl, referenceName, path, shallow) @@ -668,6 +680,59 @@ func gitCloneOrPullSystemGit( return nil } +// gitListRefsSystemGit uses the system `git ls-remote` command to list refs. +// This is used for Azure DevOps repositories where go-git v5 has limited support. +func gitListRefsSystemGit(ctx context.Context, url string) ([]*plumbing.Reference, error) { + cmd := exec.CommandContext(ctx, "git", "ls-remote", url) + out, err := cmd.Output() + if err != nil { + return nil, errutil.ErrorWithStderr(err, fmt.Sprintf("failed to run `git ls-remote %s`", url)) + } + return parseGitLsRemoteOutput(string(out)), nil +} + +// parseGitLsRemoteOutput parses the output of `git ls-remote` into plumbing.Reference values. +// Each line has the format: \t +// This is used for Azure DevOps repositories where go-git v5 has limited support. +func parseGitLsRemoteOutput(output string) []*plumbing.Reference { + lines := strings.Split(output, "\n") + refs := make([]*plumbing.Reference, 0, len(lines)) + for _, line := range lines { + line = strings.TrimSpace(line) + if line == "" { + continue + } + parts := strings.SplitN(line, "\t", 2) + if len(parts) != 2 { + // git ls-remote may include non-ref lines such as "From ". + continue + } + hash := plumbing.NewHash(parts[0]) + refName := plumbing.ReferenceName(parts[1]) + refs = append(refs, plumbing.NewHashReference(refName, hash)) + } + return refs +} + +// gitCloneAndCheckoutRevisionSystemGit uses system git to clone and checkout a revision. +// This is used for Azure DevOps repositories where go-git v5 has limited support. +func gitCloneAndCheckoutRevisionSystemGit( + ctx context.Context, url string, revision plumbing.Revision, path string, +) error { + cloneCmd := exec.CommandContext(ctx, "git", "clone", url, path) + if _, err := cloneCmd.Output(); err != nil { + return errutil.ErrorWithStderr(err, fmt.Sprintf("failed to run `git clone %s %s`", url, path)) + } + + //nolint:gosec // revision is from trusted internal callers + checkoutCmd := exec.CommandContext(ctx, "git", "checkout", string(revision)) + checkoutCmd.Dir = path + if _, err := checkoutCmd.Output(); err != nil { + return errutil.ErrorWithStderr(err, fmt.Sprintf("failed to run `git checkout %s`", string(revision))) + } + return nil +} + // We currently accept Gist URLs in the form: https://gist.github.com/owner/id. // We may want to consider supporting https://gist.github.com/id at some point, // as well as arbitrary revisions, e.g. https://gist.github.com/owner/id/commit. @@ -884,6 +949,12 @@ func GetGitReferenceNameOrHashAndSubDirectory(url string, urlPath string) ( } func gitListRefs(ctx context.Context, url string) ([]*plumbing.Reference, error) { + // go-git v5 has limited ADO support and cannot perform this operation. + // TODO(https://github.com/go-git/go-git/pull/1204): Remove once go-git v6 is released. + if u, err := parseGitRepoURLParts(url); err == nil && u.Hostname == AzureDevOpsHostName { + return gitListRefsSystemGit(ctx, url) + } + // We're only listing the references, so just use in-memory storage. repo, err := git.Init(memory.NewStorage(), nil) if err != nil { diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/httputil/http.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/httputil/http.go index eaf889258..c6ceb0b9d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/httputil/http.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/httputil/http.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/logging/log.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/logging/log.go index d78bd00ff..16ac67195 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/logging/log.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/logging/log.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/errors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/errors.go index a28bfac99..eeaea23dd 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/errors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/errors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper.go index dc6d2629c..c42a7752c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_decode.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_decode.go index 2c973f233..b9ae71578 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_decode.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_decode.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_encode.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_encode.go index 8df5d76cc..607c446e7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_encode.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/mapper_encode.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/object.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/object.go index 5cd527b38..baed3edeb 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/object.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper/object.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/otelreceiver/appdash_bridge.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/otelreceiver/appdash_bridge.go new file mode 100644 index 000000000..5f65e008e --- /dev/null +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/otelreceiver/appdash_bridge.go @@ -0,0 +1,289 @@ +// 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 otelreceiver + +import ( + "context" + "encoding/binary" + "fmt" + "io" + "log" + "net" + "strings" + "sync" + "time" + + "github.com/pulumi/appdash" + "github.com/pulumi/pulumi/sdk/v3/go/common/util/logging" + commonpb "go.opentelemetry.io/proto/otlp/common/v1" + resourcepb "go.opentelemetry.io/proto/otlp/resource/v1" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" +) + +// AppDashBridge receives spans via the AppDash TCP protocol (used by legacy +// OpenTracing plugins) and converts them to otel ResourceSpans, forwarding +// them to a SpanExporter. +type AppDashBridge struct { + server *appdash.CollectorServer + listener *net.TCPListener + port int + exporter SpanExporter + collector *bridgeCollector +} + +// StartAppDashBridge creates and starts an AppDash TCP server that bridges +// legacy OpenTracing spans to otel. +func StartAppDashBridge(exporter SpanExporter) (*AppDashBridge, error) { + listener, err := net.ListenTCP("tcp", &net.TCPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 0}) + if err != nil { + return nil, fmt.Errorf("failed to listen for AppDash bridge: %w", err) + } + + port := listener.Addr().(*net.TCPAddr).Port + + collector := &bridgeCollector{ + exporter: exporter, + pending: make(map[appdash.SpanID][]appdash.Annotation), + } + + server := appdash.NewServer(listener, collector) + // Suppress the noisy Accept-error log loop on shutdown. + server.Log = log.New(io.Discard, "", 0) + + b := &AppDashBridge{ + server: server, + listener: listener, + port: port, + exporter: exporter, + collector: collector, + } + + go server.Start() + + logging.V(5).Infof("AppDash bridge started on port %d", port) + + return b, nil +} + +// Endpoint returns the AppDash TCP endpoint in the format expected by +// legacy plugins (tcp://127.0.0.1:PORT). +func (b *AppDashBridge) Endpoint() string { + return fmt.Sprintf("tcp://127.0.0.1:%d", b.port) +} + +// SetTraceParent tells the bridge to remap all AppDash trace IDs to the +// given OTel trace ID, and to parent root AppDash spans (those without an +// AppDash parent) under the given OTel span ID. This puts bridged spans +// into the same trace as the CLI's native OTel spans. +func (b *AppDashBridge) SetTraceParent(traceID [16]byte, spanID [8]byte) { + b.collector.mu.Lock() + defer b.collector.mu.Unlock() + b.collector.otelTraceID = traceID + b.collector.otelParentSpanID = spanID +} + +func (b *AppDashBridge) Shutdown(_ context.Context) error { + return b.listener.Close() +} + +// bridgeCollector implements appdash.Collector. It accumulates annotations +// per SpanID across multiple Collect calls. The appdash_opentracing recorder +// makes several Collect calls for a single span (name, tags, timespan). +// The Timespan event (_schema:Timespan) is always sent last, so we use it +// as the trigger to flush the accumulated span to OTLP. +type bridgeCollector struct { + mu sync.Mutex + exporter SpanExporter + pending map[appdash.SpanID][]appdash.Annotation + otelTraceID [16]byte // if non-zero, replaces AppDash trace IDs + otelParentSpanID [8]byte // parent for root AppDash spans +} + +func (c *bridgeCollector) Collect(id appdash.SpanID, anns ...appdash.Annotation) error { + c.mu.Lock() + defer c.mu.Unlock() + + c.pending[id] = append(c.pending[id], anns...) + + // Check if this batch contains the Timespan schema marker, which + // indicates the recorder has finished sending all annotations for + // this span. + hasTimespan := false + for _, ann := range anns { + if ann.Key == "_schema:Timespan" { + hasTimespan = true + break + } + } + + if !hasTimespan { + return nil + } + + allAnns := c.pending[id] + delete(c.pending, id) + otelTraceID := c.otelTraceID + otelParentSpanID := c.otelParentSpanID + + resourceSpans := convertAppDashToOTLP(id, allAnns, otelTraceID, otelParentSpanID) + if resourceSpans == nil { + return nil + } + + if err := c.exporter.ExportSpans(context.Background(), []*tracepb.ResourceSpans{resourceSpans}); err != nil { + logging.V(5).Infof("AppDash bridge: failed to export span: %v", err) + return err + } + + return nil +} + +// inferServiceName guesses a service name from the span name. gRPC server +// interceptor spans look like "/pulumirpc.ResourceProvider/Check" while +// Pulumi-framework spans look like "pf.Configure". +func inferServiceName(spanName string) string { + switch { + case strings.Contains(spanName, "ResourceProvider"): + return "pulumi-resource-provider" + case strings.HasPrefix(spanName, "pf."): + return "pulumi-resource-provider" + case strings.Contains(spanName, "LanguageRuntime"): + return "pulumi-language-host" + case strings.Contains(spanName, "ResourceMonitor"), + strings.Contains(spanName, "Engine/"): + // Calls made by the language host to the engine/monitor + return "pulumi-language-host" + default: + return "opentracing-plugin" + } +} + +// convertAppDashToOTLP converts an AppDash span (identified by SpanID and +// accumulated annotations) into OTLP ResourceSpans. If otelTraceID is +// non-zero the AppDash trace ID is replaced so that bridged spans appear in +// the same trace as the CLI's native OTel spans. Root AppDash spans (no +// AppDash parent) are parented under otelParentSpanID. +func convertAppDashToOTLP( + id appdash.SpanID, anns []appdash.Annotation, + otelTraceID [16]byte, otelParentSpanID [8]byte, +) *tracepb.ResourceSpans { + var name string + var serviceName string + var startTime, endTime time.Time + var hasError bool + var attributes []*commonpb.KeyValue + + for _, ann := range anns { + switch { + case ann.Key == "Name": + name = string(ann.Value) + case ann.Key == "ServerName": + serviceName = string(ann.Value) + case ann.Key == "Span.Start": + if t, err := time.Parse(time.RFC3339Nano, string(ann.Value)); err == nil { + startTime = t + } + case ann.Key == "Span.End": + if t, err := time.Parse(time.RFC3339Nano, string(ann.Value)); err == nil { + endTime = t + } + case ann.Key == "error": + if string(ann.Value) == "true" { + hasError = true + } + case strings.HasPrefix(ann.Key, "_schema:"): + // Schema markers — skip. + default: + attributes = append(attributes, &commonpb.KeyValue{ + Key: ann.Key, + Value: &commonpb.AnyValue{ + Value: &commonpb.AnyValue_StringValue{StringValue: string(ann.Value)}, + }, + }) + } + } + + if name == "" { + name = fmt.Sprintf("span-%d", id.Span) + } + + // Build trace ID. If an OTel trace ID override is set, use it so that + // bridged spans land in the same trace as native OTel spans. Otherwise + // map the AppDash uint64 trace ID into the low 8 bytes of a 16-byte ID. + var zeroTraceID [16]byte + var traceID [16]byte + if otelTraceID != zeroTraceID { + traceID = otelTraceID + } else { + binary.BigEndian.PutUint64(traceID[8:], uint64(id.Trace)) + } + + var spanID [8]byte + binary.BigEndian.PutUint64(spanID[:], uint64(id.Span)) + + span := &tracepb.Span{ + TraceId: traceID[:], + SpanId: spanID[:], + Name: name, + Attributes: attributes, + } + + // Set parent span ID. If the AppDash span has a parent, keep it. + // Otherwise, if an OTel parent override is set, use it to graft the + // root of the AppDash tree onto the OTel trace. + var zeroSpanID [8]byte + if id.Parent != 0 { + var parentSpanID [8]byte + binary.BigEndian.PutUint64(parentSpanID[:], uint64(id.Parent)) + span.ParentSpanId = parentSpanID[:] + } else if otelParentSpanID != zeroSpanID { + span.ParentSpanId = otelParentSpanID[:] + } + + if hasError { + span.Status = &tracepb.Status{ + Code: tracepb.Status_STATUS_CODE_ERROR, + } + } + + if !startTime.IsZero() { + span.StartTimeUnixNano = uint64(startTime.UnixNano()) //nolint:gosec // timestamps are always positive + } + if !endTime.IsZero() { + span.EndTimeUnixNano = uint64(endTime.UnixNano()) //nolint:gosec // timestamps are always positive + } + + if serviceName == "" { + serviceName = inferServiceName(name) + } + + return &tracepb.ResourceSpans{ + Resource: &resourcepb.Resource{ + Attributes: []*commonpb.KeyValue{ + { + Key: "service.name", + Value: &commonpb.AnyValue{ + Value: &commonpb.AnyValue_StringValue{StringValue: serviceName}, + }, + }, + }, + }, + ScopeSpans: []*tracepb.ScopeSpans{ + { + Spans: []*tracepb.Span{span}, + }, + }, + } +} diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/result/result.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/result/result.go index e9fb526fc..39e69a4a4 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/result/result.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/result/result.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/retry/until.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/retry/until.go index 5c2f69e1a..ee8469dd9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/retry/until.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/retry/until.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/health.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/health.go index 285879e64..12df87bdd 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/health.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/health.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 c02d91fe3..3096f6156 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty.go index 49ed05ece..516fcd28a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_js.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_js.go index b96896596..689b9af34 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_js.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_js.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_windows.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_windows.go index fbb920c6a..f4dbed3bb 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_windows.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/pty_windows.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/rpcerror/rpcerror.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/rpcerror/rpcerror.go index c83c258b8..df1ec172b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/rpcerror/rpcerror.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/rpcerror/rpcerror.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/serve.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/serve.go index 331bbdad3..2ad7cb18f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/serve.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/serve.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/writer.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/writer.go index 7e5db6513..8ae5b44d7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/writer.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/writer.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/edit.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/edit.go index cee290241..373534e6f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/edit.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/edit.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/encode.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/encode.go index bb66f05ea..5119b1cec 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/encode.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/util/yamlutil/encode.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/version/version.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/version/version.go index 1d17f3874..6791c1f70 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/version/version.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/version/version.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/config.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/config.go index e83e7498e..10b38619d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/config.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/config.go @@ -1,10 +1,10 @@ -// Copyright 2022-2024, Pulumi Corporation. +// Copyright 2022, 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 +// 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, diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/creds.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/creds.go index e82120166..bc6f1f35f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/creds.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/creds.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go index d47e99ff2..3de9adc15 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go index 32a305c46..50fed6392 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go index b3879d81e..1c182b3e6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -170,6 +170,11 @@ func NewMissingError( } } +// Spec returns the descriptor of the plugin that is missing. +func (err *MissingError) Spec() PluginDescriptor { + return err.spec +} + func (err *MissingError) Error() string { includePath := "" if err.includeAmbient { @@ -1080,11 +1085,14 @@ type PluginDescriptor struct { type PluginVersionNotFoundError error var urlRegex = sync.OnceValue(func() *regexp.Regexp { - return regexp.MustCompile(`^[^\./].*\.[a-z]+/[a-zA-Z0-9-_/]*[a-zA-Z0-9/](@.*)?$`) + return regexp.MustCompile(`^[^\./].*\.[a-z]+/[a-zA-Z0-9-_\./]*[a-zA-Z0-9/](@.*)?$`) }) func IsExternalURL(source string) bool { - return strings.HasPrefix(source, "https://") || strings.HasPrefix(source, "git://") || urlRegex().MatchString(source) + return strings.HasPrefix(source, "https://") || + strings.HasPrefix(source, "http://") || + strings.HasPrefix(source, "git://") || + urlRegex().MatchString(source) } // Allow sha1 and sha256 hashes. @@ -1990,6 +1998,7 @@ func GetPluginsFromDir(dir string) ([]PluginInfo, error) { // Eventually we want to fix this so new plugins are true plugins in the plugin cache. func IsPluginBundled(kind apitype.PluginKind, name string) bool { return (kind == apitype.LanguagePlugin && name == "nodejs") || + (kind == apitype.LanguagePlugin && name == "bun") || (kind == apitype.LanguagePlugin && name == "go") || (kind == apitype.LanguagePlugin && name == "python") || (kind == apitype.LanguagePlugin && name == "dotnet") || diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go index 30f148d7d..2910da52d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates.go index 109296f13..453671e27 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates_zip.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates_zip.go index 237f6403e..85f5a39e6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates_zip.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/templates_zip.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/resource.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/resource.go index fb7b98a11..b1fbe3d81 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/resource.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/resource.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/rpc.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/rpc.go index f48410d19..88c67cc4c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/rpc.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/rpc.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/state.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/state.go index be04bb331..20d4a4425 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/state.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/state.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/types.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/types.go index f9c050e81..3bf962579 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/types.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/types.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/workgroup.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/workgroup.go index ebe3625d2..23d4cf0a8 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/workgroup.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/internal/workgroup.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/array.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/array.go index 45ab19190..bc99e1b1c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/array.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/array.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/equal.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/equal.go index d9d4f0556..41da48277 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/equal.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/equal.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/fmt.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/fmt.go index 6bc644dbd..5babc9606 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/fmt.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/fmt.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/map.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/map.go index 9ffcfe00a..e92b223bb 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/map.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/map.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/path.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/path.go index 1a257c97c..879cf7e48 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/path.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/path.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/reference.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/reference.go index 19c5b91b8..c887afd84 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/reference.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/reference.go @@ -26,6 +26,8 @@ import "github.com/pulumi/pulumi/sdk/v3/go/common/resource/urn" // - Otherwise, the ID must be a string. type ResourceReference struct { URN urn.URN + Name string + Type string ID Value PackageVersion string } diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/values.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/values.go index 056f875a2..346bd1e18 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/values.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/values.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/visit.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/visit.go index b972260d4..806a0cbf1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/visit.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/property/visit.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/gsync/syncmap.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/gsync/syncmap.go index af0f39625..ba39cb59c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/gsync/syncmap.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/gsync/syncmap.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/interceptors.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/interceptors.go index f1d90f179..8673d37fe 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/interceptors.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/interceptors.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/logformat.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/logformat.go index d00e080f9..9fccab714 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/logformat.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi-internal/rpcdebug/logformat.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/alias.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/alias.go index b0402a263..0e5f042bf 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/alias.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/alias.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/asset.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/asset.go index 749cf678b..f5aa2f51c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/asset.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/asset.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/callback.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/callback.go index 86105f4e6..e147380eb 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/callback.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/callback.go @@ -1,4 +1,4 @@ -// Copyright 2016-2024, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go index eb7ce67a7..4f303446c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. 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 index 15e1d32d0..b52d62f7f 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/instrumentation.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/instrumentation.go @@ -32,7 +32,7 @@ import ( var tracerProvider *sdktrace.TracerProvider // initTracing initializes OpenTelemetry tracing when TRACEPARENT and -// OTEL_EXPORTER_OTLP_ENDPOINT environment variables are present. +// PULUMI_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") @@ -40,7 +40,7 @@ func initTracing(ctx context.Context) context.Context { return ctx } - otlpEndpoint := os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT") + otlpEndpoint := os.Getenv("PULUMI_OTEL_EXPORTER_OTLP_ENDPOINT") if otlpEndpoint == "" { return ctx } diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals.go index 8d1180b9d..3241ee5c2 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals/outputs.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals/outputs.go index ae810acce..befa58e41 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals/outputs.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals/outputs.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/log.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/log.go index 6ff29b2ee..bf320744b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/log.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/log.go @@ -1,4 +1,4 @@ -// Copyright 2016-2020, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/mocks.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/mocks.go index af57c1e43..f490251ab 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/mocks.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/mocks.go @@ -1,4 +1,4 @@ -// Copyright 2020-2026, Pulumi Corporation. +// Copyright 2020, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/printf.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/printf.go index 51a254379..81a0bf51c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/printf.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/printf.go @@ -1,4 +1,4 @@ -// Copyright 2020-2024, Pulumi Corporation. +// Copyright 2020, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go index a3655cbf4..c65978639 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider_linked.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider_linked.go index 75876996d..1d72f7b61 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider_linked.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider_linked.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource.go index f4f36ea06..ecac67f74 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_hooks.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_hooks.go index 0cc797157..0392ee337 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_hooks.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_hooks.go @@ -1,4 +1,4 @@ -// Copyright 2016-2021, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_set.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_set.go index 49adbb48d..baff8b963 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_set.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/resource_set.go @@ -1,4 +1,4 @@ -// Copyright 2021-2024, Pulumi Corporation. +// Copyright 2021, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go index 4ee25856b..70c3e37b9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -522,8 +522,16 @@ func unmarshalResourceReference(ctx *Context, ref resource.ResourceReference) (R } } - resName := ref.URN.Name() - resType := ref.URN.Type() + resName := ref.Name + if resName == "" && ref.URN.IsValid() { + resName = ref.URN.Name() + } + + resTypeString := ref.Type + if resTypeString == "" && ref.URN.IsValid() { + resTypeString = string(ref.URN.Type()) + } + resType := tokens.Type(resTypeString) isProvider := tokens.Token(resType).HasModuleMember() && resType.Module() == "pulumi:providers" if isProvider { 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 f28f5d6fa..92f258913 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 @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/stack_reference.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/stack_reference.go index c269115a8..f7f5197ab 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/stack_reference.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/stack_reference.go @@ -1,4 +1,4 @@ -// Copyright 2020-2024, Pulumi Corporation. +// Copyright 2020, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transform.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transform.go index da387299e..f96883fbc 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transform.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transform.go @@ -1,4 +1,4 @@ -// Copyright 2024-2024, Pulumi Corporation. +// Copyright 2024, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transformation.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transformation.go index 373eed4ee..b8a013ef3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transformation.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/transformation.go @@ -1,4 +1,4 @@ -// Copyright 2020-2024, Pulumi Corporation. +// Copyright 2020, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/type_conversions.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/type_conversions.go index f9591b9c7..215f2a88c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/type_conversions.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/type_conversions.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types.go index c41d5efba..9115d1da3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types_builtins.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types_builtins.go index ba45e735e..5e4a430ec 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types_builtins.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/types_builtins.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/apply_state.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/apply_state.go index ee580ade3..6998016ca 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/apply_state.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/apply_state.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/applyn.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/applyn.go index 34614d308..0edcf8c60 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/applyn.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/applyn.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/array.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/array.go index 17a8ead37..5f293eb05 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/array.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/array.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/combinators.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/combinators.go index 2cb0a859c..e36e0ab30 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/combinators.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/combinators.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/engine.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/engine.go index cfb4a787b..646b8dd86 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/engine.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/engine.go @@ -1,4 +1,4 @@ -// Copyright 2016-2025, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/gen.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/gen.go index f9b03108e..130da96b7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/gen.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/gen.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/map.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/map.go index e4c509e37..a40bd007b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/map.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/map.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/ptr.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/ptr.go index 65c230c4d..e6606eb49 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/ptr.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/ptr.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/types.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/types.go index 0cea2863f..f3b8239c1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/types.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumix/types.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/alias.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/alias.pb.go index ab14c0272..1684855e1 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/alias.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/alias.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer.pb.go index 135ce3da4..97e5db7d8 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer_grpc.pb.go index a10bdd758..bd579a8d6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/analyzer_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback.pb.go index 585778450..1e6204929 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback_grpc.pb.go index 0b8052f80..a405c3ef4 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/callback_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/hcl.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/hcl.pb.go index 45e8c7c90..b4c3803bf 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/hcl.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/hcl.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader.pb.go index 855d9d650..87369a819 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader_grpc.pb.go index 49cb8d32b..ccc38f593 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/loader_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper.pb.go index c7a9b0b15..a873c9e4d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper_grpc.pb.go index c9a8e9a8c..4ea0c122c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/codegen/mapper_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter.pb.go index 88cad1180..2990ae133 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter_grpc.pb.go index 6cf0361b7..d17537dd9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/converter_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine.pb.go index 0ad24573e..0b83a53bb 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine_grpc.pb.go index a2d54930d..39ac2f0a7 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/engine_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/errors.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/errors.pb.go index 231c9d8d3..b1422f0bc 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/errors.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/errors.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language.pb.go index 39d378f5d..ae7712301 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language_grpc.pb.go index 87edb4d31..3db5467c6 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/language_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2023, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/plugin.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/plugin.pb.go index 22e624fea..4226a4b3c 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/plugin.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/plugin.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2018, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider.pb.go index 2605ff2cd..66140ffc9 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider_grpc.pb.go index 7428b9cc8..4642039e3 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/provider_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2026, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource.pb.go index 620314372..2d70bb338 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource_grpc.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource_grpc.pb.go index 275d656af..25ace96be 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource_grpc.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/resource_grpc.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/source.pb.go b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/source.pb.go index 755a1bb68..4554e6690 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/source.pb.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/proto/go/source.pb.go @@ -1,4 +1,4 @@ -// Copyright 2016-2022, Pulumi Corporation. +// Copyright 2016, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/version.go b/vendor/github.com/pulumi/pulumi/sdk/v3/version.go index 0d22cd5a6..1115bfb7d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/version.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/version.go @@ -1,4 +1,4 @@ -// Copyright 2024-2024, Pulumi Corporation. +// Copyright 2024, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/go.opentelemetry.io/collector/featuregate/README.md b/vendor/go.opentelemetry.io/collector/featuregate/README.md index d3e3c802d..12f8ebf85 100644 --- a/vendor/go.opentelemetry.io/collector/featuregate/README.md +++ b/vendor/go.opentelemetry.io/collector/featuregate/README.md @@ -8,9 +8,36 @@ based on flags at the component level. ## Usage -Feature gates must be defined and registered with the global registry in -an `init()` function. This makes the `Gate` available to be configured and -queried with the defined [`Stage`](#feature-lifecycle) default value. +### With mdatagen + +In components that use mdatagen, feature gates should be defined in the +component's `metadata.yml`. + +```yaml +feature_gates: + - id: namespaced.uniqueIdentifier + description: A brief description of what the gate controls + stage: stable + from_version: 'v0.65.0' + reference_url: 'https://github.com/open-telemetry/opentelemetry-collector/issues/6167' +``` + +Running the mdatagen code generator with this configuration will initialize the +feature flag in the `internal/metadata` submodule. +The status of the gate can later be checked by calling that submodule: + +```go +if metadata.NamespacedUniqueIdentifierFeatureGate.IsEnabled() { + setupNewFeature() +} +``` + +### In code + +In components that don't use mdatagen, feature gates can be defined and +registered with the global registry in an `init()` function. This makes the +`Gate` available to be configured and queried with the defined +[`Stage`](#feature-lifecycle) default value. A `Gate` can have a list of associated issues that allow users to refer to the issue and report any additional problems or understand the context of the `Gate`. Once a `Gate` has been marked as `Stable`, it must have a `RemovalVersion` set. @@ -25,7 +52,7 @@ var myFeatureGate = featuregate.GlobalRegistry().MustRegister( featuregate.WithRegisterToVersion("v0.70.0")) ``` -The status of the gate may later be checked by interrogating the global +The status of the gate may later be checked by interrogating the global feature gate registry: ```go @@ -34,14 +61,14 @@ if myFeatureGate.IsEnabled() { } ``` -Note that querying the registry takes a read lock and accesses a map, so it -should be done once and the result cached for local use if repeated checks +Note that querying the registry takes a read lock and accesses a map, so it +should be done once and the result cached for local use if repeated checks are required. Avoid querying the registry in a loop. ## Controlling Gates -Feature gates can be enabled or disabled via the CLI, with the -`--feature-gates` flag. When using the CLI flag, gate +Feature gates can be enabled or disabled via the CLI, with the +`--feature-gates` flag. When using the CLI flag, gate identifiers must be presented as a comma-delimited list. Gate identifiers prefixed with `-` will disable the gate and prefixing with `+` or with no prefix will enable the gate. @@ -54,19 +81,19 @@ This will enable `gate1` and `gate3` and disable `gate2`. ## Feature Lifecycle -Features controlled by a `Gate` should follow a three-stage lifecycle, +Features controlled by a `Gate` should follow a three-stage lifecycle, modeled after the [system used by Kubernetes](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-stages): -1. An `alpha` stage where the feature is disabled by default and must be enabled +1. An `alpha` stage where the feature is disabled by default and must be enabled through a `Gate`. -2. A `beta` stage where the feature has been well tested and is enabled by +2. A `beta` stage where the feature has been well tested and is enabled by default but can be disabled through a `Gate`. 3. A generally available or `stable` stage where the feature is permanently enabled. At this stage the gate should no longer be explicitly used. Disabling the gate will produce an error and explicitly enabling will produce a warning log. 4. A `stable` feature gate will be removed in the version specified by its `ToVersion` value. -Features that prove unworkable in the `alpha` stage may be discontinued +Features that prove unworkable in the `alpha` stage may be discontinued without proceeding to the `beta` stage. Instead, they will proceed to the `deprecated` stage, which will feature is permanently disabled. A feature gate will be removed once it has been `deprecated` for at least 2 releases of the collector. diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_anyvalue.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_anyvalue.go index 103c4c5b4..404c61891 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_anyvalue.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_anyvalue.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -100,6 +101,17 @@ func (m *AnyValue) GetBytesValue() []byte { return nil } +type AnyValue_StringValueStrindex struct { + StringValueStrindex int32 +} + +func (m *AnyValue) GetStringValueStrindex() int32 { + if v, ok := m.GetValue().(*AnyValue_StringValueStrindex); ok { + return v.StringValueStrindex + } + return int32(0) +} + type AnyValue struct { Value any } @@ -152,10 +164,16 @@ var ( return &AnyValue_BytesValue{} }, } + + ProtoPoolAnyValue_StringValueStrindex = sync.Pool{ + New: func() any { + return &AnyValue_StringValueStrindex{} + }, + } ) func NewAnyValue() *AnyValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue{} } return protoPoolAnyValue.Get().(*AnyValue) @@ -166,28 +184,28 @@ func DeleteAnyValue(orig *AnyValue, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } switch ov := orig.Value.(type) { case *AnyValue_StringValue: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.StringValue = "" ProtoPoolAnyValue_StringValue.Put(ov) } case *AnyValue_BoolValue: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.BoolValue = false ProtoPoolAnyValue_BoolValue.Put(ov) } case *AnyValue_IntValue: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.IntValue = int64(0) ProtoPoolAnyValue_IntValue.Put(ov) } case *AnyValue_DoubleValue: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.DoubleValue = float64(0) ProtoPoolAnyValue_DoubleValue.Put(ov) } @@ -200,10 +218,15 @@ func DeleteAnyValue(orig *AnyValue, nullable bool) { ov.KvlistValue = nil ProtoPoolAnyValue_KvlistValue.Put(ov) case *AnyValue_BytesValue: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.BytesValue = nil ProtoPoolAnyValue_BytesValue.Put(ov) } + case *AnyValue_StringValueStrindex: + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { + ov.StringValueStrindex = int32(0) + ProtoPoolAnyValue_StringValueStrindex.Put(ov) + } } orig.Reset() if nullable { @@ -227,7 +250,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { switch t := src.Value.(type) { case *AnyValue_StringValue: var ov *AnyValue_StringValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_StringValue{} } else { ov = ProtoPoolAnyValue_StringValue.Get().(*AnyValue_StringValue) @@ -237,7 +260,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { case *AnyValue_BoolValue: var ov *AnyValue_BoolValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_BoolValue{} } else { ov = ProtoPoolAnyValue_BoolValue.Get().(*AnyValue_BoolValue) @@ -247,7 +270,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { case *AnyValue_IntValue: var ov *AnyValue_IntValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_IntValue{} } else { ov = ProtoPoolAnyValue_IntValue.Get().(*AnyValue_IntValue) @@ -257,7 +280,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { case *AnyValue_DoubleValue: var ov *AnyValue_DoubleValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_DoubleValue{} } else { ov = ProtoPoolAnyValue_DoubleValue.Get().(*AnyValue_DoubleValue) @@ -267,7 +290,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { case *AnyValue_ArrayValue: var ov *AnyValue_ArrayValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_ArrayValue{} } else { ov = ProtoPoolAnyValue_ArrayValue.Get().(*AnyValue_ArrayValue) @@ -278,7 +301,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { case *AnyValue_KvlistValue: var ov *AnyValue_KvlistValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_KvlistValue{} } else { ov = ProtoPoolAnyValue_KvlistValue.Get().(*AnyValue_KvlistValue) @@ -289,7 +312,7 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { case *AnyValue_BytesValue: var ov *AnyValue_BytesValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_BytesValue{} } else { ov = ProtoPoolAnyValue_BytesValue.Get().(*AnyValue_BytesValue) @@ -297,6 +320,16 @@ func CopyAnyValue(dest, src *AnyValue) *AnyValue { ov.BytesValue = t.BytesValue dest.Value = ov + case *AnyValue_StringValueStrindex: + var ov *AnyValue_StringValueStrindex + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { + ov = &AnyValue_StringValueStrindex{} + } else { + ov = ProtoPoolAnyValue_StringValueStrindex.Get().(*AnyValue_StringValueStrindex) + } + ov.StringValueStrindex = t.StringValueStrindex + dest.Value = ov + default: dest.Value = nil } @@ -386,6 +419,9 @@ func (orig *AnyValue) MarshalJSON(dest *json.Stream) { dest.WriteObjectField("bytesValue") dest.WriteBytes(orig.BytesValue) + case *AnyValue_StringValueStrindex: + dest.WriteObjectField("stringValueStrindex") + dest.WriteInt32(orig.StringValueStrindex) } dest.WriteObjectEnd() } @@ -398,7 +434,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "stringValue", "string_value": { var ov *AnyValue_StringValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_StringValue{} } else { ov = ProtoPoolAnyValue_StringValue.Get().(*AnyValue_StringValue) @@ -409,7 +445,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "boolValue", "bool_value": { var ov *AnyValue_BoolValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_BoolValue{} } else { ov = ProtoPoolAnyValue_BoolValue.Get().(*AnyValue_BoolValue) @@ -420,7 +456,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "intValue", "int_value": { var ov *AnyValue_IntValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_IntValue{} } else { ov = ProtoPoolAnyValue_IntValue.Get().(*AnyValue_IntValue) @@ -431,7 +467,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "doubleValue", "double_value": { var ov *AnyValue_DoubleValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_DoubleValue{} } else { ov = ProtoPoolAnyValue_DoubleValue.Get().(*AnyValue_DoubleValue) @@ -442,7 +478,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "arrayValue", "array_value": { var ov *AnyValue_ArrayValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_ArrayValue{} } else { ov = ProtoPoolAnyValue_ArrayValue.Get().(*AnyValue_ArrayValue) @@ -454,7 +490,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "kvlistValue", "kvlist_value": { var ov *AnyValue_KvlistValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_KvlistValue{} } else { ov = ProtoPoolAnyValue_KvlistValue.Get().(*AnyValue_KvlistValue) @@ -466,7 +502,7 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { case "bytesValue", "bytes_value": { var ov *AnyValue_BytesValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_BytesValue{} } else { ov = ProtoPoolAnyValue_BytesValue.Get().(*AnyValue_BytesValue) @@ -474,6 +510,17 @@ func (orig *AnyValue) UnmarshalJSON(iter *json.Iterator) { ov.BytesValue = iter.ReadBytes() orig.Value = ov } + case "stringValueStrindex", "string_value_strindex": + { + var ov *AnyValue_StringValueStrindex + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { + ov = &AnyValue_StringValueStrindex{} + } else { + ov = ProtoPoolAnyValue_StringValueStrindex.Get().(*AnyValue_StringValueStrindex) + } + ov.StringValueStrindex = iter.ReadInt32() + orig.Value = ov + } default: iter.Skip() @@ -514,6 +561,9 @@ func (orig *AnyValue) SizeProto() int { case *AnyValue_BytesValue: l = len(orig.BytesValue) n += 1 + proto.Sov(uint64(l)) + l + case *AnyValue_StringValueStrindex: + + n += 1 + proto.Sov(uint64(orig.StringValueStrindex)) } return n } @@ -576,6 +626,11 @@ func (orig *AnyValue) MarshalProto(buf []byte) int { pos-- buf[pos] = 0x3a + case *AnyValue_StringValueStrindex: + pos = proto.EncodeVarint(buf, pos, uint64(orig.StringValueStrindex)) + pos-- + buf[pos] = 0x40 + } return len(buf) - pos } @@ -606,7 +661,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *AnyValue_StringValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_StringValue{} } else { ov = ProtoPoolAnyValue_StringValue.Get().(*AnyValue_StringValue) @@ -624,7 +679,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { return err } var ov *AnyValue_BoolValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_BoolValue{} } else { ov = ProtoPoolAnyValue_BoolValue.Get().(*AnyValue_BoolValue) @@ -642,7 +697,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { return err } var ov *AnyValue_IntValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_IntValue{} } else { ov = ProtoPoolAnyValue_IntValue.Get().(*AnyValue_IntValue) @@ -660,7 +715,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { return err } var ov *AnyValue_DoubleValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_DoubleValue{} } else { ov = ProtoPoolAnyValue_DoubleValue.Get().(*AnyValue_DoubleValue) @@ -679,7 +734,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *AnyValue_ArrayValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_ArrayValue{} } else { ov = ProtoPoolAnyValue_ArrayValue.Get().(*AnyValue_ArrayValue) @@ -702,7 +757,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *AnyValue_KvlistValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_KvlistValue{} } else { ov = ProtoPoolAnyValue_KvlistValue.Get().(*AnyValue_KvlistValue) @@ -725,7 +780,7 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *AnyValue_BytesValue - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &AnyValue_BytesValue{} } else { ov = ProtoPoolAnyValue_BytesValue.Get().(*AnyValue_BytesValue) @@ -736,6 +791,24 @@ func (orig *AnyValue) UnmarshalProto(buf []byte) error { } orig.Value = ov + case 8: + if wireType != proto.WireTypeVarint { + return fmt.Errorf("proto: wrong wireType = %d for field StringValueStrindex", wireType) + } + var num uint64 + num, pos, err = proto.ConsumeVarint(buf, pos) + if err != nil { + return err + } + var ov *AnyValue_StringValueStrindex + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { + ov = &AnyValue_StringValueStrindex{} + } else { + ov = ProtoPoolAnyValue_StringValueStrindex.Get().(*AnyValue_StringValueStrindex) + } + ov.StringValueStrindex = int32(num) + orig.Value = ov + default: pos, err = proto.ConsumeUnknown(buf, pos, wireType) if err != nil { diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_arrayvalue.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_arrayvalue.go index f973831cf..dc041f4e6 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_arrayvalue.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_arrayvalue.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewArrayValue() *ArrayValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ArrayValue{} } return protoPoolArrayValue.Get().(*ArrayValue) @@ -39,7 +40,7 @@ func DeleteArrayValue(orig *ArrayValue, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_entityref.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_entityref.go index d326cfe46..58c6b3249 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_entityref.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_entityref.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewEntityRef() *EntityRef { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &EntityRef{} } return protoPoolEntityRef.Get().(*EntityRef) @@ -41,7 +42,7 @@ func DeleteEntityRef(orig *EntityRef, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exemplar.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exemplar.go index 5516bfd20..231d1a79e 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exemplar.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exemplar.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -78,7 +79,7 @@ var ( ) func NewExemplar() *Exemplar { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Exemplar{} } return protoPoolExemplar.Get().(*Exemplar) @@ -89,7 +90,7 @@ func DeleteExemplar(orig *Exemplar, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } @@ -99,12 +100,12 @@ func DeleteExemplar(orig *Exemplar, nullable bool) { switch ov := orig.Value.(type) { case *Exemplar_AsDouble: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.AsDouble = float64(0) ProtoPoolExemplar_AsDouble.Put(ov) } case *Exemplar_AsInt: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.AsInt = int64(0) ProtoPoolExemplar_AsInt.Put(ov) } @@ -136,7 +137,7 @@ func CopyExemplar(dest, src *Exemplar) *Exemplar { switch t := src.Value.(type) { case *Exemplar_AsDouble: var ov *Exemplar_AsDouble - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Exemplar_AsDouble{} } else { ov = ProtoPoolExemplar_AsDouble.Get().(*Exemplar_AsDouble) @@ -146,7 +147,7 @@ func CopyExemplar(dest, src *Exemplar) *Exemplar { case *Exemplar_AsInt: var ov *Exemplar_AsInt - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Exemplar_AsInt{} } else { ov = ProtoPoolExemplar_AsInt.Get().(*Exemplar_AsInt) @@ -268,7 +269,7 @@ func (orig *Exemplar) UnmarshalJSON(iter *json.Iterator) { case "asDouble", "as_double": { var ov *Exemplar_AsDouble - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Exemplar_AsDouble{} } else { ov = ProtoPoolExemplar_AsDouble.Get().(*Exemplar_AsDouble) @@ -279,7 +280,7 @@ func (orig *Exemplar) UnmarshalJSON(iter *json.Iterator) { case "asInt", "as_int": { var ov *Exemplar_AsInt - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Exemplar_AsInt{} } else { ov = ProtoPoolExemplar_AsInt.Get().(*Exemplar_AsInt) @@ -428,7 +429,7 @@ func (orig *Exemplar) UnmarshalProto(buf []byte) error { return err } var ov *Exemplar_AsDouble - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Exemplar_AsDouble{} } else { ov = ProtoPoolExemplar_AsDouble.Get().(*Exemplar_AsDouble) @@ -446,7 +447,7 @@ func (orig *Exemplar) UnmarshalProto(buf []byte) error { return err } var ov *Exemplar_AsInt - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Exemplar_AsInt{} } else { ov = ProtoPoolExemplar_AsInt.Get().(*Exemplar_AsInt) diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogram.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogram.go index 5d5e07793..d46dc1344 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogram.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogram.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewExponentialHistogram() *ExponentialHistogram { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExponentialHistogram{} } return protoPoolExponentialHistogram.Get().(*ExponentialHistogram) @@ -41,7 +42,7 @@ func DeleteExponentialHistogram(orig *ExponentialHistogram, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapoint.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapoint.go index e0407b073..c637459b3 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapoint.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapoint.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -47,7 +48,7 @@ var ( ) func NewExponentialHistogramDataPoint() *ExponentialHistogramDataPoint { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExponentialHistogramDataPoint{} } return protoPoolExponentialHistogramDataPoint.Get().(*ExponentialHistogramDataPoint) @@ -58,7 +59,7 @@ func DeleteExponentialHistogramDataPoint(orig *ExponentialHistogramDataPoint, nu return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapointbuckets.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapointbuckets.go index 15243f12d..6908a66d2 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapointbuckets.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exponentialhistogramdatapointbuckets.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExponentialHistogramDataPointBuckets() *ExponentialHistogramDataPointBuckets { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExponentialHistogramDataPointBuckets{} } return protoPoolExponentialHistogramDataPointBuckets.Get().(*ExponentialHistogramDataPointBuckets) @@ -40,7 +41,7 @@ func DeleteExponentialHistogramDataPointBuckets(orig *ExponentialHistogramDataPo return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogspartialsuccess.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogspartialsuccess.go index bccd38e7d..2e3eb5060 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogspartialsuccess.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogspartialsuccess.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportLogsPartialSuccess() *ExportLogsPartialSuccess { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportLogsPartialSuccess{} } return protoPoolExportLogsPartialSuccess.Get().(*ExportLogsPartialSuccess) @@ -40,7 +41,7 @@ func DeleteExportLogsPartialSuccess(orig *ExportLogsPartialSuccess, nullable boo return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsservicerequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsservicerequest.go index 7fb48b36a..cdfb591d7 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsservicerequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsservicerequest.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportLogsServiceRequest() *ExportLogsServiceRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportLogsServiceRequest{} } return protoPoolExportLogsServiceRequest.Get().(*ExportLogsServiceRequest) @@ -40,7 +41,7 @@ func DeleteExportLogsServiceRequest(orig *ExportLogsServiceRequest, nullable boo return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsserviceresponse.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsserviceresponse.go index 5570fe93d..b2271520f 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsserviceresponse.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportlogsserviceresponse.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewExportLogsServiceResponse() *ExportLogsServiceResponse { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportLogsServiceResponse{} } return protoPoolExportLogsServiceResponse.Get().(*ExportLogsServiceResponse) @@ -39,7 +40,7 @@ func DeleteExportLogsServiceResponse(orig *ExportLogsServiceResponse, nullable b return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricspartialsuccess.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricspartialsuccess.go index 4915d3cb7..27e965641 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricspartialsuccess.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricspartialsuccess.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportMetricsPartialSuccess() *ExportMetricsPartialSuccess { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportMetricsPartialSuccess{} } return protoPoolExportMetricsPartialSuccess.Get().(*ExportMetricsPartialSuccess) @@ -40,7 +41,7 @@ func DeleteExportMetricsPartialSuccess(orig *ExportMetricsPartialSuccess, nullab return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsservicerequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsservicerequest.go index 76cc8020c..c926b5487 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsservicerequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsservicerequest.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportMetricsServiceRequest() *ExportMetricsServiceRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportMetricsServiceRequest{} } return protoPoolExportMetricsServiceRequest.Get().(*ExportMetricsServiceRequest) @@ -40,7 +41,7 @@ func DeleteExportMetricsServiceRequest(orig *ExportMetricsServiceRequest, nullab return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsserviceresponse.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsserviceresponse.go index ae78a10f9..222d5825f 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsserviceresponse.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportmetricsserviceresponse.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewExportMetricsServiceResponse() *ExportMetricsServiceResponse { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportMetricsServiceResponse{} } return protoPoolExportMetricsServiceResponse.Get().(*ExportMetricsServiceResponse) @@ -39,7 +40,7 @@ func DeleteExportMetricsServiceResponse(orig *ExportMetricsServiceResponse, null return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilespartialsuccess.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilespartialsuccess.go index 5a75e7a65..8077e8a04 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilespartialsuccess.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilespartialsuccess.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportProfilesPartialSuccess() *ExportProfilesPartialSuccess { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportProfilesPartialSuccess{} } return protoPoolExportProfilesPartialSuccess.Get().(*ExportProfilesPartialSuccess) @@ -40,7 +41,7 @@ func DeleteExportProfilesPartialSuccess(orig *ExportProfilesPartialSuccess, null return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesservicerequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesservicerequest.go index ba9ecbc4e..72d876c97 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesservicerequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesservicerequest.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewExportProfilesServiceRequest() *ExportProfilesServiceRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportProfilesServiceRequest{} } return protoPoolExportProfilesServiceRequest.Get().(*ExportProfilesServiceRequest) @@ -41,7 +42,7 @@ func DeleteExportProfilesServiceRequest(orig *ExportProfilesServiceRequest, null return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesserviceresponse.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesserviceresponse.go index e8fea55ea..383058bc6 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesserviceresponse.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exportprofilesserviceresponse.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewExportProfilesServiceResponse() *ExportProfilesServiceResponse { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportProfilesServiceResponse{} } return protoPoolExportProfilesServiceResponse.Get().(*ExportProfilesServiceResponse) @@ -39,7 +40,7 @@ func DeleteExportProfilesServiceResponse(orig *ExportProfilesServiceResponse, nu return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttracepartialsuccess.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttracepartialsuccess.go index 6df4657fa..bf6b8f6bf 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttracepartialsuccess.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttracepartialsuccess.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportTracePartialSuccess() *ExportTracePartialSuccess { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportTracePartialSuccess{} } return protoPoolExportTracePartialSuccess.Get().(*ExportTracePartialSuccess) @@ -40,7 +41,7 @@ func DeleteExportTracePartialSuccess(orig *ExportTracePartialSuccess, nullable b return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceservicerequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceservicerequest.go index 2a4ff9ef3..408d5aa46 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceservicerequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceservicerequest.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewExportTraceServiceRequest() *ExportTraceServiceRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportTraceServiceRequest{} } return protoPoolExportTraceServiceRequest.Get().(*ExportTraceServiceRequest) @@ -40,7 +41,7 @@ func DeleteExportTraceServiceRequest(orig *ExportTraceServiceRequest, nullable b return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceserviceresponse.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceserviceresponse.go index f3d35d4b9..4437f3dec 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceserviceresponse.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_exporttraceserviceresponse.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewExportTraceServiceResponse() *ExportTraceServiceResponse { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ExportTraceServiceResponse{} } return protoPoolExportTraceServiceResponse.Get().(*ExportTraceServiceResponse) @@ -39,7 +40,7 @@ func DeleteExportTraceServiceResponse(orig *ExportTraceServiceResponse, nullable return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_function.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_function.go index 06bc218b1..a2d0b1b86 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_function.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_function.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewFunction() *Function { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Function{} } return protoPoolFunction.Get().(*Function) @@ -42,7 +43,7 @@ func DeleteFunction(orig *Function, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_gauge.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_gauge.go index 996d66242..5d2b46751 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_gauge.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_gauge.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewGauge() *Gauge { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Gauge{} } return protoPoolGauge.Get().(*Gauge) @@ -39,7 +40,7 @@ func DeleteGauge(orig *Gauge, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogram.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogram.go index 09fab65bb..3d9c149ce 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogram.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogram.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewHistogram() *Histogram { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Histogram{} } return protoPoolHistogram.Get().(*Histogram) @@ -40,7 +41,7 @@ func DeleteHistogram(orig *Histogram, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogramdatapoint.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogramdatapoint.go index b43e3cbb8..0d28369f4 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogramdatapoint.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_histogramdatapoint.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -41,7 +42,7 @@ var ( ) func NewHistogramDataPoint() *HistogramDataPoint { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &HistogramDataPoint{} } return protoPoolHistogramDataPoint.Get().(*HistogramDataPoint) @@ -52,7 +53,7 @@ func DeleteHistogramDataPoint(orig *HistogramDataPoint, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_instrumentationscope.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_instrumentationscope.go index ab44a2eab..a8162b433 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_instrumentationscope.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_instrumentationscope.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewInstrumentationScope() *InstrumentationScope { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &InstrumentationScope{} } return protoPoolInstrumentationScope.Get().(*InstrumentationScope) @@ -42,7 +43,7 @@ func DeleteInstrumentationScope(orig *InstrumentationScope, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_ipaddr.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_ipaddr.go index d77ec13a9..3b72d1d22 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_ipaddr.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_ipaddr.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewIPAddr() *IPAddr { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &IPAddr{} } return protoPoolIPAddr.Get().(*IPAddr) @@ -39,7 +40,7 @@ func DeleteIPAddr(orig *IPAddr, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalue.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalue.go index 038cb114d..5f80a111a 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalue.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalue.go @@ -11,12 +11,14 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) type KeyValue struct { - Value AnyValue - Key string + Value AnyValue + Key string + KeyStrindex int32 } var ( @@ -28,7 +30,7 @@ var ( ) func NewKeyValue() *KeyValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &KeyValue{} } return protoPoolKeyValue.Get().(*KeyValue) @@ -39,12 +41,13 @@ func DeleteKeyValue(orig *KeyValue, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } DeleteAnyValue(&orig.Value, false) + orig.Reset() if nullable { protoPoolKeyValue.Put(orig) @@ -67,6 +70,8 @@ func CopyKeyValue(dest, src *KeyValue) *KeyValue { dest.Key = src.Key CopyAnyValue(&dest.Value, &src.Value) + dest.KeyStrindex = src.KeyStrindex + return dest } @@ -131,6 +136,10 @@ func (orig *KeyValue) MarshalJSON(dest *json.Stream) { } dest.WriteObjectField("value") orig.Value.MarshalJSON(dest) + if orig.KeyStrindex != int32(0) { + dest.WriteObjectField("keyStrindex") + dest.WriteInt32(orig.KeyStrindex) + } dest.WriteObjectEnd() } @@ -143,6 +152,8 @@ func (orig *KeyValue) UnmarshalJSON(iter *json.Iterator) { case "value": orig.Value.UnmarshalJSON(iter) + case "keyStrindex", "key_strindex": + orig.KeyStrindex = iter.ReadInt32() default: iter.Skip() } @@ -160,6 +171,9 @@ func (orig *KeyValue) SizeProto() int { } l = orig.Value.SizeProto() n += 1 + proto.Sov(uint64(l)) + l + if orig.KeyStrindex != int32(0) { + n += 1 + proto.Sov(uint64(orig.KeyStrindex)) + } return n } @@ -181,6 +195,11 @@ func (orig *KeyValue) MarshalProto(buf []byte) int { pos-- buf[pos] = 0x12 + if orig.KeyStrindex != int32(0) { + pos = proto.EncodeVarint(buf, pos, uint64(orig.KeyStrindex)) + pos-- + buf[pos] = 0x18 + } return len(buf) - pos } @@ -226,6 +245,17 @@ func (orig *KeyValue) UnmarshalProto(buf []byte) error { if err != nil { return err } + + case 3: + if wireType != proto.WireTypeVarint { + return fmt.Errorf("proto: wrong wireType = %d for field KeyStrindex", wireType) + } + var num uint64 + num, pos, err = proto.ConsumeVarint(buf, pos) + if err != nil { + return err + } + orig.KeyStrindex = int32(num) default: pos, err = proto.ConsumeUnknown(buf, pos, wireType) if err != nil { @@ -240,6 +270,7 @@ func GenTestKeyValue() *KeyValue { orig := NewKeyValue() orig.Key = "test_key" orig.Value = *GenTestAnyValue() + orig.KeyStrindex = int32(13) return orig } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalueandunit.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalueandunit.go index 493ad947f..3e0c6cf92 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalueandunit.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvalueandunit.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -32,7 +33,7 @@ var ( ) func NewKeyValueAndUnit() *KeyValueAndUnit { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &KeyValueAndUnit{} } return protoPoolKeyValueAndUnit.Get().(*KeyValueAndUnit) @@ -43,7 +44,7 @@ func DeleteKeyValueAndUnit(orig *KeyValueAndUnit, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvaluelist.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvaluelist.go index 9e01d808a..9cb772d4c 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvaluelist.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_keyvaluelist.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewKeyValueList() *KeyValueList { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &KeyValueList{} } return protoPoolKeyValueList.Get().(*KeyValueList) @@ -39,7 +40,7 @@ func DeleteKeyValueList(orig *KeyValueList, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_line.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_line.go index f6db6871b..0fe3a738b 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_line.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_line.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewLine() *Line { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Line{} } return protoPoolLine.Get().(*Line) @@ -41,7 +42,7 @@ func DeleteLine(orig *Line, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_link.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_link.go index 6df8aa77f..9d62117e8 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_link.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_link.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewLink() *Link { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Link{} } return protoPoolLink.Get().(*Link) @@ -40,7 +41,7 @@ func DeleteLink(orig *Link, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_location.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_location.go index a9eebb1f6..c75ed04c9 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_location.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_location.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewLocation() *Location { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Location{} } return protoPoolLocation.Get().(*Location) @@ -42,7 +43,7 @@ func DeleteLocation(orig *Location, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logrecord.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logrecord.go index 6d5057b57..c3e449246 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logrecord.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logrecord.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -40,7 +41,7 @@ var ( ) func NewLogRecord() *LogRecord { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &LogRecord{} } return protoPoolLogRecord.Get().(*LogRecord) @@ -51,7 +52,7 @@ func DeleteLogRecord(orig *LogRecord, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsdata.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsdata.go index 747684f1c..7f7f3bfb9 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsdata.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsdata.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewLogsData() *LogsData { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &LogsData{} } return protoPoolLogsData.Get().(*LogsData) @@ -41,7 +42,7 @@ func DeleteLogsData(orig *LogsData, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsrequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsrequest.go index 94b915df0..4e18c3050 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsrequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_logsrequest.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewLogsRequest() *LogsRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &LogsRequest{} } return protoPoolLogsRequest.Get().(*LogsRequest) @@ -41,7 +42,7 @@ func DeleteLogsRequest(orig *LogsRequest, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_mapping.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_mapping.go index 8a91a0762..ec1462389 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_mapping.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_mapping.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -32,7 +33,7 @@ var ( ) func NewMapping() *Mapping { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Mapping{} } return protoPoolMapping.Get().(*Mapping) @@ -43,7 +44,7 @@ func DeleteMapping(orig *Mapping, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metric.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metric.go index 6e5fa339f..b7c1587b9 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metric.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metric.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -125,7 +126,7 @@ var ( ) func NewMetric() *Metric { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Metric{} } return protoPoolMetric.Get().(*Metric) @@ -136,7 +137,7 @@ func DeleteMetric(orig *Metric, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } @@ -191,7 +192,7 @@ func CopyMetric(dest, src *Metric) *Metric { switch t := src.Data.(type) { case *Metric_Gauge: var ov *Metric_Gauge - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Gauge{} } else { ov = ProtoPoolMetric_Gauge.Get().(*Metric_Gauge) @@ -202,7 +203,7 @@ func CopyMetric(dest, src *Metric) *Metric { case *Metric_Sum: var ov *Metric_Sum - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Sum{} } else { ov = ProtoPoolMetric_Sum.Get().(*Metric_Sum) @@ -213,7 +214,7 @@ func CopyMetric(dest, src *Metric) *Metric { case *Metric_Histogram: var ov *Metric_Histogram - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Histogram{} } else { ov = ProtoPoolMetric_Histogram.Get().(*Metric_Histogram) @@ -224,7 +225,7 @@ func CopyMetric(dest, src *Metric) *Metric { case *Metric_ExponentialHistogram: var ov *Metric_ExponentialHistogram - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_ExponentialHistogram{} } else { ov = ProtoPoolMetric_ExponentialHistogram.Get().(*Metric_ExponentialHistogram) @@ -235,7 +236,7 @@ func CopyMetric(dest, src *Metric) *Metric { case *Metric_Summary: var ov *Metric_Summary - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Summary{} } else { ov = ProtoPoolMetric_Summary.Get().(*Metric_Summary) @@ -373,7 +374,7 @@ func (orig *Metric) UnmarshalJSON(iter *json.Iterator) { case "gauge": { var ov *Metric_Gauge - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Gauge{} } else { ov = ProtoPoolMetric_Gauge.Get().(*Metric_Gauge) @@ -385,7 +386,7 @@ func (orig *Metric) UnmarshalJSON(iter *json.Iterator) { case "sum": { var ov *Metric_Sum - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Sum{} } else { ov = ProtoPoolMetric_Sum.Get().(*Metric_Sum) @@ -397,7 +398,7 @@ func (orig *Metric) UnmarshalJSON(iter *json.Iterator) { case "histogram": { var ov *Metric_Histogram - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Histogram{} } else { ov = ProtoPoolMetric_Histogram.Get().(*Metric_Histogram) @@ -409,7 +410,7 @@ func (orig *Metric) UnmarshalJSON(iter *json.Iterator) { case "exponentialHistogram", "exponential_histogram": { var ov *Metric_ExponentialHistogram - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_ExponentialHistogram{} } else { ov = ProtoPoolMetric_ExponentialHistogram.Get().(*Metric_ExponentialHistogram) @@ -421,7 +422,7 @@ func (orig *Metric) UnmarshalJSON(iter *json.Iterator) { case "summary": { var ov *Metric_Summary - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Summary{} } else { ov = ProtoPoolMetric_Summary.Get().(*Metric_Summary) @@ -641,7 +642,7 @@ func (orig *Metric) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *Metric_Gauge - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Gauge{} } else { ov = ProtoPoolMetric_Gauge.Get().(*Metric_Gauge) @@ -664,7 +665,7 @@ func (orig *Metric) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *Metric_Sum - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Sum{} } else { ov = ProtoPoolMetric_Sum.Get().(*Metric_Sum) @@ -687,7 +688,7 @@ func (orig *Metric) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *Metric_Histogram - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Histogram{} } else { ov = ProtoPoolMetric_Histogram.Get().(*Metric_Histogram) @@ -710,7 +711,7 @@ func (orig *Metric) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *Metric_ExponentialHistogram - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_ExponentialHistogram{} } else { ov = ProtoPoolMetric_ExponentialHistogram.Get().(*Metric_ExponentialHistogram) @@ -733,7 +734,7 @@ func (orig *Metric) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *Metric_Summary - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &Metric_Summary{} } else { ov = ProtoPoolMetric_Summary.Get().(*Metric_Summary) diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsdata.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsdata.go index aa7900f67..48248dc45 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsdata.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsdata.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewMetricsData() *MetricsData { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &MetricsData{} } return protoPoolMetricsData.Get().(*MetricsData) @@ -41,7 +42,7 @@ func DeleteMetricsData(orig *MetricsData, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsrequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsrequest.go index c2cca74a1..da51b989d 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsrequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_metricsrequest.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewMetricsRequest() *MetricsRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &MetricsRequest{} } return protoPoolMetricsRequest.Get().(*MetricsRequest) @@ -41,7 +42,7 @@ func DeleteMetricsRequest(orig *MetricsRequest, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_numberdatapoint.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_numberdatapoint.go index e413d6407..99f5f7661 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_numberdatapoint.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_numberdatapoint.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -76,7 +77,7 @@ var ( ) func NewNumberDataPoint() *NumberDataPoint { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &NumberDataPoint{} } return protoPoolNumberDataPoint.Get().(*NumberDataPoint) @@ -87,7 +88,7 @@ func DeleteNumberDataPoint(orig *NumberDataPoint, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } @@ -97,12 +98,12 @@ func DeleteNumberDataPoint(orig *NumberDataPoint, nullable bool) { switch ov := orig.Value.(type) { case *NumberDataPoint_AsDouble: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.AsDouble = float64(0) ProtoPoolNumberDataPoint_AsDouble.Put(ov) } case *NumberDataPoint_AsInt: - if UseProtoPooling.IsEnabled() { + if metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov.AsInt = int64(0) ProtoPoolNumberDataPoint_AsInt.Put(ov) } @@ -137,7 +138,7 @@ func CopyNumberDataPoint(dest, src *NumberDataPoint) *NumberDataPoint { switch t := src.Value.(type) { case *NumberDataPoint_AsDouble: var ov *NumberDataPoint_AsDouble - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &NumberDataPoint_AsDouble{} } else { ov = ProtoPoolNumberDataPoint_AsDouble.Get().(*NumberDataPoint_AsDouble) @@ -147,7 +148,7 @@ func CopyNumberDataPoint(dest, src *NumberDataPoint) *NumberDataPoint { case *NumberDataPoint_AsInt: var ov *NumberDataPoint_AsInt - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &NumberDataPoint_AsInt{} } else { ov = ProtoPoolNumberDataPoint_AsInt.Get().(*NumberDataPoint_AsInt) @@ -281,7 +282,7 @@ func (orig *NumberDataPoint) UnmarshalJSON(iter *json.Iterator) { case "asDouble", "as_double": { var ov *NumberDataPoint_AsDouble - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &NumberDataPoint_AsDouble{} } else { ov = ProtoPoolNumberDataPoint_AsDouble.Get().(*NumberDataPoint_AsDouble) @@ -292,7 +293,7 @@ func (orig *NumberDataPoint) UnmarshalJSON(iter *json.Iterator) { case "asInt", "as_int": { var ov *NumberDataPoint_AsInt - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &NumberDataPoint_AsInt{} } else { ov = ProtoPoolNumberDataPoint_AsInt.Get().(*NumberDataPoint_AsInt) @@ -467,7 +468,7 @@ func (orig *NumberDataPoint) UnmarshalProto(buf []byte) error { return err } var ov *NumberDataPoint_AsDouble - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &NumberDataPoint_AsDouble{} } else { ov = ProtoPoolNumberDataPoint_AsDouble.Get().(*NumberDataPoint_AsDouble) @@ -485,7 +486,7 @@ func (orig *NumberDataPoint) UnmarshalProto(buf []byte) error { return err } var ov *NumberDataPoint_AsInt - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &NumberDataPoint_AsInt{} } else { ov = ProtoPoolNumberDataPoint_AsInt.Get().(*NumberDataPoint_AsInt) diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profile.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profile.go index 02167667d..d40303aee 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profile.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profile.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -40,7 +41,7 @@ var ( ) func NewProfile() *Profile { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Profile{} } return protoPoolProfile.Get().(*Profile) @@ -51,7 +52,7 @@ func DeleteProfile(orig *Profile, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdata.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdata.go index 45a876f6d..491a81955 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdata.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdata.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewProfilesData() *ProfilesData { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ProfilesData{} } return protoPoolProfilesData.Get().(*ProfilesData) @@ -42,7 +43,7 @@ func DeleteProfilesData(orig *ProfilesData, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdictionary.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdictionary.go index 8b8bef11c..8471828e6 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdictionary.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesdictionary.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -34,7 +35,7 @@ var ( ) func NewProfilesDictionary() *ProfilesDictionary { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ProfilesDictionary{} } return protoPoolProfilesDictionary.Get().(*ProfilesDictionary) @@ -45,7 +46,7 @@ func DeleteProfilesDictionary(orig *ProfilesDictionary, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesrequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesrequest.go index b8956807f..170547c09 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesrequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_profilesrequest.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewProfilesRequest() *ProfilesRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ProfilesRequest{} } return protoPoolProfilesRequest.Get().(*ProfilesRequest) @@ -41,7 +42,7 @@ func DeleteProfilesRequest(orig *ProfilesRequest, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_requestcontext.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_requestcontext.go index eab9a270b..3aa89c1ca 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_requestcontext.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_requestcontext.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -104,7 +105,7 @@ var ( ) func NewRequestContext() *RequestContext { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &RequestContext{} } return protoPoolRequestContext.Get().(*RequestContext) @@ -115,7 +116,7 @@ func DeleteRequestContext(orig *RequestContext, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } @@ -167,7 +168,7 @@ func CopyRequestContext(dest, src *RequestContext) *RequestContext { switch t := src.ClientAddress.(type) { case *RequestContext_IP: var ov *RequestContext_IP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_IP{} } else { ov = ProtoPoolRequestContext_IP.Get().(*RequestContext_IP) @@ -178,7 +179,7 @@ func CopyRequestContext(dest, src *RequestContext) *RequestContext { case *RequestContext_TCP: var ov *RequestContext_TCP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_TCP{} } else { ov = ProtoPoolRequestContext_TCP.Get().(*RequestContext_TCP) @@ -189,7 +190,7 @@ func CopyRequestContext(dest, src *RequestContext) *RequestContext { case *RequestContext_UDP: var ov *RequestContext_UDP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_UDP{} } else { ov = ProtoPoolRequestContext_UDP.Get().(*RequestContext_UDP) @@ -200,7 +201,7 @@ func CopyRequestContext(dest, src *RequestContext) *RequestContext { case *RequestContext_Unix: var ov *RequestContext_Unix - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_Unix{} } else { ov = ProtoPoolRequestContext_Unix.Get().(*RequestContext_Unix) @@ -326,7 +327,7 @@ func (orig *RequestContext) UnmarshalJSON(iter *json.Iterator) { case "iP": { var ov *RequestContext_IP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_IP{} } else { ov = ProtoPoolRequestContext_IP.Get().(*RequestContext_IP) @@ -338,7 +339,7 @@ func (orig *RequestContext) UnmarshalJSON(iter *json.Iterator) { case "tCP": { var ov *RequestContext_TCP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_TCP{} } else { ov = ProtoPoolRequestContext_TCP.Get().(*RequestContext_TCP) @@ -350,7 +351,7 @@ func (orig *RequestContext) UnmarshalJSON(iter *json.Iterator) { case "uDP": { var ov *RequestContext_UDP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_UDP{} } else { ov = ProtoPoolRequestContext_UDP.Get().(*RequestContext_UDP) @@ -362,7 +363,7 @@ func (orig *RequestContext) UnmarshalJSON(iter *json.Iterator) { case "unix": { var ov *RequestContext_Unix - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_Unix{} } else { ov = ProtoPoolRequestContext_Unix.Get().(*RequestContext_Unix) @@ -532,7 +533,7 @@ func (orig *RequestContext) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *RequestContext_IP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_IP{} } else { ov = ProtoPoolRequestContext_IP.Get().(*RequestContext_IP) @@ -555,7 +556,7 @@ func (orig *RequestContext) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *RequestContext_TCP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_TCP{} } else { ov = ProtoPoolRequestContext_TCP.Get().(*RequestContext_TCP) @@ -578,7 +579,7 @@ func (orig *RequestContext) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *RequestContext_UDP - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_UDP{} } else { ov = ProtoPoolRequestContext_UDP.Get().(*RequestContext_UDP) @@ -601,7 +602,7 @@ func (orig *RequestContext) UnmarshalProto(buf []byte) error { } startPos := pos - length var ov *RequestContext_Unix - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { ov = &RequestContext_Unix{} } else { ov = ProtoPoolRequestContext_Unix.Get().(*RequestContext_Unix) diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resource.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resource.go index 0b846c62b..9a1a0bba1 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resource.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resource.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewResource() *Resource { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Resource{} } return protoPoolResource.Get().(*Resource) @@ -41,7 +42,7 @@ func DeleteResource(orig *Resource, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcelogs.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcelogs.go index f7f645666..d7b8c732b 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcelogs.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcelogs.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewResourceLogs() *ResourceLogs { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ResourceLogs{} } return protoPoolResourceLogs.Get().(*ResourceLogs) @@ -42,7 +43,7 @@ func DeleteResourceLogs(orig *ResourceLogs, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcemetrics.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcemetrics.go index dc61ce32c..364a719ba 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcemetrics.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcemetrics.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewResourceMetrics() *ResourceMetrics { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ResourceMetrics{} } return protoPoolResourceMetrics.Get().(*ResourceMetrics) @@ -42,7 +43,7 @@ func DeleteResourceMetrics(orig *ResourceMetrics, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourceprofiles.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourceprofiles.go index e1b091072..3a6e83db2 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourceprofiles.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourceprofiles.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewResourceProfiles() *ResourceProfiles { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ResourceProfiles{} } return protoPoolResourceProfiles.Get().(*ResourceProfiles) @@ -41,7 +42,7 @@ func DeleteResourceProfiles(orig *ResourceProfiles, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcespans.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcespans.go index fd29e9057..4c1bb0786 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcespans.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_resourcespans.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewResourceSpans() *ResourceSpans { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ResourceSpans{} } return protoPoolResourceSpans.Get().(*ResourceSpans) @@ -42,7 +43,7 @@ func DeleteResourceSpans(orig *ResourceSpans, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sample.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sample.go index 7a67e83f6..c53dc105a 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sample.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sample.go @@ -12,13 +12,14 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) // Sample represents each record value encountered within a profiled program. type Sample struct { - Values []int64 AttributeIndices []int32 + Values []int64 TimestampsUnixNano []uint64 StackIndex int32 LinkIndex int32 @@ -33,7 +34,7 @@ var ( ) func NewSample() *Sample { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Sample{} } return protoPoolSample.Get().(*Sample) @@ -44,7 +45,7 @@ func DeleteSample(orig *Sample, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } @@ -69,11 +70,11 @@ func CopySample(dest, src *Sample) *Sample { dest = NewSample() } dest.StackIndex = src.StackIndex - dest.Values = append(dest.Values[:0], src.Values...) - dest.AttributeIndices = append(dest.AttributeIndices[:0], src.AttributeIndices...) dest.LinkIndex = src.LinkIndex + dest.Values = append(dest.Values[:0], src.Values...) + dest.TimestampsUnixNano = append(dest.TimestampsUnixNano[:0], src.TimestampsUnixNano...) return dest @@ -138,17 +139,6 @@ func (orig *Sample) MarshalJSON(dest *json.Stream) { dest.WriteObjectField("stackIndex") dest.WriteInt32(orig.StackIndex) } - if len(orig.Values) > 0 { - dest.WriteObjectField("values") - dest.WriteArrayStart() - dest.WriteInt64(orig.Values[0]) - for i := 1; i < len(orig.Values); i++ { - dest.WriteMore() - dest.WriteInt64(orig.Values[i]) - } - dest.WriteArrayEnd() - } - if len(orig.AttributeIndices) > 0 { dest.WriteObjectField("attributeIndices") dest.WriteArrayStart() @@ -164,6 +154,17 @@ func (orig *Sample) MarshalJSON(dest *json.Stream) { dest.WriteObjectField("linkIndex") dest.WriteInt32(orig.LinkIndex) } + if len(orig.Values) > 0 { + dest.WriteObjectField("values") + dest.WriteArrayStart() + dest.WriteInt64(orig.Values[0]) + for i := 1; i < len(orig.Values); i++ { + dest.WriteMore() + dest.WriteInt64(orig.Values[i]) + } + dest.WriteArrayEnd() + } + if len(orig.TimestampsUnixNano) > 0 { dest.WriteObjectField("timestampsUnixNano") dest.WriteArrayStart() @@ -184,11 +185,6 @@ func (orig *Sample) UnmarshalJSON(iter *json.Iterator) { switch f { case "stackIndex", "stack_index": orig.StackIndex = iter.ReadInt32() - case "values": - for iter.ReadArray() { - orig.Values = append(orig.Values, iter.ReadInt64()) - } - case "attributeIndices", "attribute_indices": for iter.ReadArray() { orig.AttributeIndices = append(orig.AttributeIndices, iter.ReadInt32()) @@ -196,6 +192,11 @@ func (orig *Sample) UnmarshalJSON(iter *json.Iterator) { case "linkIndex", "link_index": orig.LinkIndex = iter.ReadInt32() + case "values": + for iter.ReadArray() { + orig.Values = append(orig.Values, iter.ReadInt64()) + } + case "timestampsUnixNano", "timestamps_unix_nano": for iter.ReadArray() { orig.TimestampsUnixNano = append(orig.TimestampsUnixNano, iter.ReadUint64()) @@ -215,24 +216,24 @@ func (orig *Sample) SizeProto() int { n += 1 + proto.Sov(uint64(orig.StackIndex)) } - if len(orig.Values) > 0 { + if len(orig.AttributeIndices) > 0 { l = 0 - for _, e := range orig.Values { + for _, e := range orig.AttributeIndices { l += proto.Sov(uint64(e)) } n += 1 + proto.Sov(uint64(l)) + l } + if orig.LinkIndex != int32(0) { + n += 1 + proto.Sov(uint64(orig.LinkIndex)) + } - if len(orig.AttributeIndices) > 0 { + if len(orig.Values) > 0 { l = 0 - for _, e := range orig.AttributeIndices { + for _, e := range orig.Values { l += proto.Sov(uint64(e)) } n += 1 + proto.Sov(uint64(l)) + l } - if orig.LinkIndex != int32(0) { - n += 1 + proto.Sov(uint64(orig.LinkIndex)) - } l = len(orig.TimestampsUnixNano) if l > 0 { l *= 8 @@ -250,30 +251,30 @@ func (orig *Sample) MarshalProto(buf []byte) int { pos-- buf[pos] = 0x8 } - l = len(orig.Values) + l = len(orig.AttributeIndices) if l > 0 { endPos := pos for i := l - 1; i >= 0; i-- { - pos = proto.EncodeVarint(buf, pos, uint64(orig.Values[i])) + pos = proto.EncodeVarint(buf, pos, uint64(orig.AttributeIndices[i])) } pos = proto.EncodeVarint(buf, pos, uint64(endPos-pos)) pos-- buf[pos] = 0x12 } - l = len(orig.AttributeIndices) + if orig.LinkIndex != int32(0) { + pos = proto.EncodeVarint(buf, pos, uint64(orig.LinkIndex)) + pos-- + buf[pos] = 0x18 + } + l = len(orig.Values) if l > 0 { endPos := pos for i := l - 1; i >= 0; i-- { - pos = proto.EncodeVarint(buf, pos, uint64(orig.AttributeIndices[i])) + pos = proto.EncodeVarint(buf, pos, uint64(orig.Values[i])) } pos = proto.EncodeVarint(buf, pos, uint64(endPos-pos)) pos-- - buf[pos] = 0x1a - } - if orig.LinkIndex != int32(0) { - pos = proto.EncodeVarint(buf, pos, uint64(orig.LinkIndex)) - pos-- - buf[pos] = 0x20 + buf[pos] = 0x22 } l = len(orig.TimestampsUnixNano) if l > 0 { @@ -328,10 +329,10 @@ func (orig *Sample) UnmarshalProto(buf []byte) error { if err != nil { return err } - orig.Values = append(orig.Values, int64(num)) + orig.AttributeIndices = append(orig.AttributeIndices, int32(num)) } if startPos != pos { - return fmt.Errorf("proto: invalid field len = %d for field Values", pos-startPos) + return fmt.Errorf("proto: invalid field len = %d for field AttributeIndices", pos-startPos) } case proto.WireTypeVarint: var num uint64 @@ -339,11 +340,22 @@ func (orig *Sample) UnmarshalProto(buf []byte) error { if err != nil { return err } - orig.Values = append(orig.Values, int64(num)) + orig.AttributeIndices = append(orig.AttributeIndices, int32(num)) default: - return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttributeIndices", wireType) } + case 3: + if wireType != proto.WireTypeVarint { + return fmt.Errorf("proto: wrong wireType = %d for field LinkIndex", wireType) + } + var num uint64 + num, pos, err = proto.ConsumeVarint(buf, pos) + if err != nil { + return err + } + orig.LinkIndex = int32(num) + case 4: switch wireType { case proto.WireTypeLen: var length int @@ -358,10 +370,10 @@ func (orig *Sample) UnmarshalProto(buf []byte) error { if err != nil { return err } - orig.AttributeIndices = append(orig.AttributeIndices, int32(num)) + orig.Values = append(orig.Values, int64(num)) } if startPos != pos { - return fmt.Errorf("proto: invalid field len = %d for field AttributeIndices", pos-startPos) + return fmt.Errorf("proto: invalid field len = %d for field Values", pos-startPos) } case proto.WireTypeVarint: var num uint64 @@ -369,21 +381,10 @@ func (orig *Sample) UnmarshalProto(buf []byte) error { if err != nil { return err } - orig.AttributeIndices = append(orig.AttributeIndices, int32(num)) + orig.Values = append(orig.Values, int64(num)) default: - return fmt.Errorf("proto: wrong wireType = %d for field AttributeIndices", wireType) - } - - case 4: - if wireType != proto.WireTypeVarint { - return fmt.Errorf("proto: wrong wireType = %d for field LinkIndex", wireType) - } - var num uint64 - num, pos, err = proto.ConsumeVarint(buf, pos) - if err != nil { - return err + return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType) } - orig.LinkIndex = int32(num) case 5: switch wireType { case proto.WireTypeLen: @@ -429,9 +430,9 @@ func (orig *Sample) UnmarshalProto(buf []byte) error { func GenTestSample() *Sample { orig := NewSample() orig.StackIndex = int32(13) - orig.Values = []int64{int64(0), int64(13)} orig.AttributeIndices = []int32{int32(0), int32(13)} orig.LinkIndex = int32(13) + orig.Values = []int64{int64(0), int64(13)} orig.TimestampsUnixNano = []uint64{uint64(0), uint64(13)} return orig } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopelogs.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopelogs.go index 606af0ffd..0a04cfdd3 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopelogs.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopelogs.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewScopeLogs() *ScopeLogs { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ScopeLogs{} } return protoPoolScopeLogs.Get().(*ScopeLogs) @@ -41,7 +42,7 @@ func DeleteScopeLogs(orig *ScopeLogs, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopemetrics.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopemetrics.go index 5c7a9d1d5..957d10305 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopemetrics.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopemetrics.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewScopeMetrics() *ScopeMetrics { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ScopeMetrics{} } return protoPoolScopeMetrics.Get().(*ScopeMetrics) @@ -41,7 +42,7 @@ func DeleteScopeMetrics(orig *ScopeMetrics, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopeprofiles.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopeprofiles.go index b88f3b1e1..ca13dbc36 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopeprofiles.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopeprofiles.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewScopeProfiles() *ScopeProfiles { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ScopeProfiles{} } return protoPoolScopeProfiles.Get().(*ScopeProfiles) @@ -41,7 +42,7 @@ func DeleteScopeProfiles(orig *ScopeProfiles, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopespans.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopespans.go index 6a1966527..85e4fae2d 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopespans.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_scopespans.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewScopeSpans() *ScopeSpans { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ScopeSpans{} } return protoPoolScopeSpans.Get().(*ScopeSpans) @@ -41,7 +42,7 @@ func DeleteScopeSpans(orig *ScopeSpans, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_span.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_span.go index 4df8e982e..32dbe4f3c 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_span.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_span.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -45,7 +46,7 @@ var ( ) func NewSpan() *Span { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Span{} } return protoPoolSpan.Get().(*Span) @@ -56,7 +57,7 @@ func DeleteSpan(orig *Span, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spancontext.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spancontext.go index 2861cf117..e63b8ef49 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spancontext.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spancontext.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -32,7 +33,7 @@ var ( ) func NewSpanContext() *SpanContext { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &SpanContext{} } return protoPoolSpanContext.Get().(*SpanContext) @@ -43,7 +44,7 @@ func DeleteSpanContext(orig *SpanContext, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanevent.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanevent.go index 56d1ea50b..269aee7d9 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanevent.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanevent.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -33,7 +34,7 @@ var ( ) func NewSpanEvent() *SpanEvent { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &SpanEvent{} } return protoPoolSpanEvent.Get().(*SpanEvent) @@ -44,7 +45,7 @@ func DeleteSpanEvent(orig *SpanEvent, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanlink.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanlink.go index a7f8a670d..ee2ccfa06 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanlink.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_spanlink.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -36,7 +37,7 @@ var ( ) func NewSpanLink() *SpanLink { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &SpanLink{} } return protoPoolSpanLink.Get().(*SpanLink) @@ -47,7 +48,7 @@ func DeleteSpanLink(orig *SpanLink, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_stack.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_stack.go index be7a4ce48..90bf79fa2 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_stack.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_stack.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewStack() *Stack { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Stack{} } return protoPoolStack.Get().(*Stack) @@ -40,7 +41,7 @@ func DeleteStack(orig *Stack, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_status.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_status.go index 77b5fe392..35ae797c9 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_status.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_status.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewStatus() *Status { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Status{} } return protoPoolStatus.Get().(*Status) @@ -41,7 +42,7 @@ func DeleteStatus(orig *Status, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sum.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sum.go index f419344b5..d0c601ee8 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sum.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_sum.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewSum() *Sum { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Sum{} } return protoPoolSum.Get().(*Sum) @@ -41,7 +42,7 @@ func DeleteSum(orig *Sum, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summary.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summary.go index 5523e5af8..0b62ef765 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summary.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summary.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewSummary() *Summary { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &Summary{} } return protoPoolSummary.Get().(*Summary) @@ -39,7 +40,7 @@ func DeleteSummary(orig *Summary, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapoint.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapoint.go index ccd99fa18..5402264ee 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapoint.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapoint.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -36,7 +37,7 @@ var ( ) func NewSummaryDataPoint() *SummaryDataPoint { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &SummaryDataPoint{} } return protoPoolSummaryDataPoint.Get().(*SummaryDataPoint) @@ -47,7 +48,7 @@ func DeleteSummaryDataPoint(orig *SummaryDataPoint, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapointvalueatquantile.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapointvalueatquantile.go index 3b10b8a9c..a2910b738 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapointvalueatquantile.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_summarydatapointvalueatquantile.go @@ -13,6 +13,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -31,7 +32,7 @@ var ( ) func NewSummaryDataPointValueAtQuantile() *SummaryDataPointValueAtQuantile { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &SummaryDataPointValueAtQuantile{} } return protoPoolSummaryDataPointValueAtQuantile.Get().(*SummaryDataPointValueAtQuantile) @@ -42,7 +43,7 @@ func DeleteSummaryDataPointValueAtQuantile(orig *SummaryDataPointValueAtQuantile return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tcpaddr.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tcpaddr.go index 08c350ffe..5392f07d0 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tcpaddr.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tcpaddr.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewTCPAddr() *TCPAddr { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &TCPAddr{} } return protoPoolTCPAddr.Get().(*TCPAddr) @@ -40,7 +41,7 @@ func DeleteTCPAddr(orig *TCPAddr, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesdata.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesdata.go index 2b54b6247..e81853de7 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesdata.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesdata.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewTracesData() *TracesData { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &TracesData{} } return protoPoolTracesData.Get().(*TracesData) @@ -41,7 +42,7 @@ func DeleteTracesData(orig *TracesData, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesrequest.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesrequest.go index b8bb39687..a54dedaef 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesrequest.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_tracesrequest.go @@ -12,6 +12,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -30,7 +31,7 @@ var ( ) func NewTracesRequest() *TracesRequest { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &TracesRequest{} } return protoPoolTracesRequest.Get().(*TracesRequest) @@ -41,7 +42,7 @@ func DeleteTracesRequest(orig *TracesRequest, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_udpaddr.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_udpaddr.go index dd2883de5..efd539941 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_udpaddr.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_udpaddr.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewUDPAddr() *UDPAddr { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &UDPAddr{} } return protoPoolUDPAddr.Get().(*UDPAddr) @@ -40,7 +41,7 @@ func DeleteUDPAddr(orig *UDPAddr, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_unixaddr.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_unixaddr.go index be00bfbd3..c301df487 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_unixaddr.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_unixaddr.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -28,7 +29,7 @@ var ( ) func NewUnixAddr() *UnixAddr { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &UnixAddr{} } return protoPoolUnixAddr.Get().(*UnixAddr) @@ -39,7 +40,7 @@ func DeleteUnixAddr(orig *UnixAddr, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_valuetype.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_valuetype.go index eccd89e6e..676418994 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_valuetype.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_proto_valuetype.go @@ -11,6 +11,7 @@ import ( "sync" "go.opentelemetry.io/collector/pdata/internal/json" + "go.opentelemetry.io/collector/pdata/internal/metadata" "go.opentelemetry.io/collector/pdata/internal/proto" ) @@ -29,7 +30,7 @@ var ( ) func NewValueType() *ValueType { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &ValueType{} } return protoPoolValueType.Get().(*ValueType) @@ -40,7 +41,7 @@ func DeleteValueType(orig *ValueType, nullable bool) { return } - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { orig.Reset() return } diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/metadata/generated_feature_gates.go b/vendor/go.opentelemetry.io/collector/pdata/internal/metadata/generated_feature_gates.go new file mode 100644 index 000000000..2fb2365cf --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/metadata/generated_feature_gates.go @@ -0,0 +1,24 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package metadata + +import ( + "go.opentelemetry.io/collector/featuregate" +) + +var PdataUseCustomProtoEncodingFeatureGate = featuregate.GlobalRegistry().MustRegister( + "pdata.useCustomProtoEncoding", + featuregate.StageStable, + featuregate.WithRegisterDescription("When enabled, enable custom proto encoding. This is a required step to enable featuregate pdata.useProtoPooling."), + featuregate.WithRegisterReferenceURL("https://github.com/open-telemetry/opentelemetry-collector/issues/13631"), + featuregate.WithRegisterFromVersion("v0.133.0"), + featuregate.WithRegisterToVersion("v0.137.0"), +) + +var PdataUseProtoPoolingFeatureGate = featuregate.GlobalRegistry().MustRegister( + "pdata.useProtoPooling", + featuregate.StageAlpha, + featuregate.WithRegisterDescription("When enabled, enable using local memory pools for underlying data that the pdata messages are pushed to."), + featuregate.WithRegisterReferenceURL("https://github.com/open-telemetry/opentelemetry-collector/issues/13631"), + featuregate.WithRegisterFromVersion("v0.133.0"), +) diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/state.go b/vendor/go.opentelemetry.io/collector/pdata/internal/state.go index 46f10722d..0e1b92185 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/state.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/state.go @@ -4,28 +4,9 @@ package internal // import "go.opentelemetry.io/collector/pdata/internal" import ( "sync/atomic" - - "go.opentelemetry.io/collector/featuregate" -) - -var _ = featuregate.GlobalRegistry().MustRegister( - "pdata.useCustomProtoEncoding", - featuregate.StageStable, - featuregate.WithRegisterDescription("When enabled, enable custom proto encoding. This is required step to enable featuregate pdata.useProtoPooling."), - featuregate.WithRegisterReferenceURL("https://github.com/open-telemetry/opentelemetry-collector/issues/13631"), - featuregate.WithRegisterFromVersion("v0.133.0"), - featuregate.WithRegisterToVersion("v0.137.0"), -) - -var UseProtoPooling = featuregate.GlobalRegistry().MustRegister( - "pdata.useProtoPooling", - featuregate.StageAlpha, - featuregate.WithRegisterDescription("When enabled, enable using local memory pools for underlying data that the pdata messages are pushed to."), - featuregate.WithRegisterReferenceURL("https://github.com/open-telemetry/opentelemetry-collector/issues/13631"), - featuregate.WithRegisterFromVersion("v0.133.0"), ) -// State defines an ownership state of pmetric.Metrics, plog.Logs or ptrace.Traces. +// State defines an ownership state of pmetric.Metrics, plog.Logs, ptrace.Traces or pprofile.Profiles. type State struct { refs atomic.Int32 state uint32 diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_value.go b/vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_value.go index c0220c8f0..1471d858b 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_value.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/wrapper_value.go @@ -3,6 +3,8 @@ package internal // import "go.opentelemetry.io/collector/pdata/internal" +import "go.opentelemetry.io/collector/pdata/internal/metadata" + type ValueWrapper struct { orig *AnyValue state *State @@ -26,49 +28,49 @@ func GenTestValueWrapper() ValueWrapper { } func NewAnyValueStringValue() *AnyValue_StringValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_StringValue{} } return ProtoPoolAnyValue_StringValue.Get().(*AnyValue_StringValue) } func NewAnyValueIntValue() *AnyValue_IntValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_IntValue{} } return ProtoPoolAnyValue_IntValue.Get().(*AnyValue_IntValue) } func NewAnyValueBoolValue() *AnyValue_BoolValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_BoolValue{} } return ProtoPoolAnyValue_BoolValue.Get().(*AnyValue_BoolValue) } func NewAnyValueDoubleValue() *AnyValue_DoubleValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_DoubleValue{} } return ProtoPoolAnyValue_DoubleValue.Get().(*AnyValue_DoubleValue) } func NewAnyValueBytesValue() *AnyValue_BytesValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_BytesValue{} } return ProtoPoolAnyValue_BytesValue.Get().(*AnyValue_BytesValue) } func NewAnyValueArrayValue() *AnyValue_ArrayValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_ArrayValue{} } return ProtoPoolAnyValue_ArrayValue.Get().(*AnyValue_ArrayValue) } func NewAnyValueKvlistValue() *AnyValue_KvlistValue { - if !UseProtoPooling.IsEnabled() { + if !metadata.PdataUseProtoPoolingFeatureGate.IsEnabled() { return &AnyValue_KvlistValue{} } return ProtoPoolAnyValue_KvlistValue.Get().(*AnyValue_KvlistValue) diff --git a/vendor/go.opentelemetry.io/proto/otlp/common/v1/common.pb.go b/vendor/go.opentelemetry.io/proto/otlp/common/v1/common.pb.go index 1f8d49bc9..304f64763 100644 --- a/vendor/go.opentelemetry.io/proto/otlp/common/v1/common.pb.go +++ b/vendor/go.opentelemetry.io/proto/otlp/common/v1/common.pb.go @@ -53,6 +53,7 @@ type AnyValue struct { // *AnyValue_ArrayValue // *AnyValue_KvlistValue // *AnyValue_BytesValue + // *AnyValue_StringValueStrindex Value isAnyValue_Value `protobuf_oneof:"value"` } @@ -144,6 +145,13 @@ func (x *AnyValue) GetBytesValue() []byte { return nil } +func (x *AnyValue) GetStringValueStrindex() int32 { + if x, ok := x.GetValue().(*AnyValue_StringValueStrindex); ok { + return x.StringValueStrindex + } + return 0 +} + type isAnyValue_Value interface { isAnyValue_Value() } @@ -176,6 +184,20 @@ type AnyValue_BytesValue struct { BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` } +type AnyValue_StringValueStrindex struct { + // Reference to the string value in ProfilesDictionary.string_table. + // + // Note: This is currently used exclusively in the Profiling signal. + // Implementers of OTLP receivers for signals other than Profiling should + // treat the presence of this value as a non-fatal issue. + // Log an error or warning indicating an unexpected field intended for the + // Profiling signal and process the data as if this value were absent or + // empty, ignoring its semantic content for the non-Profiling signal. + // + // Status: [Development] + StringValueStrindex int32 `protobuf:"varint,8,opt,name=string_value_strindex,json=stringValueStrindex,proto3,oneof"` +} + func (*AnyValue_StringValue) isAnyValue_Value() {} func (*AnyValue_BoolValue) isAnyValue_Value() {} @@ -190,6 +212,8 @@ func (*AnyValue_KvlistValue) isAnyValue_Value() {} func (*AnyValue_BytesValue) isAnyValue_Value() {} +func (*AnyValue_StringValueStrindex) isAnyValue_Value() {} + // ArrayValue is a list of AnyValue messages. We need ArrayValue as a message // since oneof in AnyValue does not allow repeated fields. type ArrayValue struct { @@ -306,9 +330,22 @@ type KeyValue struct { unknownFields protoimpl.UnknownFields // The key name of the pair. + // key_ref MUST NOT be set if key is used. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The value of the pair. Value *AnyValue `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // Reference to the string key in ProfilesDictionary.string_table. + // key MUST NOT be set if key_strindex is used. + // + // Note: This is currently used exclusively in the Profiling signal. + // Implementers of OTLP receivers for signals other than Profiling should + // treat the presence of this key as a non-fatal issue. + // Log an error or warning indicating an unexpected field intended for the + // Profiling signal and process the data as if this value were absent or + // empty, ignoring its semantic content for the non-Profiling signal. + // + // Status: [Development] + KeyStrindex int32 `protobuf:"varint,3,opt,name=key_strindex,json=keyStrindex,proto3" json:"key_strindex,omitempty"` } func (x *KeyValue) Reset() { @@ -357,6 +394,13 @@ func (x *KeyValue) GetValue() *AnyValue { return nil } +func (x *KeyValue) GetKeyStrindex() int32 { + if x != nil { + return x.KeyStrindex + } + return 0 +} + // InstrumentationScope is a message representing the instrumentation scope information // such as the fully qualified name and version. type InstrumentationScope struct { @@ -543,7 +587,7 @@ var file_opentelemetry_proto_common_v1_common_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x22, 0xe0, 0x02, 0x0a, 0x08, + 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x22, 0x96, 0x03, 0x0a, 0x08, 0x41, 0x6e, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, @@ -565,52 +609,58 @@ var file_opentelemetry_proto_common_v1_common_proto_rawDesc = []byte{ 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6b, 0x76, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4d, - 0x0a, 0x0a, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x06, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x79, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4f, 0x0a, - 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, - 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x5b, - 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x79, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x14, - 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x64, - 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x64, - 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x66, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, - 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x7b, 0x0a, 0x20, 0x69, 0x6f, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0b, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x28, 0x67, - 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, - 0x69, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6f, 0x74, 0x6c, 0x70, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0xaa, 0x02, 0x1d, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x13, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4d, 0x0a, 0x0a, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, + 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x22, 0x7e, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x6e, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x82, + 0x01, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x66, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x69, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x73, 0x42, 0x7b, 0x0a, 0x20, 0x69, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x28, 0x67, 0x6f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x74, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x6f, 0x74, 0x6c, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, + 0xaa, 0x02, 0x1d, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -735,6 +785,7 @@ func file_opentelemetry_proto_common_v1_common_proto_init() { (*AnyValue_ArrayValue)(nil), (*AnyValue_KvlistValue)(nil), (*AnyValue_BytesValue)(nil), + (*AnyValue_StringValueStrindex)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/vendor/golang.org/x/crypto/ssh/agent/server.go b/vendor/golang.org/x/crypto/ssh/agent/server.go index 4e8ff86b6..2a7658cf7 100644 --- a/vendor/golang.org/x/crypto/ssh/agent/server.go +++ b/vendor/golang.org/x/crypto/ssh/agent/server.go @@ -36,7 +36,7 @@ func (s *server) processRequestBytes(reqData []byte) []byte { return []byte{agentFailure} } - if err == nil && rep == nil { + if rep == nil { return []byte{agentSuccess} } diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go index 6320f4eb4..0b99d832f 100644 --- a/vendor/golang.org/x/net/http2/http2.go +++ b/vendor/golang.org/x/net/http2/http2.go @@ -4,13 +4,17 @@ // Package http2 implements the HTTP/2 protocol. // -// This package is low-level and intended to be used directly by very -// few people. Most users will use it indirectly through the automatic -// use by the net/http package (from Go 1.6 and later). -// For use in earlier Go versions see ConfigureServer. (Transport support -// requires Go 1.6 or later) +// Almost no users should need to import this package directly. +// The net/http package supports HTTP/2 natively. // -// See https://http2.github.io/ for more information on HTTP/2. +// To enable or disable HTTP/2 support in net/http clients and servers, see +// [http.Transport.Protocols] and [http.Server.Protocols]. +// +// To configure HTTP/2 parameters, see +// [http.Transport.HTTP2] and [http.Server.HTTP2]. +// +// To create HTTP/1 or HTTP/2 connections, see +// [http.Transport.NewClientConn]. package http2 // import "golang.org/x/net/http2" import ( diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index 7ef807f79..65da5175c 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -164,6 +164,8 @@ type Server struct { // NewWriteScheduler constructs a write scheduler for a connection. // If nil, a default scheduler is chosen. + // + // Deprecated: User-provided write schedulers are deprecated. NewWriteScheduler func() WriteScheduler // CountError, if non-nil, is called on HTTP/2 server errors. diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index 8cf64b78e..2e9c2f6a5 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -712,10 +712,6 @@ func canRetryError(err error) bool { return true } if se, ok := err.(StreamError); ok { - if se.Code == ErrCodeProtocol && se.Cause == errFromPeer { - // See golang/go#47635, golang/go#42777 - return true - } return se.Code == ErrCodeRefusedStream } return false @@ -3233,10 +3229,6 @@ func (gz *gzipReader) Close() error { return gz.body.Close() } -type errorReader struct{ err error } - -func (r errorReader) Read(p []byte) (int, error) { return 0, r.err } - // isConnectionCloseRequest reports whether req should use its own // connection for a single request and then close the connection. func isConnectionCloseRequest(req *http.Request) bool { diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go index 7de27be52..551545f31 100644 --- a/vendor/golang.org/x/net/http2/writesched.go +++ b/vendor/golang.org/x/net/http2/writesched.go @@ -8,6 +8,8 @@ import "fmt" // WriteScheduler is the interface implemented by HTTP/2 write schedulers. // Methods are never called concurrently. +// +// Deprecated: User-provided write schedulers are deprecated. type WriteScheduler interface { // OpenStream opens a new stream in the write scheduler. // It is illegal to call this with streamID=0 or with a streamID that is @@ -38,6 +40,8 @@ type WriteScheduler interface { } // OpenStreamOptions specifies extra options for WriteScheduler.OpenStream. +// +// Deprecated: User-provided write schedulers are deprecated. type OpenStreamOptions struct { // PusherID is zero if the stream was initiated by the client. Otherwise, // PusherID names the stream that pushed the newly opened stream. @@ -47,6 +51,8 @@ type OpenStreamOptions struct { } // FrameWriteRequest is a request to write a frame. +// +// Deprecated: User-provided write schedulers are deprecated. type FrameWriteRequest struct { // write is the interface value that does the writing, once the // WriteScheduler has selected this frame to write. The write diff --git a/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go b/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go index 7803a9261..c3d3e9bed 100644 --- a/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go +++ b/vendor/golang.org/x/net/http2/writesched_priority_rfc7540.go @@ -14,6 +14,8 @@ import ( const priorityDefaultWeightRFC7540 = 15 // 16 = 15 + 1 // PriorityWriteSchedulerConfig configures a priorityWriteScheduler. +// +// Deprecated: User-provided write schedulers are deprecated. type PriorityWriteSchedulerConfig struct { // MaxClosedNodesInTree controls the maximum number of closed streams to // retain in the priority tree. Setting this to zero saves a small amount @@ -55,6 +57,9 @@ type PriorityWriteSchedulerConfig struct { // NewPriorityWriteScheduler constructs a WriteScheduler that schedules // frames by following HTTP/2 priorities as described in RFC 7540 Section 5.3. // If cfg is nil, default options are used. +// +// Deprecated: The RFC 7540 write scheduler has known bugs and performance issues, +// and RFC 7540 prioritization was deprecated in RFC 9113. func NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler { return newPriorityWriteSchedulerRFC7540(cfg) } diff --git a/vendor/golang.org/x/net/http2/writesched_random.go b/vendor/golang.org/x/net/http2/writesched_random.go index f2e55e05c..d5d4e2214 100644 --- a/vendor/golang.org/x/net/http2/writesched_random.go +++ b/vendor/golang.org/x/net/http2/writesched_random.go @@ -10,6 +10,8 @@ import "math" // priorities. Control frames like SETTINGS and PING are written before DATA // frames, but if no control frames are queued and multiple streams have queued // HEADERS or DATA frames, Pop selects a ready stream arbitrarily. +// +// Deprecated: User-provided write schedulers are deprecated. func NewRandomWriteScheduler() WriteScheduler { return &randomWriteScheduler{sq: make(map[uint32]*writeQueue)} } diff --git a/vendor/golang.org/x/tools/go/packages/golist.go b/vendor/golang.org/x/tools/go/packages/golist.go index 680a70ca8..a6c17cf63 100644 --- a/vendor/golang.org/x/tools/go/packages/golist.go +++ b/vendor/golang.org/x/tools/go/packages/golist.go @@ -61,13 +61,42 @@ func (r *responseDeduper) addAll(dr *DriverResponse) { } func (r *responseDeduper) addPackage(p *Package) { - if r.seenPackages[p.ID] != nil { + if prev := r.seenPackages[p.ID]; prev != nil { + // Package already seen in a previous response. Merge the file lists, + // removing duplicates. This can happen when the same package appears + // in multiple driver responses that are being merged together. + prev.GoFiles = appendUniqueStrings(prev.GoFiles, p.GoFiles) + prev.CompiledGoFiles = appendUniqueStrings(prev.CompiledGoFiles, p.CompiledGoFiles) + prev.OtherFiles = appendUniqueStrings(prev.OtherFiles, p.OtherFiles) + prev.IgnoredFiles = appendUniqueStrings(prev.IgnoredFiles, p.IgnoredFiles) + prev.EmbedFiles = appendUniqueStrings(prev.EmbedFiles, p.EmbedFiles) + prev.EmbedPatterns = appendUniqueStrings(prev.EmbedPatterns, p.EmbedPatterns) return } r.seenPackages[p.ID] = p r.dr.Packages = append(r.dr.Packages, p) } +// appendUniqueStrings appends elements from src to dst, skipping duplicates. +func appendUniqueStrings(dst, src []string) []string { + if len(src) == 0 { + return dst + } + + seen := make(map[string]bool, len(dst)) + for _, s := range dst { + seen[s] = true + } + + for _, s := range src { + if !seen[s] { + dst = append(dst, s) + } + } + + return dst +} + func (r *responseDeduper) addRoot(id string) { if r.seenRoots[id] { return @@ -832,6 +861,8 @@ func golistargs(cfg *Config, words []string, goVersion int) []string { // go list doesn't let you pass -test and -find together, // probably because you'd just get the TestMain. fmt.Sprintf("-find=%t", !cfg.Tests && cfg.Mode&findFlags == 0 && !usesExportData(cfg)), + // VCS information is not needed when not printing Stale or StaleReason fields + "-buildvcs=false", } // golang/go#60456: with go1.21 and later, go list serves pgo variants, which diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go index b249a5c7e..412ba06b5 100644 --- a/vendor/golang.org/x/tools/go/packages/packages.go +++ b/vendor/golang.org/x/tools/go/packages/packages.go @@ -403,6 +403,10 @@ func mergeResponses(responses ...*DriverResponse) *DriverResponse { if len(responses) == 0 { return nil } + // No dedup needed + if len(responses) == 1 { + return responses[0] + } response := newDeduper() response.dr.NotHandled = false response.dr.Compiler = responses[0].Compiler diff --git a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go index e8dc79129..7ad6fb44c 100644 --- a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go +++ b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go @@ -88,6 +88,22 @@ var ( // feature can be disabled by setting the environment variable // GRPC_EXPERIMENTAL_PF_WEIGHTED_SHUFFLING to "false". PickFirstWeightedShuffling = boolFromEnv("GRPC_EXPERIMENTAL_PF_WEIGHTED_SHUFFLING", true) + + // DisableStrictPathChecking indicates whether strict path checking is + // disabled. This feature can be disabled by setting the environment + // variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to "true". + // + // When strict path checking is enabled, gRPC will reject requests with + // paths that do not conform to the gRPC over HTTP/2 specification found at + // https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md. + // + // When disabled, gRPC will allow paths that do not contain a leading slash. + // Enabling strict path checking is recommended for security reasons, as it + // prevents potential path traversal vulnerabilities. + // + // A future release will remove this environment variable, enabling strict + // path checking behavior unconditionally. + DisableStrictPathChecking = boolFromEnv("GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING", false) ) func boolFromEnv(envVar string, def bool) bool { diff --git a/vendor/google.golang.org/grpc/server.go b/vendor/google.golang.org/grpc/server.go index 1b5cefe81..8efb29a7b 100644 --- a/vendor/google.golang.org/grpc/server.go +++ b/vendor/google.golang.org/grpc/server.go @@ -42,6 +42,7 @@ import ( "google.golang.org/grpc/internal" "google.golang.org/grpc/internal/binarylog" "google.golang.org/grpc/internal/channelz" + "google.golang.org/grpc/internal/envconfig" "google.golang.org/grpc/internal/grpcsync" "google.golang.org/grpc/internal/grpcutil" istats "google.golang.org/grpc/internal/stats" @@ -149,6 +150,8 @@ type Server struct { serverWorkerChannel chan func() serverWorkerChannelClose func() + + strictPathCheckingLogEmitted atomic.Bool } type serverOptions struct { @@ -1762,6 +1765,24 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv return ss.s.WriteStatus(statusOK) } +func (s *Server) handleMalformedMethodName(stream *transport.ServerStream, ti *traceInfo) { + if ti != nil { + ti.tr.LazyLog(&fmtStringer{"Malformed method name %q", []any{stream.Method()}}, true) + ti.tr.SetError() + } + errDesc := fmt.Sprintf("malformed method name: %q", stream.Method()) + if err := stream.WriteStatus(status.New(codes.Unimplemented, errDesc)); err != nil { + if ti != nil { + ti.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true) + ti.tr.SetError() + } + channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream failed to write status: %v", err) + } + if ti != nil { + ti.tr.Finish() + } +} + func (s *Server) handleStream(t transport.ServerTransport, stream *transport.ServerStream) { ctx := stream.Context() ctx = contextWithServer(ctx, s) @@ -1782,26 +1803,30 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Ser } sm := stream.Method() - if sm != "" && sm[0] == '/' { + if sm == "" { + s.handleMalformedMethodName(stream, ti) + return + } + if sm[0] != '/' { + // TODO(easwars): Add a link to the CVE in the below log messages once + // published. + if envconfig.DisableStrictPathChecking { + if old := s.strictPathCheckingLogEmitted.Swap(true); !old { + channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream received malformed method name %q. Allowing it because the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING is set to true, but this option will be removed in a future release.", sm) + } + } else { + if old := s.strictPathCheckingLogEmitted.Swap(true); !old { + channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream rejected malformed method name %q. To temporarily allow such requests, set the environment variable GRPC_GO_EXPERIMENTAL_DISABLE_STRICT_PATH_CHECKING to true. Note that this is not recommended as it may allow requests to bypass security policies.", sm) + } + s.handleMalformedMethodName(stream, ti) + return + } + } else { sm = sm[1:] } pos := strings.LastIndex(sm, "/") if pos == -1 { - if ti != nil { - ti.tr.LazyLog(&fmtStringer{"Malformed method name %q", []any{sm}}, true) - ti.tr.SetError() - } - errDesc := fmt.Sprintf("malformed method name: %q", stream.Method()) - if err := stream.WriteStatus(status.New(codes.Unimplemented, errDesc)); err != nil { - if ti != nil { - ti.tr.LazyLog(&fmtStringer{"%v", []any{err}}, true) - ti.tr.SetError() - } - channelz.Warningf(logger, s.channelz, "grpc: Server.handleStream failed to write status: %v", err) - } - if ti != nil { - ti.tr.Finish() - } + s.handleMalformedMethodName(stream, ti) return } service := sm[:pos] diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go index f9da6c6ca..76c2eed77 100644 --- a/vendor/google.golang.org/grpc/version.go +++ b/vendor/google.golang.org/grpc/version.go @@ -19,4 +19,4 @@ package grpc // Version is the current grpc version. -const Version = "1.79.2" +const Version = "1.79.3" diff --git a/vendor/k8s.io/utils/ptr/ptr.go b/vendor/k8s.io/utils/ptr/ptr.go index 659ed3b9e..ea847fd36 100644 --- a/vendor/k8s.io/utils/ptr/ptr.go +++ b/vendor/k8s.io/utils/ptr/ptr.go @@ -51,7 +51,7 @@ func To[T any](v T) *T { return &v } -// Deref dereferences ptr and returns the value it points to if no nil, or else +// Deref dereferences ptr and returns the value it points to if not nil, or else // returns def. func Deref[T any](ptr *T, def T) T { if ptr != nil { diff --git a/vendor/modules.txt b/vendor/modules.txt index b3555eb07..3f233882c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -128,7 +128,7 @@ github.com/aws/amazon-ec2-instance-selector/v3/pkg/instancetypes github.com/aws/amazon-ec2-instance-selector/v3/pkg/selector github.com/aws/amazon-ec2-instance-selector/v3/pkg/selector/outputs github.com/aws/amazon-ec2-instance-selector/v3/pkg/sorter -# github.com/aws/aws-sdk-go-v2 v1.41.3 +# github.com/aws/aws-sdk-go-v2 v1.41.4 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/aws github.com/aws/aws-sdk-go-v2/aws/arn @@ -156,7 +156,7 @@ github.com/aws/aws-sdk-go-v2/internal/shareddefaults github.com/aws/aws-sdk-go-v2/internal/strings github.com/aws/aws-sdk-go-v2/internal/sync/singleflight github.com/aws/aws-sdk-go-v2/internal/timeconv -# github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 +# github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi @@ -177,26 +177,26 @@ github.com/aws/aws-sdk-go-v2/credentials/stscreds ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/feature/ec2/imds github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config -# github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 +# github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/internal/configsources -# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 +# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 # github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/internal/ini -# github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 +# github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21 ## explicit; go 1.24 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.294.0 +# github.com/aws/aws-sdk-go-v2/service/ec2 v1.296.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 -# github.com/aws/aws-sdk-go-v2/service/ecs v1.73.1 +# github.com/aws/aws-sdk-go-v2/service/ecs v1.74.0 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/ecs github.com/aws/aws-sdk-go-v2/service/ecs/document @@ -208,16 +208,16 @@ github.com/aws/aws-sdk-go-v2/service/ecs/types github.com/aws/aws-sdk-go-v2/service/iam github.com/aws/aws-sdk-go-v2/service/iam/internal/endpoints github.com/aws/aws-sdk-go-v2/service/iam/types -# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 +# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding -# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 +# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/internal/checksum -# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 +# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url -# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 +# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/internal/s3shared github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn @@ -227,7 +227,7 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config github.com/aws/aws-sdk-go-v2/service/pricing github.com/aws/aws-sdk-go-v2/service/pricing/internal/endpoints github.com/aws/aws-sdk-go-v2/service/pricing/types -# github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 +# github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/s3 github.com/aws/aws-sdk-go-v2/service/s3/internal/arn @@ -654,7 +654,7 @@ github.com/pkg/term/termios github.com/pulumi/appdash github.com/pulumi/appdash/internal/wire github.com/pulumi/appdash/opentracing -# github.com/pulumi/esc v0.22.0 +# github.com/pulumi/esc v0.23.0 ## explicit; go 1.24.7 github.com/pulumi/esc github.com/pulumi/esc/ast @@ -671,8 +671,8 @@ 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.21.0 -## explicit; go 1.24.0 +# github.com/pulumi/pulumi-aws/sdk/v7 v7.23.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-aws/sdk/v7/go/aws github.com/pulumi/pulumi-aws/sdk/v7/go/aws/autoscaling github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch @@ -688,29 +688,29 @@ github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3 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.15.0 -## explicit; go 1.24.0 +# github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 -# 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 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/compute/v3 -# 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 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/containerservice/v3 -# 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 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/managedidentity/v3 -# 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 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/network/v3 -# 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 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/resources/v3 -# 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 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/storage/v3 -# github.com/pulumi/pulumi-azure-native-sdk/v3 v3.15.0 -## explicit; go 1.24.0 +# github.com/pulumi/pulumi-azure-native-sdk/v3 v3.16.0 +## explicit; go 1.25.6 github.com/pulumi/pulumi-azure-native-sdk/v3/utilities # github.com/pulumi/pulumi-command/sdk v1.2.1 ## explicit; go 1.24.7 @@ -728,7 +728,7 @@ github.com/pulumi/pulumi-docker/sdk/v4/go/docker/internal ## explicit; go 1.22 github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab/internal -# github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.27.0 +# github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.28.0 ## explicit; go 1.25.0 github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/admissionregistration/v1 @@ -806,7 +806,7 @@ 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.225.1 +# github.com/pulumi/pulumi/sdk/v3 v3.227.0 ## explicit; go 1.25.6 github.com/pulumi/pulumi/sdk/v3 github.com/pulumi/pulumi/sdk/v3/go/auto @@ -847,6 +847,7 @@ github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil github.com/pulumi/pulumi/sdk/v3/go/common/util/contract github.com/pulumi/pulumi/sdk/v3/go/common/util/env +github.com/pulumi/pulumi/sdk/v3/go/common/util/errutil github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil github.com/pulumi/pulumi/sdk/v3/go/common/util/gitutil github.com/pulumi/pulumi/sdk/v3/go/common/util/httputil @@ -966,13 +967,14 @@ 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.53.0 +# go.opentelemetry.io/collector/featuregate v1.54.0 ## explicit; go 1.25.0 go.opentelemetry.io/collector/featuregate -# go.opentelemetry.io/collector/pdata v1.53.0 +# go.opentelemetry.io/collector/pdata v1.54.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/metadata go.opentelemetry.io/collector/pdata/internal/otlp go.opentelemetry.io/collector/pdata/internal/proto go.opentelemetry.io/collector/pdata/pcommon @@ -1028,8 +1030,8 @@ go.opentelemetry.io/otel/trace go.opentelemetry.io/otel/trace/embedded go.opentelemetry.io/otel/trace/internal/telemetry go.opentelemetry.io/otel/trace/noop -# go.opentelemetry.io/proto/otlp v1.9.0 -## explicit; go 1.23.0 +# go.opentelemetry.io/proto/otlp v1.10.0 +## explicit; go 1.24.0 go.opentelemetry.io/proto/otlp/collector/trace/v1 go.opentelemetry.io/proto/otlp/common/v1 go.opentelemetry.io/proto/otlp/resource/v1 @@ -1046,8 +1048,8 @@ go.yaml.in/yaml/v2 # go.yaml.in/yaml/v3 v3.0.4 ## explicit; go 1.16 go.yaml.in/yaml/v3 -# golang.org/x/crypto v0.48.0 -## explicit; go 1.24.0 +# golang.org/x/crypto v0.49.0 +## explicit; go 1.25.0 golang.org/x/crypto/argon2 golang.org/x/crypto/blake2b golang.org/x/crypto/blowfish @@ -1067,14 +1069,14 @@ golang.org/x/crypto/ssh golang.org/x/crypto/ssh/agent golang.org/x/crypto/ssh/internal/bcrypt_pbkdf golang.org/x/crypto/ssh/knownhosts -# golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa +# golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 ## explicit; go 1.25.0 golang.org/x/exp/maps golang.org/x/exp/slices -# golang.org/x/mod v0.33.0 -## explicit; go 1.24.0 +# golang.org/x/mod v0.34.0 +## explicit; go 1.25.0 golang.org/x/mod/semver -# golang.org/x/net v0.51.0 +# golang.org/x/net v0.52.0 ## explicit; go 1.25.0 golang.org/x/net/context golang.org/x/net/http/httpguts @@ -1102,11 +1104,11 @@ golang.org/x/sys/plan9 golang.org/x/sys/unix golang.org/x/sys/windows golang.org/x/sys/windows/registry -# golang.org/x/term v0.40.0 -## explicit; go 1.24.0 +# golang.org/x/term v0.41.0 +## explicit; go 1.25.0 golang.org/x/term -# golang.org/x/text v0.34.0 -## explicit; go 1.24.0 +# golang.org/x/text v0.35.0 +## explicit; go 1.25.0 golang.org/x/text/encoding golang.org/x/text/encoding/internal golang.org/x/text/encoding/internal/identifier @@ -1124,8 +1126,8 @@ golang.org/x/text/unicode/norm # 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 +# golang.org/x/tools v0.43.0 +## explicit; go 1.25.0 golang.org/x/tools/cmd/stringer golang.org/x/tools/go/ast/edge golang.org/x/tools/go/ast/inspector @@ -1146,14 +1148,14 @@ 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-20260226221140-a57be14db171 +# google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 ## explicit; go 1.25.0 google.golang.org/genproto/googleapis/api/httpbody -# google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20260319201613-d00831a3d3e7 ## explicit; go 1.25.0 google.golang.org/genproto/googleapis/rpc/errdetails google.golang.org/genproto/googleapis/rpc/status -# google.golang.org/grpc v1.79.2 +# google.golang.org/grpc v1.79.3 ## explicit; go 1.24.0 google.golang.org/grpc google.golang.org/grpc/attributes @@ -1357,10 +1359,10 @@ 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-20260304202019-5b3e3fdb0acf +# k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9 ## explicit; go 1.23.0 k8s.io/kube-openapi/pkg/util -# k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 +# k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 ## explicit; go 1.23 k8s.io/utils/clock k8s.io/utils/internal/third_party/forked/golang/net