From 7063c6debe15eca462d2ee09ff96e0e0b91212fa Mon Sep 17 00:00:00 2001 From: Donald Nguyen Date: Fri, 8 Dec 2023 17:05:48 -0800 Subject: [PATCH] Instantiate pulumi-tf-provider-boilerplate for rockset-provider (#1) --- .github/workflows/release.yaml | 82 + .github/workflows/test.yaml | 69 + .../workflows/upgrade-provider.yaml | 9 +- .gitignore | 2 + .../.goreleaser.yml => .goreleaser.yml | 6 +- CHANGELOG.md | 10 - Makefile | 12 +- README-PROVIDER.md | 56 - README-upstream.md | 458 ++ README.md | 458 +- deployment-templates/release.yml | 79 - .../release-process.md | 0 examples/examples_nodejs_test.go | 3 +- examples/go.mod | 4 +- examples/go.sum | 4193 +++++++++++++++++ .../.gitignore | 0 .../cmd/pulumi-resource-rockset/Pulumi.yaml | 0 .../bridge-metadata.json | 499 ++ .../generate.go | 0 .../main.go | 6 +- .../cmd/pulumi-resource-rockset/schema.json | 3395 +++++++++++++ .../main.go | 6 +- provider/go.mod | 242 +- provider/go.sum | 3651 ++++++++++++++ provider/resources.go | 35 +- sdk/dotnet/Alias.cs | 149 + sdk/dotnet/ApiKey.cs | 153 + sdk/dotnet/Collection.cs | 203 + sdk/dotnet/CollectionMount.cs | 210 + sdk/dotnet/Config/Config.cs | 56 + sdk/dotnet/Config/README.md | 1 + sdk/dotnet/DynamodbCollection.cs | 233 + sdk/dotnet/DynamodbIntegration.cs | 149 + sdk/dotnet/GcsCollection.cs | 233 + sdk/dotnet/GcsIntegration.cs | 131 + sdk/dotnet/GetAccount.cs | 78 + sdk/dotnet/GetQueryLambdaTag.cs | 139 + sdk/dotnet/GetUser.cs | 151 + sdk/dotnet/GetVirtualInstance.cs | 237 + sdk/dotnet/GetWorkspace.cs | 151 + .../Inputs/DynamodbCollectionSourceArgs.cs | 86 + .../Inputs/DynamodbCollectionSourceGetArgs.cs | 86 + sdk/dotnet/Inputs/GcsCollectionSourceArgs.cs | 50 + .../Inputs/GcsCollectionSourceCsvArgs.cs | 74 + .../Inputs/GcsCollectionSourceCsvGetArgs.cs | 74 + .../Inputs/GcsCollectionSourceGetArgs.cs | 50 + .../Inputs/GcsCollectionSourceXmlArgs.cs | 50 + .../Inputs/GcsCollectionSourceXmlGetArgs.cs | 50 + .../Inputs/KafkaCollectionSourceArgs.cs | 58 + .../Inputs/KafkaCollectionSourceGetArgs.cs | 58 + .../Inputs/KafkaCollectionSourceStatusArgs.cs | 37 + .../KafkaCollectionSourceStatusGetArgs.cs | 37 + ...afkaCollectionSourceStatusPartitionArgs.cs | 29 + ...aCollectionSourceStatusPartitionGetArgs.cs | 29 + .../Inputs/KinesisCollectionSourceArgs.cs | 56 + .../Inputs/KinesisCollectionSourceGetArgs.cs | 56 + .../Inputs/MongodbCollectionSourceArgs.cs | 107 + .../Inputs/MongodbCollectionSourceGetArgs.cs | 107 + sdk/dotnet/Inputs/QueryLambdaSqlArgs.cs | 31 + .../QueryLambdaSqlDefaultParameterArgs.cs | 29 + .../QueryLambdaSqlDefaultParameterGetArgs.cs | 29 + sdk/dotnet/Inputs/QueryLambdaSqlGetArgs.cs | 31 + sdk/dotnet/Inputs/RolePrivilegeArgs.cs | 38 + sdk/dotnet/Inputs/RolePrivilegeGetArgs.cs | 38 + sdk/dotnet/Inputs/S3CollectionSourceArgs.cs | 56 + .../Inputs/S3CollectionSourceCsvArgs.cs | 74 + .../Inputs/S3CollectionSourceCsvGetArgs.cs | 74 + .../Inputs/S3CollectionSourceGetArgs.cs | 56 + .../Inputs/S3CollectionSourceXmlArgs.cs | 50 + .../Inputs/S3CollectionSourceXmlGetArgs.cs | 50 + sdk/dotnet/KafkaCollection.cs | 284 ++ sdk/dotnet/KafkaIntegration.cs | 324 ++ sdk/dotnet/KinesisCollection.cs | 233 + sdk/dotnet/KinesisIntegration.cs | 131 + sdk/dotnet/MongodbCollection.cs | 233 + sdk/dotnet/MongodbIntegration.cs | 155 + .../Outputs/DynamodbCollectionSource.cs | 98 + sdk/dotnet/Outputs/GcsCollectionSource.cs | 57 + sdk/dotnet/Outputs/GcsCollectionSourceCsv.cs | 70 + sdk/dotnet/Outputs/GcsCollectionSourceXml.cs | 56 + sdk/dotnet/Outputs/GetAccountClusterResult.cs | 33 + sdk/dotnet/Outputs/KafkaCollectionSource.cs | 60 + .../Outputs/KafkaCollectionSourceStatus.cs | 37 + .../KafkaCollectionSourceStatusPartition.cs | 33 + sdk/dotnet/Outputs/KinesisCollectionSource.cs | 56 + sdk/dotnet/Outputs/MongodbCollectionSource.cs | 123 + sdk/dotnet/Outputs/QueryLambdaSql.cs | 29 + .../Outputs/QueryLambdaSqlDefaultParameter.cs | 33 + sdk/dotnet/Outputs/RolePrivilege.cs | 42 + sdk/dotnet/Outputs/S3CollectionSource.cs | 64 + sdk/dotnet/Outputs/S3CollectionSourceCsv.cs | 70 + sdk/dotnet/Outputs/S3CollectionSourceXml.cs | 56 + sdk/dotnet/Provider.cs | 92 + sdk/dotnet/Pulumi.Rockset.csproj | 60 + sdk/dotnet/Pulumi.yaml | 0 sdk/dotnet/QueryLambda.cs | 174 + sdk/dotnet/QueryLambdaTag.cs | 149 + sdk/dotnet/README.md | 1 + sdk/dotnet/Role.cs | 217 + sdk/dotnet/S3Collection.cs | 272 ++ sdk/dotnet/S3Integration.cs | 131 + sdk/dotnet/User.cs | 188 + sdk/dotnet/Utilities.cs | 83 + sdk/dotnet/View.cs | 210 + sdk/dotnet/VirtualInstance.cs | 291 ++ sdk/dotnet/Workspace.cs | 173 + sdk/dotnet/logo.png | Bin 0 -> 7934 bytes sdk/dotnet/pulumi-plugin.json | 4 + sdk/go.mod | 93 +- sdk/go.sum | 4091 ++++++++++++++++ sdk/go/Pulumi.yaml | 0 sdk/go/rockset/alias.go | 267 ++ sdk/go/rockset/apiKey.go | 258 + sdk/go/rockset/collection.go | 309 ++ sdk/go/rockset/collectionMount.go | 338 ++ sdk/go/rockset/config/config.go | 22 + sdk/go/rockset/doc.go | 2 + sdk/go/rockset/dynamodbCollection.go | 324 ++ sdk/go/rockset/dynamodbIntegration.go | 267 ++ sdk/go/rockset/gcsCollection.go | 324 ++ sdk/go/rockset/gcsIntegration.go | 249 + sdk/go/rockset/getAccount.go | 99 + sdk/go/rockset/getQueryLambdaTag.go | 138 + sdk/go/rockset/getUser.go | 143 + sdk/go/rockset/getVirtualInstance.go | 180 + sdk/go/rockset/getWorkspace.go | 143 + sdk/go/rockset/init.go | 220 + sdk/go/rockset/internal/pulumiUtilities.go | 184 + sdk/go/rockset/internal/pulumiVersion.go | 11 + sdk/go/rockset/kafkaCollection.go | 383 ++ sdk/go/rockset/kafkaIntegration.go | 400 ++ sdk/go/rockset/kinesisCollection.go | 324 ++ sdk/go/rockset/kinesisIntegration.go | 249 + sdk/go/rockset/mongodbCollection.go | 324 ++ sdk/go/rockset/mongodbIntegration.go | 256 + sdk/go/rockset/provider.go | 115 + sdk/go/rockset/pulumi-plugin.json | 4 + sdk/go/rockset/pulumiTypes.go | 2620 ++++++++++ sdk/go/rockset/queryLambda.go | 283 ++ sdk/go/rockset/queryLambdaTag.go | 270 ++ sdk/go/rockset/role.go | 322 ++ sdk/go/rockset/s3collection.go | 371 ++ sdk/go/rockset/s3integration.go | 249 + sdk/go/rockset/user.go | 292 ++ sdk/go/rockset/view.go | 332 ++ sdk/go/rockset/virtualInstance.go | 405 ++ sdk/go/rockset/workspace.go | 297 ++ sdk/nodejs/Pulumi.yaml | 0 sdk/nodejs/README.md | 4 + sdk/nodejs/alias.ts | 132 + sdk/nodejs/apiKey.ts | 122 + sdk/nodejs/collection.ts | 171 + sdk/nodejs/collectionMount.ts | 182 + sdk/nodejs/config/index.ts | 5 + sdk/nodejs/config/vars.ts | 31 + sdk/nodejs/dynamodbCollection.ts | 187 + sdk/nodejs/dynamodbIntegration.ts | 132 + sdk/nodejs/gcsCollection.ts | 187 + sdk/nodejs/gcsIntegration.ts | 115 + sdk/nodejs/getAccount.ts | 53 + sdk/nodejs/getQueryLambdaTag.ts | 92 + sdk/nodejs/getUser.ts | 94 + sdk/nodejs/getVirtualInstance.ts | 163 + sdk/nodejs/getWorkspace.ts | 94 + sdk/nodejs/index.ts | 249 + sdk/nodejs/kafkaCollection.ts | 220 + sdk/nodejs/kafkaIntegration.ts | 232 + sdk/nodejs/kinesisCollection.ts | 187 + sdk/nodejs/kinesisIntegration.ts | 115 + sdk/nodejs/mongodbCollection.ts | 187 + sdk/nodejs/mongodbIntegration.ts | 117 + sdk/nodejs/package.json | 28 + sdk/nodejs/provider.ts | 70 + sdk/nodejs/queryLambda.ts | 145 + sdk/nodejs/queryLambdaTag.ts | 135 + sdk/nodejs/role.ts | 168 + sdk/nodejs/s3collection.ts | 209 + sdk/nodejs/s3integration.ts | 115 + sdk/nodejs/tsconfig.json | 53 + sdk/nodejs/types/index.ts | 13 + sdk/nodejs/types/input.ts | 355 ++ sdk/nodejs/types/output.ts | 362 ++ sdk/nodejs/user.ts | 155 + sdk/nodejs/utilities.ts | 95 + sdk/nodejs/view.ts | 168 + sdk/nodejs/virtualInstance.ts | 242 + sdk/nodejs/workspace.ts | 143 + sdk/python/Pulumi.yaml | 0 sdk/python/README.md | 30 + sdk/python/pulumi_rockset/README.md | 4 + sdk/python/pulumi_rockset/__init__.py | 246 + sdk/python/pulumi_rockset/_inputs.py | 1463 ++++++ sdk/python/pulumi_rockset/_utilities.py | 291 ++ sdk/python/pulumi_rockset/alias.py | 288 ++ sdk/python/pulumi_rockset/api_key.py | 254 + sdk/python/pulumi_rockset/collection.py | 428 ++ sdk/python/pulumi_rockset/collection_mount.py | 396 ++ sdk/python/pulumi_rockset/config/__init__.py | 8 + sdk/python/pulumi_rockset/config/__init__.pyi | 21 + sdk/python/pulumi_rockset/config/vars.py | 31 + .../pulumi_rockset/dynamodb_collection.py | 477 ++ .../pulumi_rockset/dynamodb_integration.py | 288 ++ sdk/python/pulumi_rockset/gcs_collection.py | 477 ++ sdk/python/pulumi_rockset/gcs_integration.py | 240 + sdk/python/pulumi_rockset/get_account.py | 130 + .../pulumi_rockset/get_query_lambda_tag.py | 172 + sdk/python/pulumi_rockset/get_user.py | 156 + .../pulumi_rockset/get_virtual_instance.py | 233 + sdk/python/pulumi_rockset/get_workspace.py | 156 + sdk/python/pulumi_rockset/kafka_collection.py | 539 +++ .../pulumi_rockset/kafka_integration.py | 622 +++ .../pulumi_rockset/kinesis_collection.py | 477 ++ .../pulumi_rockset/kinesis_integration.py | 240 + .../pulumi_rockset/mongodb_collection.py | 477 ++ .../pulumi_rockset/mongodb_integration.py | 242 + sdk/python/pulumi_rockset/outputs.py | 1460 ++++++ sdk/python/pulumi_rockset/provider.py | 136 + sdk/python/pulumi_rockset/pulumi-plugin.json | 4 + sdk/python/pulumi_rockset/py.typed | 0 sdk/python/pulumi_rockset/query_lambda.py | 333 ++ sdk/python/pulumi_rockset/query_lambda_tag.py | 289 ++ sdk/python/pulumi_rockset/role.py | 371 ++ sdk/python/pulumi_rockset/s3_collection.py | 517 ++ sdk/python/pulumi_rockset/s3_integration.py | 240 + sdk/python/pulumi_rockset/user.py | 350 ++ sdk/python/pulumi_rockset/view.py | 360 ++ sdk/python/pulumi_rockset/virtual_instance.py | 595 +++ sdk/python/pulumi_rockset/workspace.py | 306 ++ sdk/python/setup.py | 44 + 229 files changed, 54962 insertions(+), 635 deletions(-) create mode 100644 .github/workflows/release.yaml create mode 100644 .github/workflows/test.yaml rename deployment-templates/upgrade-provider.yml => .github/workflows/upgrade-provider.yaml (50%) rename deployment-templates/.goreleaser.yml => .goreleaser.yml (75%) delete mode 100644 CHANGELOG.md delete mode 100644 README-PROVIDER.md create mode 100644 README-upstream.md delete mode 100644 deployment-templates/release.yml rename deployment-templates/README-DEPLOYMENT.md => docs/release-process.md (100%) create mode 100644 examples/go.sum rename provider/cmd/{pulumi-resource-xyz => pulumi-resource-rockset}/.gitignore (100%) create mode 100644 provider/cmd/pulumi-resource-rockset/Pulumi.yaml create mode 100644 provider/cmd/pulumi-resource-rockset/bridge-metadata.json rename provider/cmd/{pulumi-resource-xyz => pulumi-resource-rockset}/generate.go (100%) rename provider/cmd/{pulumi-resource-xyz => pulumi-resource-rockset}/main.go (82%) create mode 100644 provider/cmd/pulumi-resource-rockset/schema.json rename provider/cmd/{pulumi-tfgen-xyz => pulumi-tfgen-rockset}/main.go (81%) create mode 100644 provider/go.sum create mode 100644 sdk/dotnet/Alias.cs create mode 100644 sdk/dotnet/ApiKey.cs create mode 100644 sdk/dotnet/Collection.cs create mode 100644 sdk/dotnet/CollectionMount.cs create mode 100644 sdk/dotnet/Config/Config.cs create mode 100644 sdk/dotnet/Config/README.md create mode 100644 sdk/dotnet/DynamodbCollection.cs create mode 100644 sdk/dotnet/DynamodbIntegration.cs create mode 100644 sdk/dotnet/GcsCollection.cs create mode 100644 sdk/dotnet/GcsIntegration.cs create mode 100644 sdk/dotnet/GetAccount.cs create mode 100644 sdk/dotnet/GetQueryLambdaTag.cs create mode 100644 sdk/dotnet/GetUser.cs create mode 100644 sdk/dotnet/GetVirtualInstance.cs create mode 100644 sdk/dotnet/GetWorkspace.cs create mode 100644 sdk/dotnet/Inputs/DynamodbCollectionSourceArgs.cs create mode 100644 sdk/dotnet/Inputs/DynamodbCollectionSourceGetArgs.cs create mode 100644 sdk/dotnet/Inputs/GcsCollectionSourceArgs.cs create mode 100644 sdk/dotnet/Inputs/GcsCollectionSourceCsvArgs.cs create mode 100644 sdk/dotnet/Inputs/GcsCollectionSourceCsvGetArgs.cs create mode 100644 sdk/dotnet/Inputs/GcsCollectionSourceGetArgs.cs create mode 100644 sdk/dotnet/Inputs/GcsCollectionSourceXmlArgs.cs create mode 100644 sdk/dotnet/Inputs/GcsCollectionSourceXmlGetArgs.cs create mode 100644 sdk/dotnet/Inputs/KafkaCollectionSourceArgs.cs create mode 100644 sdk/dotnet/Inputs/KafkaCollectionSourceGetArgs.cs create mode 100644 sdk/dotnet/Inputs/KafkaCollectionSourceStatusArgs.cs create mode 100644 sdk/dotnet/Inputs/KafkaCollectionSourceStatusGetArgs.cs create mode 100644 sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionArgs.cs create mode 100644 sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionGetArgs.cs create mode 100644 sdk/dotnet/Inputs/KinesisCollectionSourceArgs.cs create mode 100644 sdk/dotnet/Inputs/KinesisCollectionSourceGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MongodbCollectionSourceArgs.cs create mode 100644 sdk/dotnet/Inputs/MongodbCollectionSourceGetArgs.cs create mode 100644 sdk/dotnet/Inputs/QueryLambdaSqlArgs.cs create mode 100644 sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterArgs.cs create mode 100644 sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterGetArgs.cs create mode 100644 sdk/dotnet/Inputs/QueryLambdaSqlGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RolePrivilegeArgs.cs create mode 100644 sdk/dotnet/Inputs/RolePrivilegeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/S3CollectionSourceArgs.cs create mode 100644 sdk/dotnet/Inputs/S3CollectionSourceCsvArgs.cs create mode 100644 sdk/dotnet/Inputs/S3CollectionSourceCsvGetArgs.cs create mode 100644 sdk/dotnet/Inputs/S3CollectionSourceGetArgs.cs create mode 100644 sdk/dotnet/Inputs/S3CollectionSourceXmlArgs.cs create mode 100644 sdk/dotnet/Inputs/S3CollectionSourceXmlGetArgs.cs create mode 100644 sdk/dotnet/KafkaCollection.cs create mode 100644 sdk/dotnet/KafkaIntegration.cs create mode 100644 sdk/dotnet/KinesisCollection.cs create mode 100644 sdk/dotnet/KinesisIntegration.cs create mode 100644 sdk/dotnet/MongodbCollection.cs create mode 100644 sdk/dotnet/MongodbIntegration.cs create mode 100644 sdk/dotnet/Outputs/DynamodbCollectionSource.cs create mode 100644 sdk/dotnet/Outputs/GcsCollectionSource.cs create mode 100644 sdk/dotnet/Outputs/GcsCollectionSourceCsv.cs create mode 100644 sdk/dotnet/Outputs/GcsCollectionSourceXml.cs create mode 100644 sdk/dotnet/Outputs/GetAccountClusterResult.cs create mode 100644 sdk/dotnet/Outputs/KafkaCollectionSource.cs create mode 100644 sdk/dotnet/Outputs/KafkaCollectionSourceStatus.cs create mode 100644 sdk/dotnet/Outputs/KafkaCollectionSourceStatusPartition.cs create mode 100644 sdk/dotnet/Outputs/KinesisCollectionSource.cs create mode 100644 sdk/dotnet/Outputs/MongodbCollectionSource.cs create mode 100644 sdk/dotnet/Outputs/QueryLambdaSql.cs create mode 100644 sdk/dotnet/Outputs/QueryLambdaSqlDefaultParameter.cs create mode 100644 sdk/dotnet/Outputs/RolePrivilege.cs create mode 100644 sdk/dotnet/Outputs/S3CollectionSource.cs create mode 100644 sdk/dotnet/Outputs/S3CollectionSourceCsv.cs create mode 100644 sdk/dotnet/Outputs/S3CollectionSourceXml.cs create mode 100644 sdk/dotnet/Provider.cs create mode 100644 sdk/dotnet/Pulumi.Rockset.csproj create mode 100644 sdk/dotnet/Pulumi.yaml create mode 100644 sdk/dotnet/QueryLambda.cs create mode 100644 sdk/dotnet/QueryLambdaTag.cs create mode 100644 sdk/dotnet/README.md create mode 100644 sdk/dotnet/Role.cs create mode 100644 sdk/dotnet/S3Collection.cs create mode 100644 sdk/dotnet/S3Integration.cs create mode 100644 sdk/dotnet/User.cs create mode 100644 sdk/dotnet/Utilities.cs create mode 100644 sdk/dotnet/View.cs create mode 100644 sdk/dotnet/VirtualInstance.cs create mode 100644 sdk/dotnet/Workspace.cs create mode 100644 sdk/dotnet/logo.png create mode 100644 sdk/dotnet/pulumi-plugin.json create mode 100644 sdk/go.sum create mode 100644 sdk/go/Pulumi.yaml create mode 100644 sdk/go/rockset/alias.go create mode 100644 sdk/go/rockset/apiKey.go create mode 100644 sdk/go/rockset/collection.go create mode 100644 sdk/go/rockset/collectionMount.go create mode 100644 sdk/go/rockset/config/config.go create mode 100644 sdk/go/rockset/doc.go create mode 100644 sdk/go/rockset/dynamodbCollection.go create mode 100644 sdk/go/rockset/dynamodbIntegration.go create mode 100644 sdk/go/rockset/gcsCollection.go create mode 100644 sdk/go/rockset/gcsIntegration.go create mode 100644 sdk/go/rockset/getAccount.go create mode 100644 sdk/go/rockset/getQueryLambdaTag.go create mode 100644 sdk/go/rockset/getUser.go create mode 100644 sdk/go/rockset/getVirtualInstance.go create mode 100644 sdk/go/rockset/getWorkspace.go create mode 100644 sdk/go/rockset/init.go create mode 100644 sdk/go/rockset/internal/pulumiUtilities.go create mode 100644 sdk/go/rockset/internal/pulumiVersion.go create mode 100644 sdk/go/rockset/kafkaCollection.go create mode 100644 sdk/go/rockset/kafkaIntegration.go create mode 100644 sdk/go/rockset/kinesisCollection.go create mode 100644 sdk/go/rockset/kinesisIntegration.go create mode 100644 sdk/go/rockset/mongodbCollection.go create mode 100644 sdk/go/rockset/mongodbIntegration.go create mode 100644 sdk/go/rockset/provider.go create mode 100644 sdk/go/rockset/pulumi-plugin.json create mode 100644 sdk/go/rockset/pulumiTypes.go create mode 100644 sdk/go/rockset/queryLambda.go create mode 100644 sdk/go/rockset/queryLambdaTag.go create mode 100644 sdk/go/rockset/role.go create mode 100644 sdk/go/rockset/s3collection.go create mode 100644 sdk/go/rockset/s3integration.go create mode 100644 sdk/go/rockset/user.go create mode 100644 sdk/go/rockset/view.go create mode 100644 sdk/go/rockset/virtualInstance.go create mode 100644 sdk/go/rockset/workspace.go create mode 100644 sdk/nodejs/Pulumi.yaml create mode 100644 sdk/nodejs/README.md create mode 100644 sdk/nodejs/alias.ts create mode 100644 sdk/nodejs/apiKey.ts create mode 100644 sdk/nodejs/collection.ts create mode 100644 sdk/nodejs/collectionMount.ts create mode 100644 sdk/nodejs/config/index.ts create mode 100644 sdk/nodejs/config/vars.ts create mode 100644 sdk/nodejs/dynamodbCollection.ts create mode 100644 sdk/nodejs/dynamodbIntegration.ts create mode 100644 sdk/nodejs/gcsCollection.ts create mode 100644 sdk/nodejs/gcsIntegration.ts create mode 100644 sdk/nodejs/getAccount.ts create mode 100644 sdk/nodejs/getQueryLambdaTag.ts create mode 100644 sdk/nodejs/getUser.ts create mode 100644 sdk/nodejs/getVirtualInstance.ts create mode 100644 sdk/nodejs/getWorkspace.ts create mode 100644 sdk/nodejs/index.ts create mode 100644 sdk/nodejs/kafkaCollection.ts create mode 100644 sdk/nodejs/kafkaIntegration.ts create mode 100644 sdk/nodejs/kinesisCollection.ts create mode 100644 sdk/nodejs/kinesisIntegration.ts create mode 100644 sdk/nodejs/mongodbCollection.ts create mode 100644 sdk/nodejs/mongodbIntegration.ts create mode 100644 sdk/nodejs/package.json create mode 100644 sdk/nodejs/provider.ts create mode 100644 sdk/nodejs/queryLambda.ts create mode 100644 sdk/nodejs/queryLambdaTag.ts create mode 100644 sdk/nodejs/role.ts create mode 100644 sdk/nodejs/s3collection.ts create mode 100644 sdk/nodejs/s3integration.ts create mode 100644 sdk/nodejs/tsconfig.json create mode 100644 sdk/nodejs/types/index.ts create mode 100644 sdk/nodejs/types/input.ts create mode 100644 sdk/nodejs/types/output.ts create mode 100644 sdk/nodejs/user.ts create mode 100644 sdk/nodejs/utilities.ts create mode 100644 sdk/nodejs/view.ts create mode 100644 sdk/nodejs/virtualInstance.ts create mode 100644 sdk/nodejs/workspace.ts create mode 100644 sdk/python/Pulumi.yaml create mode 100644 sdk/python/README.md create mode 100644 sdk/python/pulumi_rockset/README.md create mode 100644 sdk/python/pulumi_rockset/__init__.py create mode 100644 sdk/python/pulumi_rockset/_inputs.py create mode 100644 sdk/python/pulumi_rockset/_utilities.py create mode 100644 sdk/python/pulumi_rockset/alias.py create mode 100644 sdk/python/pulumi_rockset/api_key.py create mode 100644 sdk/python/pulumi_rockset/collection.py create mode 100644 sdk/python/pulumi_rockset/collection_mount.py create mode 100644 sdk/python/pulumi_rockset/config/__init__.py create mode 100644 sdk/python/pulumi_rockset/config/__init__.pyi create mode 100644 sdk/python/pulumi_rockset/config/vars.py create mode 100644 sdk/python/pulumi_rockset/dynamodb_collection.py create mode 100644 sdk/python/pulumi_rockset/dynamodb_integration.py create mode 100644 sdk/python/pulumi_rockset/gcs_collection.py create mode 100644 sdk/python/pulumi_rockset/gcs_integration.py create mode 100644 sdk/python/pulumi_rockset/get_account.py create mode 100644 sdk/python/pulumi_rockset/get_query_lambda_tag.py create mode 100644 sdk/python/pulumi_rockset/get_user.py create mode 100644 sdk/python/pulumi_rockset/get_virtual_instance.py create mode 100644 sdk/python/pulumi_rockset/get_workspace.py create mode 100644 sdk/python/pulumi_rockset/kafka_collection.py create mode 100644 sdk/python/pulumi_rockset/kafka_integration.py create mode 100644 sdk/python/pulumi_rockset/kinesis_collection.py create mode 100644 sdk/python/pulumi_rockset/kinesis_integration.py create mode 100644 sdk/python/pulumi_rockset/mongodb_collection.py create mode 100644 sdk/python/pulumi_rockset/mongodb_integration.py create mode 100644 sdk/python/pulumi_rockset/outputs.py create mode 100644 sdk/python/pulumi_rockset/provider.py create mode 100644 sdk/python/pulumi_rockset/pulumi-plugin.json create mode 100644 sdk/python/pulumi_rockset/py.typed create mode 100644 sdk/python/pulumi_rockset/query_lambda.py create mode 100644 sdk/python/pulumi_rockset/query_lambda_tag.py create mode 100644 sdk/python/pulumi_rockset/role.py create mode 100644 sdk/python/pulumi_rockset/s3_collection.py create mode 100644 sdk/python/pulumi_rockset/s3_integration.py create mode 100644 sdk/python/pulumi_rockset/user.py create mode 100644 sdk/python/pulumi_rockset/view.py create mode 100644 sdk/python/pulumi_rockset/virtual_instance.py create mode 100644 sdk/python/pulumi_rockset/workspace.py create mode 100644 sdk/python/setup.py diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..937e69c --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,82 @@ +# Simplified form of https://github.com/pulumi/pulumi-package-publisher/main/action.yml +name: release +on: + push: + tags: + - v*.*.* +jobs: + build: + name: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - name: Install Go + uses: actions/setup-go@v4 + with: + go-version: '1.21' + cache-dependency-path: '**/go.sum' + - uses: actions/setup-python@v4 + with: + python-version: '3.11' + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: pulumi/pulumictl + - run: make build_python + - run: make build_go + - uses: actions/upload-artifact@v3 + with: + name: python-sdk.tar.gz + path: ${{ github.workspace }}/sdk/python + - uses: actions/upload-artifact@v3 + with: + name: go-sdk.tar.gz + path: ${{ github.workspace }}/sdk/go + + publish-go: + needs: build + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + environment: release + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - name: Install Go + uses: actions/setup-go@v4 + with: + go-version: '1.21' + cache-dependency-path: '**/go.sum' + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: pulumi/pulumictl + - uses: goreleaser/goreleaser-action@v5 + with: + args: release --clean + version: latest + + publish-python: + runs-on: ubuntu-latest + needs: build + environment: + name: pypi + url: https://pypi.org/p/pulumi_rockset + permissions: + # Required for trusted publishing + id-token: write + steps: + - uses: actions/download-artifact@v3 + with: + name: python-sdk.tar.gz + path: ${{ github.workspace }}/sdk/python + - uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: ${{ github.workspace }}/sdk/python/bin/dist diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..82e6143 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,69 @@ +name: test +on: + push: + branches: + - main + tags: + - v*.*.* + pull_request: + +permissions: + contents: read + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - uses: actions/setup-go@v4 + with: + go-version: '1.21' + cache-dependency-path: '**/go.sum' + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: pulumi/pulumictl + - run: make tfgen + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: v1.55.2 + working-directory: provider + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - uses: actions/setup-go@v4 + with: + go-version: '1.21' + cache-dependency-path: '**/go.sum' + - uses: actions/setup-node@v3 + with: + node-version: "20" + - uses: actions/setup-dotnet@v3 + with: + dotnet-version: "8" + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: + repo: pulumi/pulumictl + - run: make provider + - name: Check for uncommitted generated files + run: | + make build_sdks + if [[ $(git status --porcelain | wc -l) != "0" ]]; then + git status + echo "did you run make build_sdks?" + exit 1 + fi + - run: make test diff --git a/deployment-templates/upgrade-provider.yml b/.github/workflows/upgrade-provider.yaml similarity index 50% rename from deployment-templates/upgrade-provider.yml rename to .github/workflows/upgrade-provider.yaml index acb24d5..adb0efc 100644 --- a/deployment-templates/upgrade-provider.yml +++ b/.github/workflows/upgrade-provider.yaml @@ -5,12 +5,11 @@ on: - opened schedule: - cron: '0 5 * * *' -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: - upgrade_provider: + upgrade-provider: name: upgrade-provider runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - - name: Call upgrade provider action - uses: pulumi/pulumi-upgrade-provider-action@main + - uses: pulumi/pulumi-upgrade-provider-action@main diff --git a/.gitignore b/.gitignore index 5ad2e40..d4a36dd 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ provider/**/schema-embed.json **/version.txt **/nuget **/dist + +.ignore diff --git a/deployment-templates/.goreleaser.yml b/.goreleaser.yml similarity index 75% rename from deployment-templates/.goreleaser.yml rename to .goreleaser.yml index 9097c9a..c02cd0b 100644 --- a/deployment-templates/.goreleaser.yml +++ b/.goreleaser.yml @@ -5,7 +5,7 @@ before: hooks: - make tfgen builds: - - binary: pulumi-resource-xyz + - binary: pulumi-resource-rockset dir: provider env: - CGO_ENABLED=0 @@ -18,8 +18,8 @@ builds: - linux ldflags: # The line below MUST align with the module in current provider/go.mod - - -X github.com/your-org-name/pulumi-xyz/provider/pkg/version.Version={{.Tag }} - main: ./cmd/pulumi-resource-xyz/ + - -X github.com/ddn0/pulumi-rockset/provider/pkg/version.Version={{.Tag }} + main: ./cmd/pulumi-resource-rockset/ changelog: skip: true release: diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 97babf5..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,10 +0,0 @@ -CHANGELOG -========= - -## HEAD (Unreleased) -pulumi-package-publisher -* Use [Pulumi Package Publisher Action](https://github.com/pulumi/pulumi-package-publisher) in release.yml template -* fix dotnetversion typo in release template #94 -* fix `/usr/share/dotnet/host/xfr does not exist` issue when running `make build_dotnet` - ---- diff --git a/Makefile b/Makefile index 9f2e285..9561442 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ -PROJECT_NAME := xyz Package +PROJECT_NAME := rockset Package SHELL := /bin/bash -PACK := xyz -ORG := pulumi +PACK := rockset +ORG := ddn0 PROJECT := github.com/${ORG}/pulumi-${PACK} NODE_MODULE_NAME := @pulumi/${PACK} TF_NAME := ${PACK} @@ -29,13 +29,13 @@ prepare:: mv "provider/cmd/pulumi-resource-x${EMPTY_TO_AVOID_SED}yz" provider/cmd/pulumi-resource-${NAME} if [[ "${OS}" != "Darwin" ]]; then \ - sed -i 's,github.com/pulumi/pulumi-xyz,${REPOSITORY},g' provider/go.mod; \ + sed -i 's,github.com/pulumi/pulumi-rockset,${REPOSITORY},g' provider/go.mod; \ find ./ ! -path './.git/*' -type f -exec sed -i 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \ fi # In MacOS the -i parameter needs an empty string to execute in place. if [[ "${OS}" == "Darwin" ]]; then \ - sed -i '' 's,github.com/pulumi/pulumi-xyz,${REPOSITORY},g' provider/go.mod; \ + sed -i '' 's,github.com/pulumi/pulumi-rockset,${REPOSITORY},g' provider/go.mod; \ find ./ ! -path './.git/*' -type f -exec sed -i '' 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \ fi @@ -63,7 +63,7 @@ build_nodejs:: install_plugins tfgen # build the node sdk cd sdk/nodejs/ && \ yarn install && \ yarn run tsc && \ - cp -R scripts/ bin && \ + (cp -R scripts/ bin || true) && \ cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \ sed -i.bak -e "s/\$${VERSION}/$(VERSION)/g" ./bin/package.json diff --git a/README-PROVIDER.md b/README-PROVIDER.md deleted file mode 100644 index fd3567b..0000000 --- a/README-PROVIDER.md +++ /dev/null @@ -1,56 +0,0 @@ -# Foo Resource Provider - -The Foo Resource Provider lets you manage [Foo](http://example.com) resources. - -## Installing - -This package is available for several languages/platforms: - -### Node.js (JavaScript/TypeScript) - -To use from JavaScript or TypeScript in Node.js, install using either `npm`: - -```bash -npm install @pulumi/foo -``` - -or `yarn`: - -```bash -yarn add @pulumi/foo -``` - -### Python - -To use from Python, install using `pip`: - -```bash -pip install pulumi_foo -``` - -### Go - -To use from Go, use `go get` to grab the latest version of the library: - -```bash -go get github.com/pulumi/pulumi-foo/sdk/go/... -``` - -### .NET - -To use from .NET, install using `dotnet add package`: - -```bash -dotnet add package Pulumi.Foo -``` - -## Configuration - -The following configuration points are available for the `foo` provider: - -- `foo:apiKey` (environment: `FOO_API_KEY`) - the API key for `foo` -- `foo:region` (environment: `FOO_REGION`) - the region in which to deploy resources - -## Reference - -For detailed reference documentation, please visit [the Pulumi registry](https://www.pulumi.com/registry/packages/foo/api-docs/). diff --git a/README-upstream.md b/README-upstream.md new file mode 100644 index 0000000..0a6e862 --- /dev/null +++ b/README-upstream.md @@ -0,0 +1,458 @@ +# Terraform Bridge Provider Boilerplate + +This repository contains boilerplate code for building a new Pulumi provider which wraps an existing Terraform provider. + +## Background + +This repository is part of the [guide for authoring and publishing a Pulumi Package](https://www.pulumi.com/docs/guides/pulumi-packages/how-to-author). + +Learn about the concepts behind [Pulumi Packages](https://www.pulumi.com/docs/guides/pulumi-packages/#pulumi-packages). + +## Creating a Pulumi Terraform Bridge Provider + +The following instructions cover: + +- providers maintained by Pulumi (denoted with a "Pulumi Official" checkmark on the Pulumi registry) +- providers published and maintained by the Pulumi community, referred to as "third-party" providers + +We showcase a Pulumi-owned provider based on an upstream provider named `terraform-provider-foo`. Substitute appropriate values below for your use case. + +> Note: If the name of the desired Pulumi provider differs from the name of the Terraform provider, you will need to carefully distinguish between the references - see for an example. + +### Prerequisites + +Ensure the following tools are installed and present in your `$PATH`: + +- [`pulumictl`](https://github.com/pulumi/pulumictl#installation) +- [Go 1.17](https://golang.org/dl/) or 1.latest +- [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations. +- [Yarn](https://yarnpkg.com/) +- [TypeScript](https://www.typescriptlang.org/) +- [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine. +- [.NET](https://dotnet.microsoft.com/download) + +### Creating and Initializing the Repository + +Pulumi offers this repository as a [GitHub template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) for convenience. From this repository: + +1. Click "Use this template". +1. Set the following options: + - Owner: pulumi (third-party: your GitHub organization/username) + - Repository name: pulumi-foo (third-party: preface your repo name with "pulumi" as standard practice) + - Description: Pulumi provider for Foo + - Repository type: Public +1. Clone the generated repository. + +From the templated repository: + +1. Run the following command to update files to use the name of your provider (third-party: use your GitHub organization/username): + + ```bash + make prepare NAME=foo REPOSITORY=github.com/pulumi/pulumi-foo + ``` + + This will do the following: + - rename folders in `provider/cmd` to `pulumi-resource-foo` and `pulumi-tfgen-foo` + - replace dependencies in `provider/go.mod` to reflect your repository name + - find and replace all instances of the boilerplate `rockset` with the `NAME` of your provider. + + Note for third-party providers: + - Make sure to set the correct GitHub organization/username in all files referencing your provider as a dependency: + - `examples/go.mod` + - `provider/resources.go` + - `sdk/go.mod` + - `provider/cmd/pulumi-resource-foo/main.go` + - `provider/cmd/pulumi-tfgen-foo/main.go` + +2. Modify `README-PROVIDER.md` to include the following (we'll rename it to `README.md` toward the end of this guide): + - Any desired build status badges. + - An introductory paragraph describing the type of resources the provider manages, e.g. "The Foo provider for Pulumi manages resources for [Foo](http://example.com/). + - In the "Installing" section, correct package names for the various SDK libraries in the languages Pulumi supports. + - In the "Configuration" section, any configurable options for the provider. These may include, but are not limited to, environment variables or options that can be set via [`pulumi config set`](https://www.pulumi.com/docs/reference/cli/pulumi_config_set/). + - In the "Reference" section, provide a link to the to-be-published documentation. + - Feel free to refer to [the Pulumi AWS provider README](https://github.com/pulumi/pulumi-aws) as an example. + +### Composing the Provider Code - Prerequisites + +Pulumi provider repositories have the following general structure: + +- `examples/` contains sample code which may optionally be included as integration tests to be run as part of a CI/CD pipeline. +- `provider/` contains the Go code used to create the provider as well as generate the SDKs in the various languages that Pulumi supports. + - `provider/cmd/pulumi-tfgen-foo` generates the Pulumi resource schema (`schema.json`), based on the Terraform provider's resources. + - `provider/cmd/pulumi-resource-foo` generates the SDKs in all supported languages from the schema, placing them in the `sdk/` folder. + - `provider/pkg/resources.go` is the location where we will define the Terraform-to-Pulumi mappings for resources. +- `sdk/` contains the generated SDK code for each of the language platforms that Pulumi supports, with each supported platform in a separate subfolder. + +1. In `provider/go.mod`, add a reference to the upstream Terraform provider in the `require` section, e.g. + + ```go + github.com/foo/terraform-provider-foo v0.4.0 + ``` + +1. In `provider/resources.go`, ensure the reference in the `import` section uses the correct Go module path, e.g.: + + ```go + github.com/foo/terraform-provider-foo/foo + ``` + +1. Download the dependencies: + + ```bash + cd provider && go mod tidy && cd - + ``` + +1. Create the schema by running the following command: + + ```bash + make tfgen + ``` + + Note warnings about unmapped resources and data sources in the command's output. We map these in the next section, e.g.: + + ```text + warning: resource foo_something not found in provider map; skipping + warning: resource foo_something_else not found in provider map; skipping + warning: data source foo_something not found in provider map; skipping + warning: data source foo_something_else not found in provider map; skipping + ``` + +## Adding Mappings, Building the Provider and SDKs + +In this section we will add the mappings that allow the interoperation between the Pulumi provider and the Terraform provider. Terraform resources map to an identically named concept in Pulumi. Terraform data sources map to plain old functions in your supported programming language of choice. Pulumi also allows provider functions and resources to be grouped into _namespaces_ to improve the cohesion of a provider's code, thereby making it easier for developers to use. If your provider has a large number of resources, consider using namespaces to improve usability. + +The following instructions all pertain to `provider/resources.go`, in the section of the code where we construct a `tfbridge.ProviderInfo` object: + +1. **Add resource mappings:** For each resource in the provider, add an entry in the `Resources` property of the `tfbridge.ProviderInfo`, e.g.: + + ```go + // Most providers will have all resources (and data sources) in the main module. + // Note the mapping from snake_case HCL naming conventions to UpperCamelCase Pulumi SDK naming conventions. + // The name of the provider is omitted from the mapped name due to the presence of namespaces in all supported Pulumi languages. + "foo_something": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Something")}, + "foo_something_else": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SomethingElse")}, + ``` + +1. **Add CSharpName (if necessary):** Dotnet does not allow for fields named the same as the enclosing type, which sometimes results in errors during the dotnet SDK build. + If you see something like + + ```text + error CS0542: 'ApiKey': member names cannot be the same as their enclosing type [/Users/guin/go/src/github.com/pulumi/pulumi-artifactory/sdk/dotnet/Pulumi.Artifactory.csproj] + ``` + + you'll want to give your Resource a CSharpName, which can have any value that makes sense: + + ```go + "foo_something_dotnet": { + Tok: tfbridge.MakeResource(mainPkg, mainMod, "SomethingDotnet"), + Fields: map[string]*tfbridge.SchemaInfo{ + "something_dotnet": { + CSharpName: "SpecialName", + }, + }, + }, + ``` + + [See the underlying terraform-bridge code here.](https://github.com/pulumi/pulumi-terraform-bridge/blob/master/pkg/tfbridge/info.go#L168) +1. **Add data source mappings:** For each data source in the provider, add an entry in the `DataSources` property of the `tfbridge.ProviderInfo`, e.g.: + + ```go + // Note the 'get' prefix for data sources + "foo_something": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getSomething")}, + "foo_something_else": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getSomethingElse")}, + ``` + +1. **Add documentation mapping (sometimes needed):** If the upstream provider's repo is not a part of the `terraform-providers` GitHub organization, specify the `GitHubOrg` property of `tfbridge.ProviderInfo` to ensure that documentation is picked up by the codegen process, and that attribution for the upstream provider is correct, e.g.: + + ```go + GitHubOrg: "foo", + ``` + +1. **Add provider configuration overrides (not typically needed):** Pulumi's Terraform bridge automatically detects configuration options for the upstream provider. However, in rare cases these settings may need to be overridden, e.g. if we want to change an environment variable default from `API_KEY` to `FOO_API_KEY`. Examples of common uses cases: + + ```go + "additional_required_parameter": {}, + "additional_optional_string_parameter": { + Default: &tfbridge.DefaultInfo{ + Value: "default_value", + }, + "additional_optional_boolean_parameter": { + Default: &tfbridge.DefaultInfo{ + Value: true, + }, + // Renamed environment variables can be accounted for like so: + "apikey": { + Default: &tfbridge.DefaultInfo{ + EnvVars: []string{"FOO_API_KEY"}, + }, + ``` + +1. Build the provider binary and ensure there are no warnings about unmapped resources and no warnings about unmapped data sources: + + ```bash + make provider + ``` + + You may see warnings about documentation and examples, including "unexpected code snippets". These can be safely ignored for now. Pulumi will add additional documentation on mapping docs in a future revision of this guide. + +1. Build the SDKs in the various languages Pulumi supports: + + ```bash + make build_sdks + ``` + +1. Ensure the Golang SDK is a proper go module: + + ```bash + cd sdk && go mod tidy && cd - + ``` + + This will pull in the correct dependencies in `sdk/go.mod` as well as setting the dependency tree in `sdk/go.sum`. + +1. Finally, ensure the provider code conforms to Go standards: + + ```bash + make lint_provider + ``` + + Fix any issues found by the linter. + +**Note:** If you make revisions to code in `resources.go`, you must re-run the `make tfgen` target to regenerate the schema. +The `make tfgen` target will take the file `schema.json` and serialize it to a byte array so that it can be included in the build output. +(This is a holdover from Go 1.16, which does not have the ability to directly embed text files. We are working on removing the need for this step.) + +## Sample Program + +In this section, we will create a Pulumi program in TypeScript that utilizes the provider we created to ensure everything is working properly. + +1. Create an account with the provider's service and generate any necessary credentials, e.g. API keys. + - Email: bot@pulumi.com + - Password: (Create a random password in 1Password with the maximum length and complexity allowed by the provider.) + - Ensure all secrets (passwords, generated API keys) are stored in Pulumi's 1Password vault. + +1. Copy the `pulumi-resource-foo` binary generated by `make provider` and place it in your `$PATH` (`$GOPATH/bin` is a convenient choice), e.g.: + + ```bash + cp bin/pulumi-resource-foo $GOPATH/bin + ``` + +1. Tell Yarn to use your local copy of the SDK: + + ```bash + make install_nodejs_sdk + ``` + +1. Create a new Pulumi program in the `examples/` directory, e.g.: + + ```bash + mkdir examples/my-example/ts # Change "my-example" to something more meaningful. + cd examples/my-example/ts + pulumi new typescript + # (Go through the prompts with the default values) + npm install + yarn link @pulumi/foo + ``` + +1. Create a minimal program for the provider, i.e. one that creates the smallest-footprint resource. Place this code in `index.ts`. +1. Configure any necessary environment variables for authentication, e.g `$FOO_USERNAME`, `$FOO_TOKEN`, in your local environment. +1. Ensure the program runs successfully via `pulumi up`. +1. Once the program completes successfully, verify the resource was created in the provider's UI. +1. Destroy any resources created by the program via `pulumi destroy`. + +Optionally, you may create additional examples for SDKs in other languages supported by Pulumi: + +1. Python: + + ```bash + mkdir examples/my-example/py + cd examples/my-example/py + pulumi new python + # (Go through the prompts with the default values) + source venv/bin/activate # use the virtual Python env that Pulumi sets up for you + pip install pulumi_foo + ``` + +1. Follow the steps above to verify the program runs successfully. + +## Add End-to-end Testing + +We can run integration tests on our examples using the `*_test.go` files in the `examples/` folder. + +1. Add code to `examples_nodejs_test.go` to call the example you created, e.g.: + + ```go + // Swap out MyExample and "my-example" below with the name of your integration test. + func TestAccMyExampleTs(t *testing.T) { + test := getJSBaseOptions(t). + With(integration.ProgramTestOptions{ + Dir: filepath.Join(getCwd(t), "my-example", "ts"), + }) + integration.ProgramTest(t, &test) + } + ``` + +1. Add a similar function for each example that you want to run in an integration test. For examples written in other languages, create similar files for `examples_${LANGUAGE}_test.go`. + +1. You can run these tests locally via Make: + + ```bash + make test + ``` + + You can also run each test file separately via test tags: + + ```bash + cd examples && go test -v -tags=nodejs + ``` + +## Configuring CI with GitHub Actions + +### Third-party providers + +1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md). + +### Pulumi Internal + +In this section, we'll add the necessary configuration to work with GitHub Actions for Pulumi's standard CI/CD workflows for providers. + +1. Generate GitHub workflows per [the instructions in the ci-mgmt repository](https://github.com/pulumi/ci-mgmt/) and copy to `.github/` in this repository. + +1. Ensure that any required secrets are present as repository-level [secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) in GitHub. These will be used by the integration tests during the CI/CD process. + +1. Repository settings: Toggle `Allow auto-merge` on in your provider repo to automate GitHub Actions workflow updates. + +## Final Steps + +1. Ensure all required configurations (API keys, etc.) are documented in README-PROVIDER.md. + +1. Replace this file with the README for the provider and push your changes: + + ```bash + mv README-PROVIDER.md README.md + ``` + +1. If publishing the npm package fails during the "Publish SDKs" Action, perform the following steps: + 1. Go to [NPM Packages](https://www.npmjs.com/) and sign in as pulumi-bot. + 1. Click on the bot's profile pic and navigate to "Packages". + 1. On the left, under "Organizations, click on the Pulumi organization. + 1. On the last page of the listed packages, you should see the new package. + 1. Under "Settings", set the Package Status to "public". + +Now you are ready to use the provider, cut releases, and have some well-deserved :ice_cream:! + +## Building the Provider Locally + +There are 2 ways the provider can be built locally: + +`make provider` will use the current operating system and architecture to create a binary that can be used on your PATH. + +To build the provider for another set of operating systems / architectures, the project uses [goreleaser](https://goreleaser.com/). +Goreleaser, a CLI tool, that allows a user to build a matrix of binaries. + +Create a `.goreleaser.yml` file in the root of your project: + +```yaml + +archives: +- id: archive + name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}" +before: + hooks: + - make tfgen +builds: +- binary: pulumi-resource-rockset + dir: provider + goarch: + - amd64 + - arm64 + goos: + - darwin + - windows + - linux + ignore: [] + ldflags: + - -X github.com/ddn0/pulumi-rockset/provider/pkg/version.Version={{.Tag}} + main: ./cmd/pulumi-resource-rockset/ + sort: asc + use: git +release: + disable: false +snapshot: + name_template: "{{ .Tag }}-SNAPSHOT" +``` + +To build the provider for the combination of architectures and operating systems, you can run the following CLI command: + +```bash +goreleaser build --rm-dist --skip-validate +``` + +That will ensure that a list of binaries are available to use: + +```bash + +▶ tree dist +dist +├── CHANGELOG.md +├── artifacts.json +├── config.yaml +├── metadata.json +├── pulumi-rockset_darwin_amd64_v1 +│ └── pulumi-resource-rockset +├── pulumi-rockset_darwin_arm64 +│ └── pulumi-resource-rockset +├── pulumi-rockset_linux_amd64_v1 +│ └── pulumi-resource-rockset +├── pulumi-rockset_linux_arm64 +│ └── pulumi-resource-rockset +├── pulumi-rockset_windows_amd64_v1 +│ └── pulumi-resource-rockset.exe +└── pulumi-rockset_windows_arm64 + └── pulumi-resource-rockset.exe +``` + +Any of the provider binaries can be used to target the correct machine architecture + +## The Shim Pattern + +If you receive the following error: `use of internal package github.com/example/terraform-provider-example/internal/provider not allowed`, you need to use +the shim model below, and replace the example item: + +```bash + +mkdir -p provider/shim +cat <<-EOF> provider/shim/go.mod +module github.com/example/terraform-provider-example/shim + +go 1.18 + +require github.com/hashicorp/terraform-plugin-sdk/v2 v2.22.0 +require github.com/example/terraform-provider-example v1.0.0 + +EOF + +cat <<-EOF> provider/shim/shim.go +package shim + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/example/terraform-provider-example/internal/provider" +) + +// fix provider.Provider here to match whats in internal/provider +func Provider() *schema.Provider { + return provider.Provider() +} + +EOF + +cd provider/shim/ && go mod tidy && cd ../../ + +cat <> provider/go.mod +replace github.com/example/terraform-provider-example/shim => ./shim +require github.com/example/terraform-provider-example/shim v0.0.0 +EOF + +cd provider && go mod tidy + +``` + diff --git a/README.md b/README.md index a38f41b..c3835be 100644 --- a/README.md +++ b/README.md @@ -1,458 +1,30 @@ -# Terraform Bridge Provider Boilerplate +# Rockset Resource Provider -This repository contains boilerplate code for building a new Pulumi provider which wraps an existing Terraform provider. +The Rockset Resource Provider lets you manage [Rockset](https://rockset.com) resources. -## Background +## Installing -This repository is part of the [guide for authoring and publishing a Pulumi Package](https://www.pulumi.com/docs/guides/pulumi-packages/how-to-author). +This package is available for several languages/platforms: -Learn about the concepts behind [Pulumi Packages](https://www.pulumi.com/docs/guides/pulumi-packages/#pulumi-packages). +### Python -## Creating a Pulumi Terraform Bridge Provider - -The following instructions cover: - -- providers maintained by Pulumi (denoted with a "Pulumi Official" checkmark on the Pulumi registry) -- providers published and maintained by the Pulumi community, referred to as "third-party" providers - -We showcase a Pulumi-owned provider based on an upstream provider named `terraform-provider-foo`. Substitute appropriate values below for your use case. - -> Note: If the name of the desired Pulumi provider differs from the name of the Terraform provider, you will need to carefully distinguish between the references - see for an example. - -### Prerequisites - -Ensure the following tools are installed and present in your `$PATH`: - -- [`pulumictl`](https://github.com/pulumi/pulumictl#installation) -- [Go 1.17](https://golang.org/dl/) or 1.latest -- [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations. -- [Yarn](https://yarnpkg.com/) -- [TypeScript](https://www.typescriptlang.org/) -- [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine. -- [.NET](https://dotnet.microsoft.com/download) - -### Creating and Initializing the Repository - -Pulumi offers this repository as a [GitHub template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) for convenience. From this repository: - -1. Click "Use this template". -1. Set the following options: - - Owner: pulumi (third-party: your GitHub organization/username) - - Repository name: pulumi-foo (third-party: preface your repo name with "pulumi" as standard practice) - - Description: Pulumi provider for Foo - - Repository type: Public -1. Clone the generated repository. - -From the templated repository: - -1. Run the following command to update files to use the name of your provider (third-party: use your GitHub organization/username): - - ```bash - make prepare NAME=foo REPOSITORY=github.com/pulumi/pulumi-foo - ``` - - This will do the following: - - rename folders in `provider/cmd` to `pulumi-resource-foo` and `pulumi-tfgen-foo` - - replace dependencies in `provider/go.mod` to reflect your repository name - - find and replace all instances of the boilerplate `xyz` with the `NAME` of your provider. - - Note for third-party providers: - - Make sure to set the correct GitHub organization/username in all files referencing your provider as a dependency: - - `examples/go.mod` - - `provider/resources.go` - - `sdk/go.mod` - - `provider/cmd/pulumi-resource-foo/main.go` - - `provider/cmd/pulumi-tfgen-foo/main.go` - -2. Modify `README-PROVIDER.md` to include the following (we'll rename it to `README.md` toward the end of this guide): - - Any desired build status badges. - - An introductory paragraph describing the type of resources the provider manages, e.g. "The Foo provider for Pulumi manages resources for [Foo](http://example.com/). - - In the "Installing" section, correct package names for the various SDK libraries in the languages Pulumi supports. - - In the "Configuration" section, any configurable options for the provider. These may include, but are not limited to, environment variables or options that can be set via [`pulumi config set`](https://www.pulumi.com/docs/reference/cli/pulumi_config_set/). - - In the "Reference" section, provide a link to the to-be-published documentation. - - Feel free to refer to [the Pulumi AWS provider README](https://github.com/pulumi/pulumi-aws) as an example. - -### Composing the Provider Code - Prerequisites - -Pulumi provider repositories have the following general structure: - -- `examples/` contains sample code which may optionally be included as integration tests to be run as part of a CI/CD pipeline. -- `provider/` contains the Go code used to create the provider as well as generate the SDKs in the various languages that Pulumi supports. - - `provider/cmd/pulumi-tfgen-foo` generates the Pulumi resource schema (`schema.json`), based on the Terraform provider's resources. - - `provider/cmd/pulumi-resource-foo` generates the SDKs in all supported languages from the schema, placing them in the `sdk/` folder. - - `provider/pkg/resources.go` is the location where we will define the Terraform-to-Pulumi mappings for resources. -- `sdk/` contains the generated SDK code for each of the language platforms that Pulumi supports, with each supported platform in a separate subfolder. - -1. In `provider/go.mod`, add a reference to the upstream Terraform provider in the `require` section, e.g. - - ```go - github.com/foo/terraform-provider-foo v0.4.0 - ``` - -1. In `provider/resources.go`, ensure the reference in the `import` section uses the correct Go module path, e.g.: - - ```go - github.com/foo/terraform-provider-foo/foo - ``` - -1. Download the dependencies: - - ```bash - cd provider && go mod tidy && cd - - ``` - -1. Create the schema by running the following command: - - ```bash - make tfgen - ``` - - Note warnings about unmapped resources and data sources in the command's output. We map these in the next section, e.g.: - - ```text - warning: resource foo_something not found in provider map; skipping - warning: resource foo_something_else not found in provider map; skipping - warning: data source foo_something not found in provider map; skipping - warning: data source foo_something_else not found in provider map; skipping - ``` - -## Adding Mappings, Building the Provider and SDKs - -In this section we will add the mappings that allow the interoperation between the Pulumi provider and the Terraform provider. Terraform resources map to an identically named concept in Pulumi. Terraform data sources map to plain old functions in your supported programming language of choice. Pulumi also allows provider functions and resources to be grouped into _namespaces_ to improve the cohesion of a provider's code, thereby making it easier for developers to use. If your provider has a large number of resources, consider using namespaces to improve usability. - -The following instructions all pertain to `provider/resources.go`, in the section of the code where we construct a `tfbridge.ProviderInfo` object: - -1. **Add resource mappings:** For each resource in the provider, add an entry in the `Resources` property of the `tfbridge.ProviderInfo`, e.g.: - - ```go - // Most providers will have all resources (and data sources) in the main module. - // Note the mapping from snake_case HCL naming conventions to UpperCamelCase Pulumi SDK naming conventions. - // The name of the provider is omitted from the mapped name due to the presence of namespaces in all supported Pulumi languages. - "foo_something": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "Something")}, - "foo_something_else": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "SomethingElse")}, - ``` - -1. **Add CSharpName (if necessary):** Dotnet does not allow for fields named the same as the enclosing type, which sometimes results in errors during the dotnet SDK build. - If you see something like - - ```text - error CS0542: 'ApiKey': member names cannot be the same as their enclosing type [/Users/guin/go/src/github.com/pulumi/pulumi-artifactory/sdk/dotnet/Pulumi.Artifactory.csproj] - ``` - - you'll want to give your Resource a CSharpName, which can have any value that makes sense: - - ```go - "foo_something_dotnet": { - Tok: tfbridge.MakeResource(mainPkg, mainMod, "SomethingDotnet"), - Fields: map[string]*tfbridge.SchemaInfo{ - "something_dotnet": { - CSharpName: "SpecialName", - }, - }, - }, - ``` - - [See the underlying terraform-bridge code here.](https://github.com/pulumi/pulumi-terraform-bridge/blob/master/pkg/tfbridge/info.go#L168) -1. **Add data source mappings:** For each data source in the provider, add an entry in the `DataSources` property of the `tfbridge.ProviderInfo`, e.g.: - - ```go - // Note the 'get' prefix for data sources - "foo_something": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getSomething")}, - "foo_something_else": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getSomethingElse")}, - ``` - -1. **Add documentation mapping (sometimes needed):** If the upstream provider's repo is not a part of the `terraform-providers` GitHub organization, specify the `GitHubOrg` property of `tfbridge.ProviderInfo` to ensure that documentation is picked up by the codegen process, and that attribution for the upstream provider is correct, e.g.: - - ```go - GitHubOrg: "foo", - ``` - -1. **Add provider configuration overrides (not typically needed):** Pulumi's Terraform bridge automatically detects configuration options for the upstream provider. However, in rare cases these settings may need to be overridden, e.g. if we want to change an environment variable default from `API_KEY` to `FOO_API_KEY`. Examples of common uses cases: - - ```go - "additional_required_parameter": {}, - "additional_optional_string_parameter": { - Default: &tfbridge.DefaultInfo{ - Value: "default_value", - }, - "additional_optional_boolean_parameter": { - Default: &tfbridge.DefaultInfo{ - Value: true, - }, - // Renamed environment variables can be accounted for like so: - "apikey": { - Default: &tfbridge.DefaultInfo{ - EnvVars: []string{"FOO_API_KEY"}, - }, - ``` - -1. Build the provider binary and ensure there are no warnings about unmapped resources and no warnings about unmapped data sources: - - ```bash - make provider - ``` - - You may see warnings about documentation and examples, including "unexpected code snippets". These can be safely ignored for now. Pulumi will add additional documentation on mapping docs in a future revision of this guide. - -1. Build the SDKs in the various languages Pulumi supports: - - ```bash - make build_sdks - ``` - -1. Ensure the Golang SDK is a proper go module: - - ```bash - cd sdk && go mod tidy && cd - - ``` - - This will pull in the correct dependencies in `sdk/go.mod` as well as setting the dependency tree in `sdk/go.sum`. - -1. Finally, ensure the provider code conforms to Go standards: - - ```bash - make lint_provider - ``` - - Fix any issues found by the linter. - -**Note:** If you make revisions to code in `resources.go`, you must re-run the `make tfgen` target to regenerate the schema. -The `make tfgen` target will take the file `schema.json` and serialize it to a byte array so that it can be included in the build output. -(This is a holdover from Go 1.16, which does not have the ability to directly embed text files. We are working on removing the need for this step.) - -## Sample Program - -In this section, we will create a Pulumi program in TypeScript that utilizes the provider we created to ensure everything is working properly. - -1. Create an account with the provider's service and generate any necessary credentials, e.g. API keys. - - Email: bot@pulumi.com - - Password: (Create a random password in 1Password with the maximum length and complexity allowed by the provider.) - - Ensure all secrets (passwords, generated API keys) are stored in Pulumi's 1Password vault. - -1. Copy the `pulumi-resource-foo` binary generated by `make provider` and place it in your `$PATH` (`$GOPATH/bin` is a convenient choice), e.g.: - - ```bash - cp bin/pulumi-resource-foo $GOPATH/bin - ``` - -1. Tell Yarn to use your local copy of the SDK: - - ```bash - make install_nodejs_sdk - ``` - -1. Create a new Pulumi program in the `examples/` directory, e.g.: - - ```bash - mkdir examples/my-example/ts # Change "my-example" to something more meaningful. - cd examples/my-example/ts - pulumi new typescript - # (Go through the prompts with the default values) - npm install - yarn link @pulumi/foo - ``` - -1. Create a minimal program for the provider, i.e. one that creates the smallest-footprint resource. Place this code in `index.ts`. -1. Configure any necessary environment variables for authentication, e.g `$FOO_USERNAME`, `$FOO_TOKEN`, in your local environment. -1. Ensure the program runs successfully via `pulumi up`. -1. Once the program completes successfully, verify the resource was created in the provider's UI. -1. Destroy any resources created by the program via `pulumi destroy`. - -Optionally, you may create additional examples for SDKs in other languages supported by Pulumi: - -1. Python: - - ```bash - mkdir examples/my-example/py - cd examples/my-example/py - pulumi new python - # (Go through the prompts with the default values) - source venv/bin/activate # use the virtual Python env that Pulumi sets up for you - pip install pulumi_foo - ``` - -1. Follow the steps above to verify the program runs successfully. - -## Add End-to-end Testing - -We can run integration tests on our examples using the `*_test.go` files in the `examples/` folder. - -1. Add code to `examples_nodejs_test.go` to call the example you created, e.g.: - - ```go - // Swap out MyExample and "my-example" below with the name of your integration test. - func TestAccMyExampleTs(t *testing.T) { - test := getJSBaseOptions(t). - With(integration.ProgramTestOptions{ - Dir: filepath.Join(getCwd(t), "my-example", "ts"), - }) - integration.ProgramTest(t, &test) - } - ``` - -1. Add a similar function for each example that you want to run in an integration test. For examples written in other languages, create similar files for `examples_${LANGUAGE}_test.go`. - -1. You can run these tests locally via Make: - - ```bash - make test - ``` - - You can also run each test file separately via test tags: - - ```bash - cd examples && go test -v -tags=nodejs - ``` - -## Configuring CI with GitHub Actions - -### Third-party providers - -1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md). - -### Pulumi Internal - -In this section, we'll add the necessary configuration to work with GitHub Actions for Pulumi's standard CI/CD workflows for providers. - -1. Generate GitHub workflows per [the instructions in the ci-mgmt repository](https://github.com/pulumi/ci-mgmt/) and copy to `.github/` in this repository. - -1. Ensure that any required secrets are present as repository-level [secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) in GitHub. These will be used by the integration tests during the CI/CD process. - -1. Repository settings: Toggle `Allow auto-merge` on in your provider repo to automate GitHub Actions workflow updates. - -## Final Steps - -1. Ensure all required configurations (API keys, etc.) are documented in README-PROVIDER.md. - -1. Replace this file with the README for the provider and push your changes: - - ```bash - mv README-PROVIDER.md README.md - ``` - -1. If publishing the npm package fails during the "Publish SDKs" Action, perform the following steps: - 1. Go to [NPM Packages](https://www.npmjs.com/) and sign in as pulumi-bot. - 1. Click on the bot's profile pic and navigate to "Packages". - 1. On the left, under "Organizations, click on the Pulumi organization. - 1. On the last page of the listed packages, you should see the new package. - 1. Under "Settings", set the Package Status to "public". - -Now you are ready to use the provider, cut releases, and have some well-deserved :ice_cream:! - -## Building the Provider Locally - -There are 2 ways the provider can be built locally: - -`make provider` will use the current operating system and architecture to create a binary that can be used on your PATH. - -To build the provider for another set of operating systems / architectures, the project uses [goreleaser](https://goreleaser.com/). -Goreleaser, a CLI tool, that allows a user to build a matrix of binaries. - -Create a `.goreleaser.yml` file in the root of your project: - -```yaml - -archives: -- id: archive - name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}" -before: - hooks: - - make tfgen -builds: -- binary: pulumi-resource-xyz - dir: provider - goarch: - - amd64 - - arm64 - goos: - - darwin - - windows - - linux - ignore: [] - ldflags: - - -X github.com/pulumi/pulumi-xyz/provider/pkg/version.Version={{.Tag}} - main: ./cmd/pulumi-resource-xyz/ - sort: asc - use: git -release: - disable: false -snapshot: - name_template: "{{ .Tag }}-SNAPSHOT" -``` - -To build the provider for the combination of architectures and operating systems, you can run the following CLI command: +To use from Python, install using `pip`: ```bash -goreleaser build --rm-dist --skip-validate +pip install pulumi_rockset ``` -That will ensure that a list of binaries are available to use: +### Go -```bash +To use from Go, use `go get` to grab the latest version of the library: -▶ tree dist -dist -├── CHANGELOG.md -├── artifacts.json -├── config.yaml -├── metadata.json -├── pulumi-xyz_darwin_amd64_v1 -│ └── pulumi-resource-xyz -├── pulumi-xyz_darwin_arm64 -│ └── pulumi-resource-xyz -├── pulumi-xyz_linux_amd64_v1 -│ └── pulumi-resource-xyz -├── pulumi-xyz_linux_arm64 -│ └── pulumi-resource-xyz -├── pulumi-xyz_windows_amd64_v1 -│ └── pulumi-resource-xyz.exe -└── pulumi-xyz_windows_arm64 - └── pulumi-resource-xyz.exe -``` - -Any of the provider binaries can be used to target the correct machine architecture - -## The Shim Pattern - -If you receive the following error: `use of internal package github.com/example/terraform-provider-example/internal/provider not allowed`, you need to use -the shim model below, and replace the example item: - ```bash +go get github.com/ddn0/pulumi-rockset/sdk/go/... +``` -mkdir -p provider/shim -cat <<-EOF> provider/shim/go.mod -module github.com/example/terraform-provider-example/shim - -go 1.18 - -require github.com/hashicorp/terraform-plugin-sdk/v2 v2.22.0 -require github.com/example/terraform-provider-example v1.0.0 - -EOF - -cat <<-EOF> provider/shim/shim.go -package shim - -import ( - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/example/terraform-provider-example/internal/provider" -) - -// fix provider.Provider here to match whats in internal/provider -func Provider() *schema.Provider { - return provider.Provider() -} - -EOF - -cd provider/shim/ && go mod tidy && cd ../../ - -cat <> provider/go.mod -replace github.com/example/terraform-provider-example/shim => ./shim -require github.com/example/terraform-provider-example/shim v0.0.0 -EOF +## Configuration -cd provider && go mod tidy +The following configuration points are available for the `rockset` provider: -``` - \ No newline at end of file +- `rockset:apiKey` (environment: `ROCKSET_APIKEY`) - the API key for Rockset +- `rockset:apiServer` (environment: `ROCKSET_APISERVER`) - the API endpoint for the region in which to deploy resources diff --git a/deployment-templates/release.yml b/deployment-templates/release.yml deleted file mode 100644 index 2919255..0000000 --- a/deployment-templates/release.yml +++ /dev/null @@ -1,79 +0,0 @@ -name: release -on: - push: - tags: - - v*.*.* -env: - # THIS GITHUB_TOKEN IS A REQUIREMENT TO BE ABLE TO WRITE TO GH RELEASES - GITHUB_TOKEN: ${{ YOUR GITHUB TOKEN HERE }} - # IF YOU NEED TO PUBLISH A NPM PACKAGE THEN ENSURE A NPM_TOKEN SECRET IS SET - # AND PUBLISH_NPM: TRUE. IF YOU WANT TO PUBLISH TO A PRIVATE NPM REGISTRY - # THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED - NODE_AUTH_TOKEN: ${{ YOUR NPM TOKEN HERE }} - NPM_TOKEN: ${{ YOUR NPM TOKEN HERE }} - PUBLISH_NPM: true - NPM_REGISTRY_URL: https://registry.npmjs.org - # IF YOU NEED TO PUBLISH A NUGET PACKAGE THEN ENSURE AN NUGET_PUBLISH_KEY - # SECRET IS SET AND PUBLISH_NUGET: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE - # NPM REGISTRY THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED - NUGET_PUBLISH_KEY: ${{ YOUR NUGET PUBLISH KEY HERE }} - NUGET_FEED_URL: https://api.nuget.org/v3/index.json - PUBLISH_NUGET: true - # IF YOU NEED TO PUBLISH A PYPI PACKAGE SET PUBLISH_PYPI: TRUE AND CHANGE PYPI_PASSWORD, PYPI_USERNAME TO YOUR CREDENTIALS. - # IF YOU WANT TO PUBLISH TO AN ALTERNATIVE PYPI REGISTRY THEN ENSURE THE PYPI_REPOSITORY_URL IS SET. - PYPI_PASSWORD: ${{ YOUR PYPI PASSWORD HERE }} - PYPI_USERNAME: "YOUR PYPI USERNAME HERE" - PYPI_REPOSITORY_URL: "" - PUBLISH_PYPI: true -jobs: - publish_binary: - name: publish - runs-on: ubuntu-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v2 - - name: Unshallow clone for tags - run: git fetch --prune --unshallow --tags - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.5.0 - with: - repo: pulumi/pulumictl - - name: Set PreRelease Version - run: echo "GORELEASER_CURRENT_TAG=v$(pulumictl get version --language generic)" >> $GITHUB_ENV - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v2 - with: - args: -p 3 release --rm-dist - version: latest - strategy: - fail-fast: true - matrix: - goversion: - - 1.17.x - publish_sdk: - name: Publish SDKs - runs-on: ubuntu-latest - needs: publish_binary - steps: - - name: Publish SDKs - uses: pulumi/pulumi-package-publisher@v0.0.6 - strategy: - fail-fast: true - matrix: - dotnetversion: - - 3.1.301 - goversion: - - 1.17.x - language: - - nodejs - - python - - dotnet - - go - nodeversion: - - 14.x - pythonversion: - - "3.9" diff --git a/deployment-templates/README-DEPLOYMENT.md b/docs/release-process.md similarity index 100% rename from deployment-templates/README-DEPLOYMENT.md rename to docs/release-process.md diff --git a/examples/examples_nodejs_test.go b/examples/examples_nodejs_test.go index e63642f..2315eb7 100644 --- a/examples/examples_nodejs_test.go +++ b/examples/examples_nodejs_test.go @@ -4,7 +4,6 @@ package examples import ( - "path/filepath" "testing" "github.com/pulumi/pulumi/pkg/v3/testing/integration" @@ -14,7 +13,7 @@ func getJSBaseOptions(t *testing.T) integration.ProgramTestOptions { base := getBaseOptions() baseJS := base.With(integration.ProgramTestOptions{ Dependencies: []string{ - "@pulumi/foo", + "@pulumi/rockset", }, }) diff --git a/examples/go.mod b/examples/go.mod index 709bf5a..af81bf1 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,3 +1,5 @@ -module github.com/pulumi/pulumi-xyz/examples +module github.com/ddn0/pulumi-rockset/examples go 1.16 + +require github.com/pulumi/pulumi/pkg/v3 v3.96.2 // indirect diff --git a/examples/go.sum b/examples/go.sum new file mode 100644 index 0000000..14606b8 --- /dev/null +++ b/examples/go.sum @@ -0,0 +1,4193 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.39.0/go.mod h1:rVLT6fkc8chs9sfPtFc1SBH6em7n+ZoXaG+87tDISts= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.61.0/go.mod h1:XukKJg4Y7QsUu0Hxg3qQKUWR4VuWivmyMK2+rUyxAqw= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.88.0/go.mod h1:dnKwfYbP9hQhefiUvpbcAyoGSHUrOxR20JVElLiUvEY= +cloud.google.com/go v0.89.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.92.2/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.92.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.0/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.103.0/go.mod h1:vwLx1nqLrzLX/fpwSMOXmFIqBOyHsvHbnAdbGSJ+mKk= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= +cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= +cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= +cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= +cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= +cloud.google.com/go/kms v0.1.0/go.mod h1:8Qp8PCAypHg4FdmlyW1QRAv09BGQ9Uzh7JnmIZxPk+c= +cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= +cloud.google.com/go/kms v1.12.1 h1:xZmZuwy2cwzsocmKDOPu4BL7umg8QXagQx6fKVmf45U= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= +cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= +cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= +cloud.google.com/go/longrunning v0.5.1 h1:Fr7TXftcqTudoyRJa113hyaqlGdiBQkp0Gq7tErFDWI= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/monitoring v0.1.0/go.mod h1:Hpm3XfzJv+UTiXzCG5Ffp0wijzHTC7Cv4eR7o3x/fEE= +cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= +cloud.google.com/go/monitoring v1.5.0/go.mod h1:/o9y8NYX5j91JjD/JvGLYbi86kL11OjyJXq2XziLJu4= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= +cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= +cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.10.3/go.mod h1:FUcc28GpGxxACoklPsE1sCtbkY4Ix+ro7yvw+h82Jn4= +cloud.google.com/go/pubsub v1.16.0/go.mod h1:6A8EfoWZ/lUvCWStKGwAWauJZSiuV0Mkmu6WilK/TxQ= +cloud.google.com/go/pubsub v1.24.0/go.mod h1:rWv09Te1SsRpRGPiWOMDKraMQTJyJps4MkUCoMGUgqw= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= +cloud.google.com/go/secretmanager v0.1.0/go.mod h1:3nGKHvnzDUVit7U0S9KAKJ4aOsO1xtwRG+7ey5LK1bM= +cloud.google.com/go/secretmanager v1.5.0/go.mod h1:5C9kM+RwSpkURNovKySkNvGQLUaOgyoR5W0RUx2SyHQ= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= +cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.15.0/go.mod h1:mjjQMoxxyGH7Jr8K5qrx6N2O0AHsczI61sMNn03GIZI= +cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4= +cloud.google.com/go/storage v1.22.0/go.mod h1:GbaLEoMqbVm6sx3Z0R++gSiBlgMv6yUi2q1DeGFKQgE= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.24.0/go.mod h1:3xrJEFMXBsQLgxwThyjuD3aYlroL0TMRec1ypGUQ0KE= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= +cloud.google.com/go/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g= +cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= +cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= +cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= +code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= +contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= +contrib.go.opencensus.io/exporter/stackdriver v0.13.5/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= +contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= +contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= +contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= +github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= +github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= +github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible h1:bmmC38SlE8/E81nNADlgmVGurPWMHDX2YNXVQMrBpEE= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.0.2/go.mod h1:LH9XQnMr2ZYxQdVdCrzLO9mxeDyrDFa6wbSI3x5zCZk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1/go.mod h1:eZ4g6GUvXiGulfIbbhh1Xr4XwUYaYaWMqzGD/284wCA= +github.com/Azure/azure-service-bus-go v0.10.11/go.mod h1:AWw9eTTWZVZyvgpPahD1ybz3a8/vT3GsJDS8KYex55U= +github.com/Azure/azure-service-bus-go v0.10.16/go.mod h1:MlkLwGGf1ewcx5jZadn0gUEty+tTg0RaElr6bPf+QhI= +github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= +github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= +github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= +github.com/Azure/go-amqp v0.13.4/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= +github.com/Azure/go-amqp v0.13.7/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= +github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.17.0/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-amqp v0.17.5/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY= +github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= +github.com/Azure/go-autorest/autorest v0.11.25/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= +github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= +github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.21 h1:jjQnVFXPfekaqb8vIsv2G1lxshoW+oGv4MDlhRtnYZk= +github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.7/go.mod h1:AkzUsqkrdmNhfP2i54HqINVQopw0CLDnvHpJ88Zz1eI= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 h1:P6bYXFoao05z5uhOQzbC3Qd8JqF3jUoocoTeIxkp2cA= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.3/go.mod h1:yAQ2b6eP/CmLPnmLvxtT1ALIY3OR1oFcCqVBi8vHiTc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= +github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= +github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= +github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= +github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.22.0/go.mod h1:mAm5O/zik2RFmcpigNjg6nMotDL8ZXJaxKzgGVcSMFA= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.24.0/go.mod h1:3tx938GhY4FC+E1KT/jNjDw7Z5qxAEtIiERJ2sXjnII= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= +github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= +github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= +github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= +github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.298 h1:5qTxdubgV7PptZJmp/2qDwD2JL187ePL7VOxsSh1i3g= +github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.9.0/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= +github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= +github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= +github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= +github.com/aws/aws-sdk-go-v2/config v1.7.0/go.mod h1:w9+nMZ7soXCe5nT46Ri354SNhXDQ6v+V5wqDjnZE+GY= +github.com/aws/aws-sdk-go-v2/config v1.15.15 h1:yBV+J7Au5KZwOIrIYhYkTGJbifZPCkAnCFSvGsF3ui8= +github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= +github.com/aws/aws-sdk-go-v2/credentials v1.4.0/go.mod h1:dgGR+Qq7Wjcd4AOAW5Rf5Tnv3+x7ed6kETXyS9WCuAY= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10 h1:7gGcMQePejwiKoDWjB9cWnpfVdnz/e5JwJFuT6OrroI= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0/go.mod h1:CpNzHK9VEFUCknu50kkB8z58AH2B5DvPP7ea1LHve/Y= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9 h1:hz8tc+OW17YqxyFFPSkvfSikbqWcyyHRyPVSTzC0+aI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 h1:I3cakv2Uy1vNmmhRQmFptYDxOvBnwCdNwyw63N0RaRU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27/go.mod h1:a1/UpzeyBBerajpnP5nGZa9mGzsBn5cOKxm6NWQsvoI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 h1:5NbbMrIzmUn/TXFqAle6mgrH5m9cOvMLRGL7pnG8tRE= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21/go.mod h1:+Gxn8jYn5k9ebfHEqlhrMirFjSW0v0C9fI+KN5vk2kE= +github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2/go.mod h1:BQV0agm+JEhqR+2RT5e1XTFIDcAAV0eW6z2trp+iduw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16 h1:f0ySVcmQhwmzn7zQozd8wBM3yuGBfzdpsOaKQ0/Epzw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/service/iam v1.19.0/go.mod h1:OyAuvpFeSVNppcSsp1hFOVQcaTRc1LE24YIR7pMbbAA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0/go.mod h1:R1KK+vY8AfalhG1AOu5e35pOD2SdoPKQCFLTvnxiohk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9 h1:sHfDuhbOuuWSIAEDd3pma6p0JgUcR2iePxtCE8gfCxQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= +github.com/aws/aws-sdk-go-v2/service/kms v1.5.0/go.mod h1:w7JuP9Oq1IKMFQPkNe3V6s9rOssXzOVEMNEqK1L1bao= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAWMbFy+yIJ71xQBS0= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.6.0/go.mod h1:B+7C5UKdVq1ylkI/A6O8wcurFtaux0R1njePNPtKwoA= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= +github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.10.0/go.mod h1:4dXS5YNqI3SNbetQ7X7vfsMlX6ZnboJA2dulBwJx7+g= +github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= +github.com/aws/aws-sdk-go-v2/service/sso v1.4.0/go.mod h1:+1fpWnL96DL23aXPpMGbsmKe8jLTEfbjuQoA4WS1VaA= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13 h1:DQpf+al+aWozOEmVEdml67qkVZ6vdtGUi71BZZWw40k= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= +github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10 h1:7tquJrhjYz2EsCBvA9VTl+sBAAh1bv7h/sGASdZOGGo= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= +github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aymanbagabas/go-osc52 v1.0.3 h1:DTwqENW7X9arYimJrPeGZcV0ln14sGMt3pHZspWD+Mg= +github.com/aymanbagabas/go-osc52 v1.0.3/go.mod h1:zT8H+Rk4VSabYN90pWyugflM3ZhpTZNC7cASDfUCdT4= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= +github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +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/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= +github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.24.1/go.mod h1:rK3g/2+T8vOSEkNHvtq40umJpeVYDn6bLaqbgzhL/hg= +github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= +github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= +github.com/charmbracelet/glamour v0.6.0/go.mod h1:taqWV4swIMMbWALc0m7AfE9JkPSU8om2538k9ITBxOc= +github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set/v2 v2.5.0 h1:hn6cEZtQ0h3J8kFrHR/NrzyOoTnjgW1+FmNJzQ7y/sA= +github.com/deckarep/golang-set/v2 v2.5.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= +github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitalocean/godo v1.78.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/digitalocean/godo v1.81.0/go.mod h1:BPCqvwbjbGqxuUnIKB4EvS/AX7IDnNmt5fwvIkWo+ew= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= +github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/erikgeiser/promptkit v0.9.0/go.mod h1:pU9dtogSe3Jlc2AY77EP7R4WFP/vgD4v+iImC83KsCo= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= +github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= +github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= +github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.0.1/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= +github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= +github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.1.0/go.mod h1:ZKfuPUoY1ZqIG4QG9BDBh3G4gLM5zvPuSJAozQrZuyM= +github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-git/go-git/v5 v5.5.1/go.mod h1:uz5PQ3d0gz7mSgzZhSJToM6ALPaKCdSnl58/Xb5hzr8= +github.com/go-git/go-git/v5 v5.6.0/go.mod h1:6nmJ0tJ3N4noMV1Omv7rC5FG3/o8Cm51TB4CJp7mRmE= +github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY= +github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= +github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= +github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-replayers/grpcreplay v1.0.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= +github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= +github.com/google/go-replayers/httpreplay v0.1.2/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= +github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= +github.com/google/go-replayers/httpreplay v1.1.1/go.mod h1:gN9GeLIs7l6NUoVaSSnv2RiqK1NiwAmD0MrKeC9IIks= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20220318212150-b2ab0324ddda/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= +github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3/go.mod h1:gSuNB+gJaOiQKLEZ+q+PK9Mq3SOzhRcw2GsGS/FhYDk= +github.com/google/pprof v0.0.0-20230406165453-00490a63f317/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= +github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= +github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= +github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gophercloud/gophercloud v0.24.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gophercloud/gophercloud v0.25.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.2/go.mod h1:chrfS3YoLAlKTRE5cFWvCbt8uGAjshktT4PveTUpsFQ= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= +github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= +github.com/hashicorp/go-getter v1.4.2-0.20200106182914-9813cbd4eb02/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= +github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= +github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= +github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.5/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.6 h1:MDV3UrKQBM3du3G7MApDGvOsMYy3JQJ4exhSoKBAeVA= +github.com/hashicorp/go-plugin v1.4.6/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= +github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.5.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+TbOzkJJZ4vrXeI= +github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= +github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= +github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hcl/v2 v2.12.0/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.14.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= +github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= +github.com/hashicorp/terraform-exec v0.9.0/go.mod h1:tOT8j1J8rP05bZBGWXfMyU3HkLi1LWyqL3Bzsc3CJjo= +github.com/hashicorp/terraform-exec v0.17.2/go.mod h1:tuIbsL2l4MlwwIZx9HPM+LOV9vVyEfBYu2GsO1uH3/8= +github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-json v0.5.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= +github.com/hashicorp/terraform-plugin-go v0.12.0/go.mod h1:kwhmaWHNDvT1B3QiSJdAtrB/D4RaKSY/v3r2BuoWK4M= +github.com/hashicorp/terraform-plugin-go v0.14.1/go.mod h1:Bc/K6K26BQ2FHqIELPbpKtt2CzzbQou+0UQF3/0NsCQ= +github.com/hashicorp/terraform-plugin-log v0.6.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-log v0.7.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.0.2/go.mod h1:pVZLnLuSe/yv0XqTHFPb8xRGWPwgANT77jHeHqjXS5o= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0/go.mod h1:/WYikYjhKB7c2j1HmXZhRsAARldRb4M38bLCLOhC3so= +github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= +github.com/hashicorp/terraform-plugin-test/v2 v2.1.1/go.mod h1:HaW2G5cDTVyiEKt7PHC85YSM5BwvYl/rIko1g8Lg7qE= +github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c/go.mod h1:Wn3Na71knbXc1G8Lh+yu/dQWWJeFQEpDeJMtWMtlmNI= +github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= +github.com/hashicorp/vault/api v1.1.0/go.mod h1:R3Umvhlxi2TN7Ex2hzOowyeNb+SfbVWI973N+ctaFMk= +github.com/hashicorp/vault/api v1.1.1/go.mod h1:29UXcn/1cLOPHQNMWA7bCz2By4PSd0VKPAydKXS5yN0= +github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= +github.com/hashicorp/vault/api v1.8.2 h1:C7OL9YtOtwQbTKI9ogB0A1wffRbCN+rH/LLCHO3d8HM= +github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.2.0/go.mod h1:cAGI4nVnEfAyMeqt9oB+Mase8DNn3qA/LDNHURiwssY= +github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U= +github.com/hashicorp/vault/sdk v0.5.1/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.5.3/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.6.0/go.mod h1:+DRpzoXIdMvKc88R4qxr+edwy/RvH5QK8itmxLiDHLc= +github.com/hashicorp/vault/sdk v0.6.1 h1:sjZC1z4j5Rh2GXYbkxn5BLK05S1p7+MhW4AgdUmgRUA= +github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= +github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= +github.com/hexops/autogold v0.8.1/go.mod h1:97HLDXyG23akzAoRYJh/2OBs3kd80eHyKPvZw0S5ZBY= +github.com/hexops/autogold v1.3.0/go.mod h1:d4hwi2rid66Sag+BVuHgwakW/EmaFr8vdTSbWDbrDRI= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= +github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220517205856-0058ec4f073c/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ionos-cloud/sdk-go/v6 v6.1.0/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.12.1/go.mod h1:ZkhRC59Llhrq3oSfrikvwQ5NaxYExr6twkdkMLaKono= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.11.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.1.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linode/linodego v1.4.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= +github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/liquidgecka/testlib v0.0.0-20180123051607-561e6b271c63/go.mod h1:vwMPvLIhXhkJaBfsk/6l+eDuiQaIVHC0b6eCvUVBsB0= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM= +github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.1/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.4/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/moby v20.10.14+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v20.10.18+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v23.0.0+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v23.0.3+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.13.0/go.mod h1:sP1+uffeLaEYpyOTb8pLCUctGcGLnoFjSn4YJK5e2bc= +github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ= +github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= +github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/mxschmitt/golang-combinations v1.0.0/go.mod h1:RbMhWvfCelHR6WROvT2bVfxJvZHoEvBj71SKe+H0MYU= +github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= +github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= +github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= +github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= +github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= +github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= +github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc= +github.com/onsi/ginkgo/v2 v2.9.0/go.mod h1:4xkjoL/tZv4SMWeww56BU5kAt19mVB47gTWxmrTcxyk= +github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= +github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= +github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= +github.com/onsi/ginkgo/v2 v2.9.7/go.mod h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+M/1uw0= +github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= +github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= +github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= +github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= +github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw= +github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/onsi/gomega v1.27.7/go.mod h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4= +github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e/go.mod h1:EHPiTAKtiFmrMldLUNswFwfZ2eJIYBHktdaUTZxYWRw= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e/go.mod h1:WGwlmuPAiQTGQUjxyAfP7j4JgbgiFvFpI/qRtsQtS/4= +github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= +github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f/go.mod h1:fk4+YyTLi0Ap0CsL1HA70/tAs6evqw3hbPGdR8rD/3E= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= +github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/alertmanager v0.24.0/go.mod h1:r6fy/D7FRuZh5YbnX6J3MBY0eI4Pb5yPYS7/bPSXXqI= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common/assets v0.1.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/assets v0.2.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= +github.com/prometheus/exporter-toolkit v0.7.1/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= +github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +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.4.0/go.mod h1:1QdAYTzMrYKoylwDsWTbr99Kj3T0eJjNDfT9MBdBvCk= +github.com/pulumi/esc v0.5.6/go.mod h1:wpwNfVS5fV7Kd51j4dJ6FWYlKfxdqyppgp0gtkzqH04= +github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5 h1:1DJMji9F7XPea46bSuhy4/85n8J4/Mfz8PWLZtjKKiI= +github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5/go.mod h1:Y6W21yUukvxS2NnS5ae1beMSPhMvj0xNAYcDqDHVj/g= +github.com/pulumi/pulumi-java/pkg v0.1.0/go.mod h1:Dw5klQSJCD6hHaHN4BcCoOW+KjC6NafdBtDsy6sY6uc= +github.com/pulumi/pulumi-java/pkg v0.2.0/go.mod h1:LUz8JGS7Lxn2EnPkxFhB6Rap0CwZyHTHmwLQ16NFIhc= +github.com/pulumi/pulumi-java/pkg v0.4.0/go.mod h1:j3qzYXomeNTibPcInXJVdsaBuHYwv0ISmwTgR6q0hU0= +github.com/pulumi/pulumi-java/pkg v0.4.1/go.mod h1:j3qzYXomeNTibPcInXJVdsaBuHYwv0ISmwTgR6q0hU0= +github.com/pulumi/pulumi-java/pkg v0.4.2-0.20220706212453-8046ed6407d4/go.mod h1:kvPN1g2gzkGPsXp16/3C4a/OKo+NmPtBolK2DXd0I5Q= +github.com/pulumi/pulumi-java/pkg v0.5.0/go.mod h1:NQafG/kIAAm2zGkIi2Dc5tcMTUikDOSp22NynwehBbM= +github.com/pulumi/pulumi-java/pkg v0.5.4/go.mod h1:leMQvQ5IR3APhejwcWSfwZnkHosKHygKRaWkIyhsvtw= +github.com/pulumi/pulumi-java/pkg v0.6.0/go.mod h1:xSK2B792P8zjwYZTHYapMM1RJdue2BpRFQNYObWO0C8= +github.com/pulumi/pulumi-java/pkg v0.7.1/go.mod h1:XdN2jYNlcQewr0MFecZfBnY3gnGcvV+WoPTzQqH48k4= +github.com/pulumi/pulumi-java/pkg v0.8.0/go.mod h1:x7/J1GCJ+hHFBEgnMr4QpsTfjXUNHccAHJ9gvFfmAFU= +github.com/pulumi/pulumi-java/pkg v0.9.0/go.mod h1:eHpNTbf4n5X3YvqoDI/+cbVIkQaycBFdsvQb/24ykpc= +github.com/pulumi/pulumi-java/pkg v0.9.2/go.mod h1:+5V4jggi3063hksi28zYvLm42UWVg3VqpR6qGZraIdM= +github.com/pulumi/pulumi-java/pkg v0.9.6/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= +github.com/pulumi/pulumi-java/pkg v0.9.8/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= +github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221104131001-330791e758b8/go.mod h1:J3Jy0quNlS1bNZIFQK3dxUz34AR4FyWlTvdp20gD74A= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221130185552-52ef9a815fb9/go.mod h1:KwuxFDO7k2h3ZH5eTmd/zs3eQ5KlRTliI8vbAIdLcLI= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221206123933-cdc390c674b1/go.mod h1:KzJrUQo9GsWoQ6WDVCbzjnYoHUvhkjo4DjYv5NWfdc0= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.34.1-0.20221214173921-8e65b1f9fdd5/go.mod h1:ba1dLETCVZnmdavrrVfg9goz5CjhsqgRfF/NPkLTr28= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.43.0/go.mod h1:tyvu1G9JH1kMNzYYpODtTv/7fgK+ko174AEHn+uSJ0o= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.48.1-0.20230527113951-a0f92e793f31/go.mod h1:8ufh6u3Pl7/Jl0WHAPyMRG2OXPlELPuNJBvfl23OgGM= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= +github.com/pulumi/pulumi-yaml v0.3.0/go.mod h1:6pQ0QcQqLYbq+i5vYjir/gDnpCvTkKcHqB5+mt0d3So= +github.com/pulumi/pulumi-yaml v0.5.2/go.mod h1:VTgGg3z1WFYDeiwnq9rS3Y4qAysHiQS3M4X67wqo0RM= +github.com/pulumi/pulumi-yaml v0.5.3/go.mod h1:DVllQAk4eYy9rtDqykGyV/6WiFjzpg/j/k87GZRwV7g= +github.com/pulumi/pulumi-yaml v0.5.4/go.mod h1:e8BcP30yunk/u3mLXDykhtEQf8tTItYgQzPHDmRvJcg= +github.com/pulumi/pulumi-yaml v0.5.5/go.mod h1:erKneF31b8HYQFuy+B3RileYsaIDSzl32zLQaN92+p8= +github.com/pulumi/pulumi-yaml v0.5.9/go.mod h1:rJCp0HXvJGG+hs40wII9yYxuCeBBr2+e8FytW0YnINM= +github.com/pulumi/pulumi-yaml v0.5.10/go.mod h1:vxV5TdH3Xk5HRHNftcDXSbsZFJcJY9ME6k4zD+xw9OY= +github.com/pulumi/pulumi-yaml v1.0.1/go.mod h1:vxV5TdH3Xk5HRHNftcDXSbsZFJcJY9ME6k4zD+xw9OY= +github.com/pulumi/pulumi-yaml v1.0.2/go.mod h1:FKly+y0x5onXHEZALNnFglr6ZZnro4Y/jlN4sYLKYeM= +github.com/pulumi/pulumi-yaml v1.0.3/go.mod h1:KLFTyADnoNoPU9djMyRvXymrTH2SCBg9wnXaapuggEA= +github.com/pulumi/pulumi-yaml v1.0.4/go.mod h1:Szj8ud4Vqyq3oO1n3kzIUfaP3AiCjYZM4FYjOVWwJn8= +github.com/pulumi/pulumi-yaml v1.1.1/go.mod h1:GhpdS6rFpwqvUtKdA+fQy8P28iNvncng39IXh5q68vE= +github.com/pulumi/pulumi-yaml v1.2.2/go.mod h1:EgakC7b/4+VBNnlgM1RZIea2gUstV8s/7bdFJZt0P64= +github.com/pulumi/pulumi-yaml v1.4.3/go.mod h1:1hwsXFnT7hm2ZeftY5fzjkngjs2eT/rv9MsPE48Leb4= +github.com/pulumi/pulumi/pkg/v3 v3.26.0/go.mod h1:L9E+MXe05AbrSmX1GjX3jIrVNpE2RrauKEjME+BNzi4= +github.com/pulumi/pulumi/pkg/v3 v3.31.1-0.20220429232336-81582c4dcb93/go.mod h1:bO/BHZJoG2Mm8C3dxP414vLPvjxFfsetPE3Ep7Ffgro= +github.com/pulumi/pulumi/pkg/v3 v3.32.1/go.mod h1:TNPDg+H4Mzy5ldOJNpkzqPYTuYH8ehorPFtnQd3pRUU= +github.com/pulumi/pulumi/pkg/v3 v3.33.2-0.20220523224435-36cbf572f457/go.mod h1:5dxG2MKx/TrYtMbQsCA5+9X52s+O7+mCJiYsyDZpRU8= +github.com/pulumi/pulumi/pkg/v3 v3.33.3-0.20220601044734-8c3b8ab96f3e/go.mod h1:L6pQPxfwzQ844F0xaPSwBTijOApmiLoGonpuphShQt4= +github.com/pulumi/pulumi/pkg/v3 v3.35.2/go.mod h1:iG3QYKolhUXYzevuHLCvA2AmdUbZ7cppZbtRf2NqZqY= +github.com/pulumi/pulumi/pkg/v3 v3.35.3/go.mod h1:/ItZHWjJ8l/HvuEQIFlbVAgl4Pi2TkwaaGk3tmKKIUg= +github.com/pulumi/pulumi/pkg/v3 v3.35.4-0.20220706194433-bf578c5d4a27/go.mod h1:YBsDAVIqMLmib0r4YjpgsKc91CszlS64Z6UUEaKtkCE= +github.com/pulumi/pulumi/pkg/v3 v3.35.4-0.20220707201547-515cf6191cb9/go.mod h1:ZOJG8uFLbc89MNIyLtXONhllRRhmTK0+WkF6hfrefd0= +github.com/pulumi/pulumi/pkg/v3 v3.36.1-0.20220725155140-d69eea638451/go.mod h1:W6+hMuAfpcsQONfi3e/El4yavNNeER7NDpGS29dQHVQ= +github.com/pulumi/pulumi/pkg/v3 v3.37.3-0.20220809202049-8441ea2eeefd/go.mod h1:fqioE6+15BcfbrwtMbatflfCSZtKtjJe2t+z6itTkt0= +github.com/pulumi/pulumi/pkg/v3 v3.38.1-0.20220825161912-0fc18cbafb78/go.mod h1:b1VnAnwsu+rLwFSZJ6Awxl8czGpypf1QeNCiBinLC00= +github.com/pulumi/pulumi/pkg/v3 v3.40.1/go.mod h1:Of6sFHjTHQGIFqUoXOu2fG/H+HzR4bQRDNTUZZrIvUY= +github.com/pulumi/pulumi/pkg/v3 v3.42.1-0.20221010121757-adef574983fa/go.mod h1:613f45hSUcSIc7Z3XpSyzFLk+SHZcE8tdffbs3D0xYY= +github.com/pulumi/pulumi/pkg/v3 v3.44.2/go.mod h1:ZPmdEFaa4IT0RWIvLxP61SidP91X+WRtpvIXP+fENkE= +github.com/pulumi/pulumi/pkg/v3 v3.46.0/go.mod h1:ac2TXo6SE0H+1iJyp3JttNE8wmuTU0XF/UcuAtYW3Rs= +github.com/pulumi/pulumi/pkg/v3 v3.46.1/go.mod h1:Rebr+SHHGtTu2w7VURQZDEUYDhtvjECoovIfh9TYHQU= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221129095827-e43e98e5a7ab/go.mod h1:9f7Mbv0amXUNDbvG6jHJ4SaGLMEhXseW2KwjDTqvRAo= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221205185749-86e7d56df231/go.mod h1:fCqwy4EYIamxchIckgUJBZIvQf3AA3JcLSUR2mWIho4= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221207010559-e812f69ba562/go.mod h1:fCqwy4EYIamxchIckgUJBZIvQf3AA3JcLSUR2mWIho4= +github.com/pulumi/pulumi/pkg/v3 v3.49.0/go.mod h1:4metm4SXH718jHxL3kQwWTzyJMFEVARH4L5zF1qnCek= +github.com/pulumi/pulumi/pkg/v3 v3.49.1-0.20221210190028-cbf32d1940fa/go.mod h1:4metm4SXH718jHxL3kQwWTzyJMFEVARH4L5zF1qnCek= +github.com/pulumi/pulumi/pkg/v3 v3.53.1/go.mod h1:XqciW5mPO8RxBEbN2/My9XjO829UQ2cHuhVLfoKM/yE= +github.com/pulumi/pulumi/pkg/v3 v3.55.0/go.mod h1:uSh5p2+ZVvVT+SCddfla2g92ImHqBu2gZDCqmXI+r/8= +github.com/pulumi/pulumi/pkg/v3 v3.56.0/go.mod h1:l91pIemOEbGBX2tIoVb3r4YlIv3BoTBvyVpECFsVZ3c= +github.com/pulumi/pulumi/pkg/v3 v3.59.0/go.mod h1:whC7X+KJOqKcZtcUWypaOhYuQJitnF+32TQQAa5sgIU= +github.com/pulumi/pulumi/pkg/v3 v3.66.0/go.mod h1:Ns4GxBLXW8arENazM3gjRA++Gp5cPXFsF9obEEdomLU= +github.com/pulumi/pulumi/pkg/v3 v3.69.0/go.mod h1:GbsJqE2bGotPY+mj07LKlpps9ZzAlV7qRQ/u77kw9yk= +github.com/pulumi/pulumi/pkg/v3 v3.76.1/go.mod h1:DnDxyPUhLJv334MdPIIGYD0V7i7fVb7j9AvYf18MI6w= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20230926151835-2b44cf6ec1be/go.mod h1:jNgGFnA/dHm9jrd+ROeXMIBoWICS27U4EOjUqL8EP08= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231010213836-fd8c4dd81928/go.mod h1:6Fcjl5pVXv4ctBuluuDIYdq8DHc9da3erQJ1NI+ha94= +github.com/pulumi/pulumi/pkg/v3 v3.91.0/go.mod h1:sbx8Y+s6PJAronV8cs+V2OuRmUPGBLZzn9ciHumm9kw= +github.com/pulumi/pulumi/pkg/v3 v3.96.2 h1:d+zDsh4K1j90q/upDRkhgxHkspP20Xxd3g6OaMbw574= +github.com/pulumi/pulumi/pkg/v3 v3.96.2/go.mod h1:lR+q06XrnEqRzJXZ6IeHb4nu+U5fswFcc51Q0MRBTio= +github.com/pulumi/pulumi/sdk/v3 v3.26.0/go.mod h1:VsxW+TGv2VBLe/MeqsAr9r0zKzK/gbAhFT9QxYr24cY= +github.com/pulumi/pulumi/sdk/v3 v3.28.0/go.mod h1:Oe6AnW5MjJE5X2UJeqeXm1Al7qahdLVhIPeiKuoqxAw= +github.com/pulumi/pulumi/sdk/v3 v3.31.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.32.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.2-0.20220523224435-36cbf572f457/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.2/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.3-0.20220601044734-8c3b8ab96f3e/go.mod h1:sF9VfTkwRXYNk/gCR7ICd79VDC8WcsyVq37/sb8sV5A= +github.com/pulumi/pulumi/sdk/v3 v3.35.2/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.3/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.4-0.20220706194433-bf578c5d4a27/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.4-0.20220707201547-515cf6191cb9/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.36.0/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.36.1-0.20220725155140-d69eea638451/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.37.2/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.37.3-0.20220809202049-8441ea2eeefd/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/pulumi/pulumi/sdk/v3 v3.38.0/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/pulumi/pulumi/sdk/v3 v3.38.1-0.20220825161912-0fc18cbafb78/go.mod h1:Fw52iyR/4T9xWm7cTcshy4rGEXyPwhXKKEalczKZ8RY= +github.com/pulumi/pulumi/sdk/v3 v3.40.1/go.mod h1:tSNA8Z+GnEjMxH+qtrfcwpmOQj7mTPTAmJUhwvuox5I= +github.com/pulumi/pulumi/sdk/v3 v3.42.0/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.42.1-0.20221010121757-adef574983fa/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.44.2/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.46.0/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.46.1/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.0/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221129095827-e43e98e5a7ab/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221205185749-86e7d56df231/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221207010559-e812f69ba562/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.49.0/go.mod h1:58NOiU6vEdA0S8KFiFt4/eqH7vKtWhDFsEGCUFRBovw= +github.com/pulumi/pulumi/sdk/v3 v3.49.1-0.20221210190028-cbf32d1940fa/go.mod h1:58NOiU6vEdA0S8KFiFt4/eqH7vKtWhDFsEGCUFRBovw= +github.com/pulumi/pulumi/sdk/v3 v3.53.1/go.mod h1:IYcBrkAwKEGRVq7R1ne3XJKB5bcux5eL3M/zqco7d6Y= +github.com/pulumi/pulumi/sdk/v3 v3.55.0/go.mod h1:sDKcGZ9ChAy1zHYtzEsHyXzD8AvgiKVyQUc8lgzuGhY= +github.com/pulumi/pulumi/sdk/v3 v3.56.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/pulumi/sdk/v3 v3.59.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/pulumi/sdk/v3 v3.66.0/go.mod h1:hK2uQnf2SwwvCcaAco3l9+g5mGOkRfR7uqUaZpY/fD8= +github.com/pulumi/pulumi/sdk/v3 v3.69.0/go.mod h1:BUUBfQZsH0FPuznRfFHkR+b96VlXELnn+DgidFj4XSQ= +github.com/pulumi/pulumi/sdk/v3 v3.76.1/go.mod h1:HiE9Wf+DVrg8Em1D6bxRCdDMsNkj8//vLCST73xH2Hc= +github.com/pulumi/pulumi/sdk/v3 v3.85.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= +github.com/pulumi/pulumi/sdk/v3 v3.85.1-0.20230926151835-2b44cf6ec1be/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= +github.com/pulumi/pulumi/sdk/v3 v3.88.0/go.mod h1:M2j1xLl93+NYHtyprVK9Tdyxbnjs4AivPuAKqm5goCo= +github.com/pulumi/pulumi/sdk/v3 v3.88.1-0.20231010213836-fd8c4dd81928/go.mod h1:M2j1xLl93+NYHtyprVK9Tdyxbnjs4AivPuAKqm5goCo= +github.com/pulumi/pulumi/sdk/v3 v3.91.0/go.mod h1:zYaQQibB2pYKy/uG4c4YkX7lQIBpZ0KsuMaq/3HsIBQ= +github.com/pulumi/pulumi/sdk/v3 v3.96.2 h1:q5ZKdf+e9JR+a6Eiueg0Ohy6jCQGk9pO2V7xI/qGP3I= +github.com/pulumi/pulumi/sdk/v3 v3.96.2/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= +github.com/pulumi/schema-tools v0.1.0/go.mod h1:feL1siLWdcCNUm+irXoHyNHbGaqoX7pfYojpGZe2ziY= +github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= +github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= +github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shirou/gopsutil v3.21.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= +github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:tNZjgbYncKL5HxvDULAr/mWDmFz4B7H8yrXEDlnoIiw= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= +github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tklauser/go-sysconf v0.3.8/go.mod h1:z4zYWRS+X53WUKtBcmDg1comV3fPhdQnzasnIHUoLDU= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= +github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= +github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= +github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= +github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= +github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= +github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= +github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.5.2/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ= +github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= +github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.3.1/go.mod h1:YO23e2L18AG+ZYQfSobnY4G65nvwvprPCxBHkufUH1k= +github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1/go.mod h1:NEu79Xo32iVb+0gVNV8PMd7GoWqnyDXRlj04yFjqz40= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1/go.mod h1:YJ/JbY5ag/tSQFXzH3mtDmHqzF3aFn3DI/aB1n7pt4w= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.6.1/go.mod h1:UJJXJj0rltNIemDMwkOJyggsvyMG9QHfJeFH0HS5JjM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.6.1/go.mod h1:DAKwdo06hFLc0U88O10x4xnb5sc7dDRDqRuiN+io8JE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0/go.mod h1:aFXT9Ng2seM9eizF+LfKiyPBGy8xIZKwhusC1gIu3hA= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.pennock.tech/tabular v1.1.3/go.mod h1:UzyxF5itNqTCS1ZGXfwDwbFgYj/lS+e67Fid68QOYZ0= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +gocloud.dev v0.23.0/go.mod h1:zklCCIIo1N9ELkU2S2E7tW8P8eeMU7oGLeQCXdDwx9Q= +gocloud.dev v0.24.0/go.mod h1:uA+als++iBX5ShuG4upQo/3Zoz49iIPlYUWHV5mM8w8= +gocloud.dev v0.27.0 h1:j0WTUsnKTxCsWO7y8T+YCiBZUmLl9w/WIowqAY3yo0g= +gocloud.dev v0.27.0/go.mod h1:YlYKhYsY5/1JdHGWQDkAuqkezVKowu7qbe9aIeUF6p0= +gocloud.dev/secrets/hashivault v0.23.0/go.mod h1:JkedtcYw0IqNMru0glghf+dkoszG0WFjal3PCpucxBs= +gocloud.dev/secrets/hashivault v0.24.0/go.mod h1:I4EieZgy8VTp5iVK2jSPlTidjENujhKq2Y/wXz8r8V0= +gocloud.dev/secrets/hashivault v0.27.0 h1:AAeGJXr0tiHHJgg5tL8atOGktB4eK9EJAqkZbPKAcOo= +gocloud.dev/secrets/hashivault v0.27.0/go.mod h1:offqsI5oj0B0bVHZdfk/88uIb3NnN93ia8py0yvRlHY= +golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/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.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210420210106-798c2154c571/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220628200809-02e64fa58f26/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210218084038-e8e29180ff58/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= +golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200608174601-1b747fd94509/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= +golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +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= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.37.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA= +google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.52.0/go.mod h1:Him/adpjt0sxtkWViy0b6xyKW/SD71CwdJ7HqJo7SrU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.86.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.91.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= +google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= +google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210420162539-3c870d7478d2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210423144448-3a41ef94ed2b/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210721163202-f1cecdd8b78a/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e h1:xIXmWJ303kJCuogpj0bHq+dcjcZHU+XFyc1I0Yl9cRg= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= +gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= +gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= +gopkg.in/telebot.v3 v3.0.0/go.mod h1:7rExV8/0mDDNu9epSrDm/8j22KLaActH1Tbee6YjzWg= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= +k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= +k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= +modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= +modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA= +modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0= +modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= +modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= +modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +mvdan.cc/editorconfig v0.2.0/go.mod h1:lvnnD3BNdBYkhq+B4uBuFFKatfp02eB6HixDvEz91C0= +mvdan.cc/gofumpt v0.0.0-20210107193838-d24d34e18d44/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/sh/v3 v3.7.0/go.mod h1:K2gwkaesF/D7av7Kxl0HbF5kGOd2ArupNTX3X44+8l8= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k= diff --git a/provider/cmd/pulumi-resource-xyz/.gitignore b/provider/cmd/pulumi-resource-rockset/.gitignore similarity index 100% rename from provider/cmd/pulumi-resource-xyz/.gitignore rename to provider/cmd/pulumi-resource-rockset/.gitignore diff --git a/provider/cmd/pulumi-resource-rockset/Pulumi.yaml b/provider/cmd/pulumi-resource-rockset/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/provider/cmd/pulumi-resource-rockset/bridge-metadata.json b/provider/cmd/pulumi-resource-rockset/bridge-metadata.json new file mode 100644 index 0000000..0516158 --- /dev/null +++ b/provider/cmd/pulumi-resource-rockset/bridge-metadata.json @@ -0,0 +1,499 @@ +{ + "auto-aliasing": { + "resources": { + "rockset_alias": { + "current": "rockset:index/alias:Alias", + "fields": { + "collections": { + "maxItemsOne": true + } + } + }, + "rockset_api_key": { + "current": "rockset:index/apiKey:ApiKey" + }, + "rockset_collection": { + "current": "rockset:index/collection:Collection" + }, + "rockset_collection_mount": { + "current": "rockset:index/collectionMount:CollectionMount" + }, + "rockset_dynamodb_collection": { + "current": "rockset:index/dynamodbCollection:DynamodbCollection", + "fields": { + "source": { + "maxItemsOne": false + } + } + }, + "rockset_dynamodb_integration": { + "current": "rockset:index/dynamodbIntegration:DynamodbIntegration" + }, + "rockset_gcs_collection": { + "current": "rockset:index/gcsCollection:GcsCollection", + "fields": { + "source": { + "maxItemsOne": false, + "elem": { + "fields": { + "csv": { + "maxItemsOne": true, + "elem": { + "fields": { + "column_names": { + "maxItemsOne": false + }, + "column_types": { + "maxItemsOne": false + } + } + } + }, + "xml": { + "maxItemsOne": true + } + } + } + } + } + }, + "rockset_gcs_integration": { + "current": "rockset:index/gcsIntegration:GcsIntegration" + }, + "rockset_kafka_collection": { + "current": "rockset:index/kafkaCollection:KafkaCollection", + "fields": { + "source": { + "maxItemsOne": false, + "elem": { + "fields": { + "status": { + "maxItemsOne": false, + "elem": { + "fields": { + "partitions": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, + "rockset_kafka_integration": { + "current": "rockset:index/kafkaIntegration:KafkaIntegration", + "fields": { + "kafka_topic_names": { + "maxItemsOne": false + } + } + }, + "rockset_kinesis_collection": { + "current": "rockset:index/kinesisCollection:KinesisCollection", + "fields": { + "source": { + "maxItemsOne": false, + "elem": { + "fields": { + "dms_primary_key": { + "maxItemsOne": false + } + } + } + } + } + }, + "rockset_kinesis_integration": { + "current": "rockset:index/kinesisIntegration:KinesisIntegration" + }, + "rockset_mongodb_collection": { + "current": "rockset:index/mongodbCollection:MongodbCollection", + "fields": { + "source": { + "maxItemsOne": false + } + } + }, + "rockset_mongodb_integration": { + "current": "rockset:index/mongodbIntegration:MongodbIntegration" + }, + "rockset_query_lambda": { + "current": "rockset:index/queryLambda:QueryLambda", + "fields": { + "sql": { + "maxItemsOne": false, + "elem": { + "fields": { + "default_parameter": { + "maxItemsOne": false + } + } + } + } + } + }, + "rockset_query_lambda_tag": { + "current": "rockset:index/queryLambdaTag:QueryLambdaTag" + }, + "rockset_role": { + "current": "rockset:index/role:Role", + "fields": { + "privilege": { + "maxItemsOne": false + } + } + }, + "rockset_s3_collection": { + "current": "rockset:index/s3Collection:S3Collection", + "fields": { + "source": { + "maxItemsOne": false, + "elem": { + "fields": { + "csv": { + "maxItemsOne": true, + "elem": { + "fields": { + "column_names": { + "maxItemsOne": false + }, + "column_types": { + "maxItemsOne": false + } + } + } + }, + "xml": { + "maxItemsOne": true + } + } + } + } + } + }, + "rockset_s3_integration": { + "current": "rockset:index/s3Integration:S3Integration" + }, + "rockset_user": { + "current": "rockset:index/user:User", + "fields": { + "roles": { + "maxItemsOne": false + } + } + }, + "rockset_view": { + "current": "rockset:index/view:View" + }, + "rockset_virtual_instance": { + "current": "rockset:index/virtualInstance:VirtualInstance" + }, + "rockset_workspace": { + "current": "rockset:index/workspace:Workspace" + } + }, + "datasources": { + "rockset_account": { + "current": "rockset:index/getAccount:getAccount", + "fields": { + "clusters": { + "maxItemsOne": false + } + } + }, + "rockset_query_lambda_tag": { + "current": "rockset:index/getQueryLambdaTag:getQueryLambdaTag" + }, + "rockset_user": { + "current": "rockset:index/getUser:getUser", + "fields": { + "roles": { + "maxItemsOne": false + } + } + }, + "rockset_virtual_instance": { + "current": "rockset:index/getVirtualInstance:getVirtualInstance" + }, + "rockset_workspace": { + "current": "rockset:index/getWorkspace:getWorkspace" + } + } + }, + "renames": { + "resources": { + "rockset:index/alias:Alias": "rockset_alias", + "rockset:index/apiKey:ApiKey": "rockset_api_key", + "rockset:index/collection:Collection": "rockset_collection", + "rockset:index/collectionMount:CollectionMount": "rockset_collection_mount", + "rockset:index/dynamodbCollection:DynamodbCollection": "rockset_dynamodb_collection", + "rockset:index/dynamodbIntegration:DynamodbIntegration": "rockset_dynamodb_integration", + "rockset:index/gcsCollection:GcsCollection": "rockset_gcs_collection", + "rockset:index/gcsIntegration:GcsIntegration": "rockset_gcs_integration", + "rockset:index/kafkaCollection:KafkaCollection": "rockset_kafka_collection", + "rockset:index/kafkaIntegration:KafkaIntegration": "rockset_kafka_integration", + "rockset:index/kinesisCollection:KinesisCollection": "rockset_kinesis_collection", + "rockset:index/kinesisIntegration:KinesisIntegration": "rockset_kinesis_integration", + "rockset:index/mongodbCollection:MongodbCollection": "rockset_mongodb_collection", + "rockset:index/mongodbIntegration:MongodbIntegration": "rockset_mongodb_integration", + "rockset:index/queryLambda:QueryLambda": "rockset_query_lambda", + "rockset:index/queryLambdaTag:QueryLambdaTag": "rockset_query_lambda_tag", + "rockset:index/role:Role": "rockset_role", + "rockset:index/s3Collection:S3Collection": "rockset_s3_collection", + "rockset:index/s3Integration:S3Integration": "rockset_s3_integration", + "rockset:index/user:User": "rockset_user", + "rockset:index/view:View": "rockset_view", + "rockset:index/virtualInstance:VirtualInstance": "rockset_virtual_instance", + "rockset:index/workspace:Workspace": "rockset_workspace" + }, + "functions": { + "rockset:index/getAccount:getAccount": "rockset_account", + "rockset:index/getQueryLambdaTag:getQueryLambdaTag": "rockset_query_lambda_tag", + "rockset:index/getUser:getUser": "rockset_user", + "rockset:index/getVirtualInstance:getVirtualInstance": "rockset_virtual_instance", + "rockset:index/getWorkspace:getWorkspace": "rockset_workspace" + }, + "renamedProperties": { + "rockset:index/DynamodbCollectionSource:DynamodbCollectionSource": { + "awsRegion": "aws_region", + "integrationName": "integration_name", + "scanEndTime": "scan_end_time", + "scanRecordsProcessed": "scan_records_processed", + "scanStartTime": "scan_start_time", + "scanTotalRecords": "scan_total_records", + "streamLastProcessedAt": "stream_last_processed_at", + "tableName": "table_name", + "useScanApi": "use_scan_api" + }, + "rockset:index/GcsCollectionSource:GcsCollectionSource": { + "integrationName": "integration_name" + }, + "rockset:index/GcsCollectionSourceCsv:GcsCollectionSourceCsv": { + "columnNames": "column_names", + "columnTypes": "column_types", + "escapeChar": "escape_char", + "firstLineAsColumnNames": "first_line_as_column_names", + "quoteChar": "quote_char" + }, + "rockset:index/GcsCollectionSourceXml:GcsCollectionSourceXml": { + "attributePrefix": "attribute_prefix", + "docTag": "doc_tag", + "rootTag": "root_tag", + "valueTag": "value_tag" + }, + "rockset:index/KafkaCollectionSource:KafkaCollectionSource": { + "consumerGroupId": "consumer_group_id", + "integrationName": "integration_name", + "offsetResetPolicy": "offset_reset_policy", + "statuses": "status", + "topicName": "topic_name", + "useV3": "use_v3" + }, + "rockset:index/KafkaCollectionSourceStatus:KafkaCollectionSourceStatus": { + "documentsProcessed": "documents_processed", + "lastConsumedTime": "last_consumed_time" + }, + "rockset:index/KafkaCollectionSourceStatusPartition:KafkaCollectionSourceStatusPartition": { + "offsetLag": "offset_lag", + "partitionNumber": "partition_number", + "partitionOffset": "partition_offset" + }, + "rockset:index/KinesisCollectionSource:KinesisCollectionSource": { + "awsRegion": "aws_region", + "dmsPrimaryKeys": "dms_primary_key", + "integrationName": "integration_name", + "streamName": "stream_name" + }, + "rockset:index/MongodbCollectionSource:MongodbCollectionSource": { + "collectionName": "collection_name", + "databaseName": "database_name", + "integrationName": "integration_name", + "retrieveFullDocument": "retrieve_full_document", + "scanEndTime": "scan_end_time", + "scanRecordsProcessed": "scan_records_processed", + "scanStartTime": "scan_start_time", + "scanTotalRecords": "scan_total_records", + "streamLastDeleteProcessedAt": "stream_last_delete_processed_at", + "streamLastInsertProcessedAt": "stream_last_insert_processed_at", + "streamLastUpdateProcessedAt": "stream_last_update_processed_at", + "streamRecordsDeleted": "stream_records_deleted", + "streamRecordsInserted": "stream_records_inserted", + "streamRecordsUpdated": "stream_records_updated" + }, + "rockset:index/QueryLambdaSql:QueryLambdaSql": { + "defaultParameters": "default_parameter" + }, + "rockset:index/RolePrivilege:RolePrivilege": { + "resourceName": "resource_name" + }, + "rockset:index/S3CollectionSource:S3CollectionSource": { + "integrationName": "integration_name" + }, + "rockset:index/S3CollectionSourceCsv:S3CollectionSourceCsv": { + "columnNames": "column_names", + "columnTypes": "column_types", + "escapeChar": "escape_char", + "firstLineAsColumnNames": "first_line_as_column_names", + "quoteChar": "quote_char" + }, + "rockset:index/S3CollectionSourceXml:S3CollectionSourceXml": { + "attributePrefix": "attribute_prefix", + "docTag": "doc_tag", + "rootTag": "root_tag", + "valueTag": "value_tag" + }, + "rockset:index/collection:Collection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/collectionMount:CollectionMount": { + "createdAt": "created_at", + "lastRefreshTime": "last_refresh_time", + "snapshotExpirationTime": "snapshot_expiration_time", + "virtualInstanceId": "virtual_instance_id", + "virtualInstanceRrn": "virtual_instance_rrn" + }, + "rockset:index/dynamodbCollection:DynamodbCollection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "sources": "source", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/dynamodbIntegration:DynamodbIntegration": { + "awsRoleArn": "aws_role_arn", + "s3ExportBucketName": "s3_export_bucket_name" + }, + "rockset:index/gcsCollection:GcsCollection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "sources": "source", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/gcsIntegration:GcsIntegration": { + "serviceAccountKey": "service_account_key" + }, + "rockset:index/getAccount:getAccount": { + "accountId": "account_id", + "externalId": "external_id", + "rocksetUser": "rockset_user" + }, + "rockset:index/getAccountCluster:getAccountCluster": { + "apiServer": "api_server", + "awsRegion": "aws_region" + }, + "rockset:index/getQueryLambdaTag:getQueryLambdaTag": { + "lastExecuted": "last_executed" + }, + "rockset:index/getUser:getUser": { + "firstName": "first_name", + "lastName": "last_name" + }, + "rockset:index/getVirtualInstance:getVirtualInstance": { + "autoSuspendSeconds": "auto_suspend_seconds", + "currentSize": "current_size", + "desiredSize": "desired_size", + "enableRemountOnResume": "enable_remount_on_resume", + "mountRefreshIntervalSeconds": "mount_refresh_interval_seconds" + }, + "rockset:index/getWorkspace:getWorkspace": { + "collectionCount": "collection_count", + "createdAt": "created_at", + "createdBy": "created_by" + }, + "rockset:index/kafkaCollection:KafkaCollection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "sources": "source", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/kafkaIntegration:KafkaIntegration": { + "bootstrapServers": "bootstrap_servers", + "connectionString": "connection_string", + "kafkaDataFormat": "kafka_data_format", + "kafkaTopicNames": "kafka_topic_names", + "schemaRegistryConfig": "schema_registry_config", + "securityConfig": "security_config", + "useV3": "use_v3", + "waitForIntegration": "wait_for_integration" + }, + "rockset:index/kinesisCollection:KinesisCollection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "sources": "source", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/kinesisIntegration:KinesisIntegration": { + "awsRoleArn": "aws_role_arn" + }, + "rockset:index/mongodbCollection:MongodbCollection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "sources": "source", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/mongodbIntegration:MongodbIntegration": { + "connectionUri": "connection_uri" + }, + "rockset:index/queryLambda:QueryLambda": { + "sqls": "sql" + }, + "rockset:index/queryLambdaTag:QueryLambdaTag": { + "queryLambda": "query_lambda" + }, + "rockset:index/role:Role": { + "createdAt": "created_at", + "createdBy": "created_by", + "ownerEmail": "owner_email", + "privileges": "privilege" + }, + "rockset:index/s3Collection:S3Collection": { + "ingestTransformation": "ingest_transformation", + "retentionSecs": "retention_secs", + "sources": "source", + "waitForCollection": "wait_for_collection", + "waitForDocuments": "wait_for_documents" + }, + "rockset:index/s3Integration:S3Integration": { + "awsRoleArn": "aws_role_arn" + }, + "rockset:index/user:User": { + "createdAt": "created_at", + "firstName": "first_name", + "lastName": "last_name" + }, + "rockset:index/view:View": { + "createdBy": "created_by" + }, + "rockset:index/virtualInstance:VirtualInstance": { + "autoSuspendSeconds": "auto_suspend_seconds", + "currentSize": "current_size", + "desiredSize": "desired_size", + "monitoringEnabled": "monitoring_enabled", + "mountRefreshIntervalSeconds": "mount_refresh_interval_seconds", + "remountOnResume": "remount_on_resume" + }, + "rockset:index/workspace:Workspace": { + "collectionCount": "collection_count", + "createdAt": "created_at", + "createdBy": "created_by" + }, + "rockset:index:Provider": { + "apiKey": "api_key", + "apiServer": "api_server" + } + }, + "renamedConfigProperties": { + "apiKey": "api_key", + "apiServer": "api_server" + } + } +} \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-xyz/generate.go b/provider/cmd/pulumi-resource-rockset/generate.go similarity index 100% rename from provider/cmd/pulumi-resource-xyz/generate.go rename to provider/cmd/pulumi-resource-rockset/generate.go diff --git a/provider/cmd/pulumi-resource-xyz/main.go b/provider/cmd/pulumi-resource-rockset/main.go similarity index 82% rename from provider/cmd/pulumi-resource-xyz/main.go rename to provider/cmd/pulumi-resource-rockset/main.go index aeed3da..b3dabb9 100644 --- a/provider/cmd/pulumi-resource-xyz/main.go +++ b/provider/cmd/pulumi-resource-rockset/main.go @@ -19,9 +19,9 @@ package main import ( _ "embed" + rockset "github.com/ddn0/pulumi-rockset/provider" + "github.com/ddn0/pulumi-rockset/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - xyz "github.com/pulumi/pulumi-xyz/provider" - "github.com/pulumi/pulumi-xyz/provider/pkg/version" ) //go:embed schema-embed.json @@ -29,5 +29,5 @@ var pulumiSchema []byte func main() { // Modify the path to point to the new provider - tfbridge.Main("xyz", version.Version, xyz.Provider(), pulumiSchema) + tfbridge.Main("rockset", version.Version, rockset.Provider(), pulumiSchema) } diff --git a/provider/cmd/pulumi-resource-rockset/schema.json b/provider/cmd/pulumi-resource-rockset/schema.json new file mode 100644 index 0000000..69c254b --- /dev/null +++ b/provider/cmd/pulumi-resource-rockset/schema.json @@ -0,0 +1,3395 @@ +{ + "name": "rockset", + "description": "A Pulumi package for creating and managing rockset cloud resources.", + "keywords": [ + "pulumi", + "rockset", + "category/cloud" + ], + "homepage": "https://www.pulumi.com", + "license": "Apache-2.0", + "attribution": "This Pulumi package is based on the [`rockset` Terraform Provider](https://github.com/rockset/terraform-provider-rockset).", + "repository": "https://github.com/ddn0/pulumi-rockset", + "publisher": "Pulumi", + "meta": { + "moduleFormat": "(.*)(?:/[^/]*)" + }, + "language": { + "csharp": { + "packageReferences": { + "Pulumi": "3.*" + }, + "compatibility": "tfbridge20" + }, + "go": { + "importBasePath": "github.com/ddn0/pulumi-rockset/sdk/go/rockset", + "generateResourceContainerTypes": true, + "generateExtraInputTypes": true + }, + "nodejs": { + "packageDescription": "A Pulumi package for creating and managing rockset cloud resources.", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/rockset/terraform-provider-rockset)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-rockset` repo](https://github.com/ddn0/pulumi-rockset/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-rockset` repo](https://github.com/rockset/terraform-provider-rockset/issues).", + "dependencies": { + "@pulumi/pulumi": "^3.0.0" + }, + "devDependencies": { + "@types/mime": "^2.0.0", + "@types/node": "^10.0.0" + }, + "compatibility": "tfbridge20", + "disableUnionOutputTypes": true + }, + "python": { + "requires": { + "pulumi": "\u003e=3.0.0,\u003c4.0.0" + }, + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/rockset/terraform-provider-rockset)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-rockset` repo](https://github.com/ddn0/pulumi-rockset/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-rockset` repo](https://github.com/rockset/terraform-provider-rockset/issues).", + "compatibility": "tfbridge20", + "pyproject": {} + } + }, + "config": { + "variables": { + "apiKey": { + "type": "string", + "description": "The API key used to access Rockset\n", + "secret": true + }, + "apiServer": { + "type": "string", + "description": "The API server for accessing Rockset\n" + } + } + }, + "types": { + "rockset:index/DynamodbCollectionSource:DynamodbCollectionSource": { + "properties": { + "awsRegion": { + "type": "string", + "description": "AWS region name of DynamoDB table, by default us-west-2 is used.\n", + "willReplaceOnChanges": true + }, + "integrationName": { + "type": "string", + "description": "The name of the Rockset DynamoDB integration.\n", + "willReplaceOnChanges": true + }, + "rcu": { + "type": "integer", + "description": "Max RCU usage for scan.\n", + "willReplaceOnChanges": true + }, + "scanEndTime": { + "type": "string", + "description": "DynamoDB scan end time.\n" + }, + "scanRecordsProcessed": { + "type": "integer", + "description": "Number of records inserted using scan.\n" + }, + "scanStartTime": { + "type": "string", + "description": "DynamoDB scan start time.\n" + }, + "scanTotalRecords": { + "type": "integer", + "description": "Number of records in DynamoDB table at time of scan.\n" + }, + "state": { + "type": "string", + "description": "State of current ingest for this table.\n" + }, + "streamLastProcessedAt": { + "type": "string", + "description": "ISO-8601 date when source was last processed.\n" + }, + "tableName": { + "type": "string", + "description": "Name of DynamoDB table containing data.\n", + "willReplaceOnChanges": true + }, + "useScanApi": { + "type": "boolean", + "description": "Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket.\n" + } + }, + "type": "object", + "required": [ + "integrationName", + "tableName" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "integrationName", + "scanEndTime", + "scanRecordsProcessed", + "scanStartTime", + "scanTotalRecords", + "state", + "streamLastProcessedAt", + "tableName" + ] + } + } + }, + "rockset:index/GcsCollectionSource:GcsCollectionSource": { + "properties": { + "bucket": { + "type": "string", + "description": "GCS bucket containing the target data.\n", + "willReplaceOnChanges": true + }, + "csv": { + "$ref": "#/types/rockset:index/GcsCollectionSourceCsv:GcsCollectionSourceCsv", + "willReplaceOnChanges": true + }, + "format": { + "type": "string", + "description": "Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats.\n", + "willReplaceOnChanges": true + }, + "integrationName": { + "type": "string", + "description": "The name of the Rockset GCS integration.\n", + "willReplaceOnChanges": true + }, + "prefix": { + "type": "string", + "description": "Simple path prefix to GCS key.\n", + "willReplaceOnChanges": true + }, + "xml": { + "$ref": "#/types/rockset:index/GcsCollectionSourceXml:GcsCollectionSourceXml", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "bucket", + "format", + "integrationName" + ] + }, + "rockset:index/GcsCollectionSourceCsv:GcsCollectionSourceCsv": { + "properties": { + "columnNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of the columns.\n", + "willReplaceOnChanges": true + }, + "columnTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The types of the columns.\n", + "willReplaceOnChanges": true + }, + "encoding": { + "type": "string", + "description": "Can be one of: UTF-8, ISO*8859*1, UTF-16.\n", + "willReplaceOnChanges": true + }, + "escapeChar": { + "type": "string", + "description": "Escape character removes any special meaning from the character that follows it. Defaults to backslash.\n", + "willReplaceOnChanges": true + }, + "firstLineAsColumnNames": { + "type": "boolean", + "description": "If the first line in every object specifies the column names.\n", + "willReplaceOnChanges": true + }, + "quoteChar": { + "type": "string", + "description": "Character within which a cell value is enclosed. Defaults to double quote.\n", + "willReplaceOnChanges": true + }, + "separator": { + "type": "string", + "description": "A single character that is the column separator.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "rockset:index/GcsCollectionSourceXml:GcsCollectionSourceXml": { + "properties": { + "attributePrefix": { + "type": "string", + "description": "Tag to differentiate between attributes and elements.\n", + "willReplaceOnChanges": true + }, + "docTag": { + "type": "string", + "description": "Tags with which documents are identified\n", + "willReplaceOnChanges": true + }, + "encoding": { + "type": "string", + "description": "Can be one of: UTF-8, ISO*8859*1, UTF-16.\n", + "willReplaceOnChanges": true + }, + "rootTag": { + "type": "string", + "description": "Tag until which xml is ignored.\n", + "willReplaceOnChanges": true + }, + "valueTag": { + "type": "string", + "description": "Tag used for the value when there are attributes in the element having no child.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "rockset:index/KafkaCollectionSource:KafkaCollectionSource": { + "properties": { + "consumerGroupId": { + "type": "string", + "description": "The Kafka consumer group Id being used.\n" + }, + "integrationName": { + "type": "string", + "description": "The name of the Rockset Kafka integration.\n", + "willReplaceOnChanges": true + }, + "offsetResetPolicy": { + "type": "string", + "description": "The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections.\n", + "willReplaceOnChanges": true + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KafkaCollectionSourceStatus:KafkaCollectionSourceStatus" + } + }, + "topicName": { + "type": "string", + "description": "Name of Kafka topic to be tailed.\n", + "willReplaceOnChanges": true + }, + "useV3": { + "type": "boolean", + "description": "Whether to use v3 integration. Required if the kafka integration uses v3.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "integrationName", + "topicName" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "consumerGroupId", + "integrationName", + "statuses", + "topicName" + ] + } + } + }, + "rockset:index/KafkaCollectionSourceStatus:KafkaCollectionSourceStatus": { + "properties": { + "documentsProcessed": { + "type": "integer" + }, + "lastConsumedTime": { + "type": "string" + }, + "partitions": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KafkaCollectionSourceStatusPartition:KafkaCollectionSourceStatusPartition" + } + }, + "state": { + "type": "string" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "documentsProcessed", + "lastConsumedTime", + "partitions", + "state" + ] + } + } + }, + "rockset:index/KafkaCollectionSourceStatusPartition:KafkaCollectionSourceStatusPartition": { + "properties": { + "offsetLag": { + "type": "integer" + }, + "partitionNumber": { + "type": "integer" + }, + "partitionOffset": { + "type": "integer" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "offsetLag", + "partitionNumber", + "partitionOffset" + ] + } + } + }, + "rockset:index/KinesisCollectionSource:KinesisCollectionSource": { + "properties": { + "awsRegion": { + "type": "string", + "description": "AWS region name for the Kinesis stream, by default us-west-2 is used\n", + "willReplaceOnChanges": true + }, + "dmsPrimaryKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres.\n", + "willReplaceOnChanges": true + }, + "format": { + "type": "string", + "description": "Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres.\n", + "willReplaceOnChanges": true + }, + "integrationName": { + "type": "string", + "description": "The name of the Rockset Kinesis integration.\n", + "willReplaceOnChanges": true + }, + "streamName": { + "type": "string", + "description": "Name of Kinesis stream.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "format", + "integrationName", + "streamName" + ] + }, + "rockset:index/MongodbCollectionSource:MongodbCollectionSource": { + "properties": { + "collectionName": { + "type": "string", + "description": "MongoDB collection name of the target collection.\n", + "willReplaceOnChanges": true + }, + "databaseName": { + "type": "string", + "description": "MongoDB database name containing the target collection.\n", + "willReplaceOnChanges": true + }, + "integrationName": { + "type": "string", + "description": "The name of the Rockset MongoDB integration.\n", + "willReplaceOnChanges": true + }, + "retrieveFullDocument": { + "type": "boolean" + }, + "scanEndTime": { + "type": "string", + "description": "MongoDB scan end time.\n" + }, + "scanRecordsProcessed": { + "type": "integer", + "description": "Number of records inserted using scan.\n" + }, + "scanStartTime": { + "type": "string", + "description": "MongoDB scan start time.\n" + }, + "scanTotalRecords": { + "type": "integer", + "description": "Number of records in MongoDB table at time of scan.\n" + }, + "state": { + "type": "string", + "description": "State of current ingest for this table.\n" + }, + "streamLastDeleteProcessedAt": { + "type": "string", + "description": "ISO-8601 date when delete from source was last processed.\n" + }, + "streamLastInsertProcessedAt": { + "type": "string", + "description": "ISO-8601 date when new insert from source was last processed.\n" + }, + "streamLastUpdateProcessedAt": { + "type": "string", + "description": "ISO-8601 date when update from source was last processed.\n" + }, + "streamRecordsDeleted": { + "type": "integer", + "description": "Number of new records deleted using stream.\n" + }, + "streamRecordsInserted": { + "type": "integer", + "description": "Number of new records inserted using stream.\n" + }, + "streamRecordsUpdated": { + "type": "integer", + "description": "Number of new records updated using stream.\n" + } + }, + "type": "object", + "required": [ + "collectionName", + "databaseName", + "integrationName" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "collectionName", + "databaseName", + "integrationName", + "scanEndTime", + "scanRecordsProcessed", + "scanStartTime", + "scanTotalRecords", + "state", + "streamLastDeleteProcessedAt", + "streamLastInsertProcessedAt", + "streamLastUpdateProcessedAt", + "streamRecordsDeleted", + "streamRecordsInserted", + "streamRecordsUpdated" + ] + } + } + }, + "rockset:index/QueryLambdaSql:QueryLambdaSql": { + "properties": { + "defaultParameters": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/QueryLambdaSqlDefaultParameter:QueryLambdaSqlDefaultParameter" + } + }, + "query": { + "type": "string" + } + }, + "type": "object", + "required": [ + "query" + ] + }, + "rockset:index/QueryLambdaSqlDefaultParameter:QueryLambdaSqlDefaultParameter": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name", + "type", + "value" + ] + }, + "rockset:index/RolePrivilege:RolePrivilege": { + "properties": { + "action": { + "type": "string", + "description": "The action allowed by this privilege.\n" + }, + "cluster": { + "type": "string", + "description": "Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters.\n" + }, + "resourceName": { + "type": "string", + "description": "The resource on which this action is allowed. Defaults to 'All' if not specified.\n" + } + }, + "type": "object", + "required": [ + "action" + ] + }, + "rockset:index/S3CollectionSource:S3CollectionSource": { + "properties": { + "bucket": { + "type": "string", + "description": "S3 bucket containing the target data.\n", + "willReplaceOnChanges": true + }, + "csv": { + "$ref": "#/types/rockset:index/S3CollectionSourceCsv:S3CollectionSourceCsv", + "willReplaceOnChanges": true + }, + "format": { + "type": "string", + "description": "Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats.\n", + "willReplaceOnChanges": true + }, + "integrationName": { + "type": "string", + "description": "The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible.\n", + "willReplaceOnChanges": true + }, + "pattern": { + "type": "string", + "description": "Regex path pattern to S3 keys.\n", + "willReplaceOnChanges": true + }, + "prefix": { + "type": "string", + "description": "Simple path prefix to S3 keys.\n", + "deprecationMessage": "use pattern instead", + "willReplaceOnChanges": true + }, + "xml": { + "$ref": "#/types/rockset:index/S3CollectionSourceXml:S3CollectionSourceXml", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "bucket", + "format", + "integrationName" + ] + }, + "rockset:index/S3CollectionSourceCsv:S3CollectionSourceCsv": { + "properties": { + "columnNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of the columns.\n", + "willReplaceOnChanges": true + }, + "columnTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The types of the columns.\n", + "willReplaceOnChanges": true + }, + "encoding": { + "type": "string", + "description": "Can be one of: UTF-8, ISO*8859*1, UTF-16.\n", + "willReplaceOnChanges": true + }, + "escapeChar": { + "type": "string", + "description": "Escape character removes any special meaning from the character that follows it. Defaults to backslash.\n", + "willReplaceOnChanges": true + }, + "firstLineAsColumnNames": { + "type": "boolean", + "description": "If the first line in every object specifies the column names.\n", + "willReplaceOnChanges": true + }, + "quoteChar": { + "type": "string", + "description": "Character within which a cell value is enclosed. Defaults to double quote.\n", + "willReplaceOnChanges": true + }, + "separator": { + "type": "string", + "description": "A single character that is the column separator.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "rockset:index/S3CollectionSourceXml:S3CollectionSourceXml": { + "properties": { + "attributePrefix": { + "type": "string", + "description": "Tag to differentiate between attributes and elements.\n", + "willReplaceOnChanges": true + }, + "docTag": { + "type": "string", + "description": "Tags with which documents are identified\n", + "willReplaceOnChanges": true + }, + "encoding": { + "type": "string", + "description": "Can be one of: UTF-8, ISO*8859*1, UTF-16.\n", + "willReplaceOnChanges": true + }, + "rootTag": { + "type": "string", + "description": "Tag until which xml is ignored.\n", + "willReplaceOnChanges": true + }, + "valueTag": { + "type": "string", + "description": "Tag used for the value when there are attributes in the element having no child.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "rockset:index/getAccountCluster:getAccountCluster": { + "properties": { + "apiServer": { + "type": "string" + }, + "awsRegion": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "apiServer", + "awsRegion", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + } + }, + "provider": { + "description": "The provider type for the rockset package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n", + "properties": { + "apiKey": { + "type": "string", + "description": "The API key used to access Rockset\n", + "secret": true + }, + "apiServer": { + "type": "string", + "description": "The API server for accessing Rockset\n" + } + }, + "inputProperties": { + "apiKey": { + "type": "string", + "description": "The API key used to access Rockset\n", + "secret": true + }, + "apiServer": { + "type": "string", + "description": "The API server for accessing Rockset\n" + } + } + }, + "resources": { + "rockset:index/alias:Alias": { + "description": "Manages an alias for a set of collections.\n", + "properties": { + "collections": { + "type": "string", + "description": "List of collections for this alias to refer to.\n" + }, + "description": { + "type": "string", + "description": "Text describing the alias.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the alias. Can contain alphanumeric or dash characters.\n" + }, + "workspace": { + "type": "string", + "description": "Name of the workspace the alias will be in.\n" + } + }, + "required": [ + "collections", + "name", + "workspace" + ], + "inputProperties": { + "collections": { + "type": "string", + "description": "List of collections for this alias to refer to.\n" + }, + "description": { + "type": "string", + "description": "Text describing the alias.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the alias. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "Name of the workspace the alias will be in.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "collections", + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Alias resources.\n", + "properties": { + "collections": { + "type": "string", + "description": "List of collections for this alias to refer to.\n" + }, + "description": { + "type": "string", + "description": "Text describing the alias.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the alias. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "Name of the workspace the alias will be in.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/apiKey:ApiKey": { + "description": "Manage a Rockset Api Key.\n\nCan be used together with roles to scope the actions the api key can take.\n", + "properties": { + "key": { + "type": "string", + "description": "The resulting Rockset api key.\n", + "secret": true + }, + "name": { + "type": "string", + "description": "Name of the api key.\n" + }, + "role": { + "type": "string", + "description": "The role the api key will use. If not specified, \"All User Assigned Roles\" will be used.\n" + }, + "user": { + "type": "string", + "description": "The user the key is created for.\n" + } + }, + "required": [ + "key", + "name", + "user" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Name of the api key.\n", + "willReplaceOnChanges": true + }, + "role": { + "type": "string", + "description": "The role the api key will use. If not specified, \"All User Assigned Roles\" will be used.\n", + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering ApiKey resources.\n", + "properties": { + "key": { + "type": "string", + "description": "The resulting Rockset api key.\n", + "secret": true + }, + "name": { + "type": "string", + "description": "Name of the api key.\n", + "willReplaceOnChanges": true + }, + "role": { + "type": "string", + "description": "The role the api key will use. If not specified, \"All User Assigned Roles\" will be used.\n", + "willReplaceOnChanges": true + }, + "user": { + "type": "string", + "description": "The user the key is created for.\n" + } + }, + "type": "object" + } + }, + "rockset:index/collection:Collection": { + "description": "Manages a basic collection with no sources. Usually used for the write api.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Collection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/collectionMount:CollectionMount": { + "description": "Manages a collection mount.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst data = new rockset.CollectionMount(\"data\", {\n virtualInstanceId: rockset_virtual_instance.secondary.id,\n path: \"commons.data\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\ndata = rockset.CollectionMount(\"data\",\n virtual_instance_id=rockset_virtual_instance[\"secondary\"][\"id\"],\n path=\"commons.data\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var data = new Rockset.CollectionMount(\"data\", new()\n {\n VirtualInstanceId = rockset_virtual_instance.Secondary.Id,\n Path = \"commons.data\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rockset.NewCollectionMount(ctx, \"data\", \u0026rockset.CollectionMountArgs{\n\t\t\tVirtualInstanceId: pulumi.Any(rockset_virtual_instance.Secondary.Id),\n\t\t\tPath: pulumi.String(\"commons.data\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.CollectionMount;\nimport com.pulumi.rockset.CollectionMountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var data = new CollectionMount(\"data\", CollectionMountArgs.builder() \n .virtualInstanceId(rockset_virtual_instance.secondary().id())\n .path(\"commons.data\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n data:\n type: rockset:CollectionMount\n properties:\n virtualInstanceId: ${rockset_virtual_instance.secondary.id}\n path: commons.data\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import rockset:index/collectionMount:CollectionMount demo 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82\n```\n\n ", + "properties": { + "createdAt": { + "type": "string", + "description": "ISO 8601 date when the mount was created.\n" + }, + "lastRefreshTime": { + "type": "integer", + "description": "UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts.\n" + }, + "path": { + "type": "string", + "description": "Collection path to be mounted, in the form workspace.collection\n" + }, + "rrn": { + "type": "string", + "description": "RRN of this mount.\n" + }, + "snapshotExpirationTime": { + "type": "integer", + "description": "UNIX timestamp in milliseconds when the snapshot expires.\n" + }, + "state": { + "type": "string", + "description": "Mount state.\n" + }, + "virtualInstanceId": { + "type": "string", + "description": "Virtual Instance id\n" + }, + "virtualInstanceRrn": { + "type": "string", + "description": "Virtual Instance RRN\n" + } + }, + "required": [ + "createdAt", + "lastRefreshTime", + "path", + "rrn", + "snapshotExpirationTime", + "state", + "virtualInstanceId", + "virtualInstanceRrn" + ], + "inputProperties": { + "path": { + "type": "string", + "description": "Collection path to be mounted, in the form workspace.collection\n", + "willReplaceOnChanges": true + }, + "virtualInstanceId": { + "type": "string", + "description": "Virtual Instance id\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "path", + "virtualInstanceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CollectionMount resources.\n", + "properties": { + "createdAt": { + "type": "string", + "description": "ISO 8601 date when the mount was created.\n" + }, + "lastRefreshTime": { + "type": "integer", + "description": "UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts.\n" + }, + "path": { + "type": "string", + "description": "Collection path to be mounted, in the form workspace.collection\n", + "willReplaceOnChanges": true + }, + "rrn": { + "type": "string", + "description": "RRN of this mount.\n" + }, + "snapshotExpirationTime": { + "type": "integer", + "description": "UNIX timestamp in milliseconds when the snapshot expires.\n" + }, + "state": { + "type": "string", + "description": "Mount state.\n" + }, + "virtualInstanceId": { + "type": "string", + "description": "Virtual Instance id\n", + "willReplaceOnChanges": true + }, + "virtualInstanceRrn": { + "type": "string", + "description": "Virtual Instance RRN\n" + } + }, + "type": "object" + } + }, + "rockset:index/dynamodbCollection:DynamodbCollection": { + "description": "Manages a collection with an DynamoDB source attached.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/DynamodbCollectionSource:DynamodbCollectionSource" + }, + "description": "Defines a source for this collection.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/DynamodbCollectionSource:DynamodbCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DynamodbCollection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/DynamodbCollectionSource:DynamodbCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/dynamodbIntegration:DynamodbIntegration": { + "description": "Manages a Rockset DynamoDB Integration.\n", + "properties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n" + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n" + }, + "s3ExportBucketName": { + "type": "string", + "description": "AWS S3 bucket name used for exporting the DynamoDB tables.\n" + } + }, + "required": [ + "awsRoleArn", + "name", + "s3ExportBucketName" + ], + "inputProperties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "s3ExportBucketName": { + "type": "string", + "description": "AWS S3 bucket name used for exporting the DynamoDB tables.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "awsRoleArn", + "s3ExportBucketName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DynamodbIntegration resources.\n", + "properties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "s3ExportBucketName": { + "type": "string", + "description": "AWS S3 bucket name used for exporting the DynamoDB tables.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/gcsCollection:GcsCollection": { + "description": "Manages a collection with an GCS source attached.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/GcsCollectionSource:GcsCollectionSource" + }, + "description": "Defines a source for this collection.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/GcsCollectionSource:GcsCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering GcsCollection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/GcsCollectionSource:GcsCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/gcsIntegration:GcsIntegration": { + "description": "Manages a Rockset GCS Integration.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the integration.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n" + }, + "serviceAccountKey": { + "type": "string", + "description": "The GCP service account key JSON.\n" + } + }, + "required": [ + "name", + "serviceAccountKey" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "serviceAccountKey": { + "type": "string", + "description": "The GCP service account key JSON.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "serviceAccountKey" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering GcsIntegration resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "serviceAccountKey": { + "type": "string", + "description": "The GCP service account key JSON.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/kafkaCollection:KafkaCollection": { + "description": "Manages a collection created from a Kafka source. The `use_v3` field must match the integration which the collection is created from.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst config = new pulumi.Config();\nconst bootstrapServers = config.requireObject(\"bootstrapServers\");\nconst apikey = config.requireObject(\"apikey\");\nconst secret = config.requireObject(\"secret\");\nconst confluentKafkaIntegration = new rockset.KafkaIntegration(\"confluentKafkaIntegration\", {\n description: \"Integration to ingest documents from Confluent Cloud\",\n useV3: true,\n bootstrapServers: bootstrapServers,\n securityConfig: {\n api_key: apikey,\n secret: secret,\n },\n});\nconst confluentWorkspace = new rockset.Workspace(\"confluentWorkspace\", {description: \"Collections from Confluent Cloud topics.\"});\nconst test = new rockset.KafkaCollection(\"test\", {\n workspace: confluentWorkspace.name,\n description: \"Collection from a Confluent Cloud topic.\",\n retentionSecs: 3600,\n sources: [{\n integrationName: confluentKafkaIntegration.name,\n useV3: true,\n topicName: \"test_json\",\n offsetResetPolicy: \"EARLIEST\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\nconfig = pulumi.Config()\nbootstrap_servers = config.require_object(\"bootstrapServers\")\napikey = config.require_object(\"apikey\")\nsecret = config.require_object(\"secret\")\nconfluent_kafka_integration = rockset.KafkaIntegration(\"confluentKafkaIntegration\",\n description=\"Integration to ingest documents from Confluent Cloud\",\n use_v3=True,\n bootstrap_servers=bootstrap_servers,\n security_config={\n \"api_key\": apikey,\n \"secret\": secret,\n })\nconfluent_workspace = rockset.Workspace(\"confluentWorkspace\", description=\"Collections from Confluent Cloud topics.\")\ntest = rockset.KafkaCollection(\"test\",\n workspace=confluent_workspace.name,\n description=\"Collection from a Confluent Cloud topic.\",\n retention_secs=3600,\n sources=[rockset.KafkaCollectionSourceArgs(\n integration_name=confluent_kafka_integration.name,\n use_v3=True,\n topic_name=\"test_json\",\n offset_reset_policy=\"EARLIEST\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var bootstrapServers = config.RequireObject\u003cdynamic\u003e(\"bootstrapServers\");\n var apikey = config.RequireObject\u003cdynamic\u003e(\"apikey\");\n var secret = config.RequireObject\u003cdynamic\u003e(\"secret\");\n var confluentKafkaIntegration = new Rockset.KafkaIntegration(\"confluentKafkaIntegration\", new()\n {\n Description = \"Integration to ingest documents from Confluent Cloud\",\n UseV3 = true,\n BootstrapServers = bootstrapServers,\n SecurityConfig = \n {\n { \"api_key\", apikey },\n { \"secret\", secret },\n },\n });\n\n var confluentWorkspace = new Rockset.Workspace(\"confluentWorkspace\", new()\n {\n Description = \"Collections from Confluent Cloud topics.\",\n });\n\n var test = new Rockset.KafkaCollection(\"test\", new()\n {\n Workspace = confluentWorkspace.Name,\n Description = \"Collection from a Confluent Cloud topic.\",\n RetentionSecs = 3600,\n Sources = new[]\n {\n new Rockset.Inputs.KafkaCollectionSourceArgs\n {\n IntegrationName = confluentKafkaIntegration.Name,\n UseV3 = true,\n TopicName = \"test_json\",\n OffsetResetPolicy = \"EARLIEST\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tbootstrapServers := cfg.RequireObject(\"bootstrapServers\")\n\t\tapikey := cfg.RequireObject(\"apikey\")\n\t\tsecret := cfg.RequireObject(\"secret\")\n\t\tconfluentKafkaIntegration, err := rockset.NewKafkaIntegration(ctx, \"confluentKafkaIntegration\", \u0026rockset.KafkaIntegrationArgs{\n\t\t\tDescription: pulumi.String(\"Integration to ingest documents from Confluent Cloud\"),\n\t\t\tUseV3: pulumi.Bool(true),\n\t\t\tBootstrapServers: pulumi.Any(bootstrapServers),\n\t\t\tSecurityConfig: pulumi.StringMap{\n\t\t\t\t\"api_key\": pulumi.Any(apikey),\n\t\t\t\t\"secret\": pulumi.Any(secret),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tconfluentWorkspace, err := rockset.NewWorkspace(ctx, \"confluentWorkspace\", \u0026rockset.WorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"Collections from Confluent Cloud topics.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rockset.NewKafkaCollection(ctx, \"test\", \u0026rockset.KafkaCollectionArgs{\n\t\t\tWorkspace: confluentWorkspace.Name,\n\t\t\tDescription: pulumi.String(\"Collection from a Confluent Cloud topic.\"),\n\t\t\tRetentionSecs: pulumi.Int(3600),\n\t\t\tSources: rockset.KafkaCollectionSourceArray{\n\t\t\t\t\u0026rockset.KafkaCollectionSourceArgs{\n\t\t\t\t\tIntegrationName: confluentKafkaIntegration.Name,\n\t\t\t\t\tUseV3: pulumi.Bool(true),\n\t\t\t\t\tTopicName: pulumi.String(\"test_json\"),\n\t\t\t\t\tOffsetResetPolicy: pulumi.String(\"EARLIEST\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.KafkaIntegration;\nimport com.pulumi.rockset.KafkaIntegrationArgs;\nimport com.pulumi.rockset.Workspace;\nimport com.pulumi.rockset.WorkspaceArgs;\nimport com.pulumi.rockset.KafkaCollection;\nimport com.pulumi.rockset.KafkaCollectionArgs;\nimport com.pulumi.rockset.inputs.KafkaCollectionSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var bootstrapServers = config.get(\"bootstrapServers\");\n final var apikey = config.get(\"apikey\");\n final var secret = config.get(\"secret\");\n var confluentKafkaIntegration = new KafkaIntegration(\"confluentKafkaIntegration\", KafkaIntegrationArgs.builder() \n .description(\"Integration to ingest documents from Confluent Cloud\")\n .useV3(true)\n .bootstrapServers(bootstrapServers)\n .securityConfig(Map.ofEntries(\n Map.entry(\"api_key\", apikey),\n Map.entry(\"secret\", secret)\n ))\n .build());\n\n var confluentWorkspace = new Workspace(\"confluentWorkspace\", WorkspaceArgs.builder() \n .description(\"Collections from Confluent Cloud topics.\")\n .build());\n\n var test = new KafkaCollection(\"test\", KafkaCollectionArgs.builder() \n .workspace(confluentWorkspace.name())\n .description(\"Collection from a Confluent Cloud topic.\")\n .retentionSecs(3600)\n .sources(KafkaCollectionSourceArgs.builder()\n .integrationName(confluentKafkaIntegration.name())\n .useV3(true)\n .topicName(\"test_json\")\n .offsetResetPolicy(\"EARLIEST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n bootstrapServers:\n type: dynamic\n apikey:\n type: dynamic\n secret:\n type: dynamic\nresources:\n confluentKafkaIntegration:\n type: rockset:KafkaIntegration\n properties:\n description: Integration to ingest documents from Confluent Cloud\n useV3: true\n bootstrapServers: ${bootstrapServers}\n securityConfig:\n api_key: ${apikey}\n secret: ${secret}\n confluentWorkspace:\n type: rockset:Workspace\n properties:\n description: Collections from Confluent Cloud topics.\n test:\n type: rockset:KafkaCollection\n properties:\n workspace: ${confluentWorkspace.name}\n description: Collection from a Confluent Cloud topic.\n retentionSecs: 3600\n sources:\n - integrationName: ${confluentKafkaIntegration.name}\n useV3: true\n topicName: test_json\n offsetResetPolicy: EARLIEST\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KafkaCollectionSource:KafkaCollectionSource" + }, + "description": "Defines a source for this collection.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KafkaCollectionSource:KafkaCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering KafkaCollection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KafkaCollectionSource:KafkaCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/kafkaIntegration:KafkaIntegration": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as _null from \"@pulumi/null\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst config = new pulumi.Config();\nconst rocksetApiserver = config.get(\"rocksetApiserver\") || \"https://api.usw2a1.rockset.com\";\nconst kafkaConnect = config.get(\"kafkaConnect\") || \"localhost:8083\";\nconst topics = config.requireObject(\"topics\");\nconst maxTasks = config.getNumber(\"maxTasks\") || 10;\nconst local = new rockset.KafkaIntegration(\"local\", {\n description: \"Integration to ingest from a local kafka.\",\n kafkaDataFormat: \"JSON\",\n kafkaTopicNames: [\n \"foo\",\n \"bar\",\n ],\n waitForIntegration: false,\n});\nconst configure_kafka_connect = new _null.Resource(\"configure-kafka-connect\", {});\n```\n```python\nimport pulumi\nimport pulumi_null as null\nimport pulumi_rockset as rockset\n\nconfig = pulumi.Config()\nrockset_apiserver = config.get(\"rocksetApiserver\")\nif rockset_apiserver is None:\n rockset_apiserver = \"https://api.usw2a1.rockset.com\"\nkafka_connect = config.get(\"kafkaConnect\")\nif kafka_connect is None:\n kafka_connect = \"localhost:8083\"\ntopics = config.require_object(\"topics\")\nmax_tasks = config.get_float(\"maxTasks\")\nif max_tasks is None:\n max_tasks = 10\nlocal = rockset.KafkaIntegration(\"local\",\n description=\"Integration to ingest from a local kafka.\",\n kafka_data_format=\"JSON\",\n kafka_topic_names=[\n \"foo\",\n \"bar\",\n ],\n wait_for_integration=False)\nconfigure_kafka_connect = null.Resource(\"configure-kafka-connect\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Null = Pulumi.Null;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var rocksetApiserver = config.Get(\"rocksetApiserver\") ?? \"https://api.usw2a1.rockset.com\";\n var kafkaConnect = config.Get(\"kafkaConnect\") ?? \"localhost:8083\";\n var topics = config.RequireObject\u003cdynamic\u003e(\"topics\");\n var maxTasks = config.GetDouble(\"maxTasks\") ?? 10;\n var local = new Rockset.KafkaIntegration(\"local\", new()\n {\n Description = \"Integration to ingest from a local kafka.\",\n KafkaDataFormat = \"JSON\",\n KafkaTopicNames = new[]\n {\n \"foo\",\n \"bar\",\n },\n WaitForIntegration = false,\n });\n\n var configure_kafka_connect = new Null.Resource(\"configure-kafka-connect\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi-null/sdk/go/null\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\trocksetApiserver := \"https://api.usw2a1.rockset.com\"\n\t\tif param := cfg.Get(\"rocksetApiserver\"); param != \"\" {\n\t\t\trocksetApiserver = param\n\t\t}\n\t\tkafkaConnect := \"localhost:8083\"\n\t\tif param := cfg.Get(\"kafkaConnect\"); param != \"\" {\n\t\t\tkafkaConnect = param\n\t\t}\n\t\ttopics := cfg.RequireObject(\"topics\")\n\t\tmaxTasks := float64(10)\n\t\tif param := cfg.GetFloat64(\"maxTasks\"); param != 0 {\n\t\t\tmaxTasks = param\n\t\t}\n\t\t_, err := rockset.NewKafkaIntegration(ctx, \"local\", \u0026rockset.KafkaIntegrationArgs{\n\t\t\tDescription: pulumi.String(\"Integration to ingest from a local kafka.\"),\n\t\t\tKafkaDataFormat: pulumi.String(\"JSON\"),\n\t\t\tKafkaTopicNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tWaitForIntegration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = null.NewResource(ctx, \"configure-kafka-connect\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.KafkaIntegration;\nimport com.pulumi.rockset.KafkaIntegrationArgs;\nimport com.pulumi.null.Resource;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var rocksetApiserver = config.get(\"rocksetApiserver\").orElse(\"https://api.usw2a1.rockset.com\");\n final var kafkaConnect = config.get(\"kafkaConnect\").orElse(\"localhost:8083\");\n final var topics = config.get(\"topics\");\n final var maxTasks = config.get(\"maxTasks\").orElse(10);\n var local = new KafkaIntegration(\"local\", KafkaIntegrationArgs.builder() \n .description(\"Integration to ingest from a local kafka.\")\n .kafkaDataFormat(\"JSON\")\n .kafkaTopicNames( \n \"foo\",\n \"bar\")\n .waitForIntegration(false)\n .build());\n\n var configure_kafka_connect = new Resource(\"configure-kafka-connect\");\n\n }\n}\n```\n```yaml\nconfiguration:\n rocksetApiserver:\n type: string\n default: https://api.usw2a1.rockset.com\n kafkaConnect:\n type: string\n default: localhost:8083\n topics:\n type: dynamic\n maxTasks:\n type: number\n default: 10\nresources:\n local:\n type: rockset:KafkaIntegration\n properties:\n description: Integration to ingest from a local kafka.\n kafkaDataFormat: JSON\n kafkaTopicNames:\n - foo\n - bar\n waitForIntegration: false\n configure-kafka-connect:\n type: null:Resource\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "bootstrapServers": { + "type": "string", + "description": "The Kafka bootstrap server url(s). Required only for V3 integration.\n" + }, + "connectionString": { + "type": "string", + "description": "Kafka connection string.\n" + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n" + }, + "kafkaDataFormat": { + "type": "string", + "description": "The format of the Kafka topics being tailed. Possible values: JSON, AVRO.\n" + }, + "kafkaTopicNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kafka topics to tail.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n" + }, + "schemaRegistryConfig": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Kafka configuration for schema registry. Required only for V3 integration.\n" + }, + "securityConfig": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Kafka security configurations. Required only for V3 integration.\n" + }, + "useV3": { + "type": "boolean", + "description": "Use v3 for Confluent Cloud.\n" + }, + "waitForIntegration": { + "type": "boolean", + "description": "Wait until the integration is active.\n" + } + }, + "required": [ + "connectionString", + "name" + ], + "inputProperties": { + "bootstrapServers": { + "type": "string", + "description": "The Kafka bootstrap server url(s). Required only for V3 integration.\n", + "willReplaceOnChanges": true + }, + "connectionString": { + "type": "string", + "description": "Kafka connection string.\n" + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "kafkaDataFormat": { + "type": "string", + "description": "The format of the Kafka topics being tailed. Possible values: JSON, AVRO.\n", + "willReplaceOnChanges": true + }, + "kafkaTopicNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kafka topics to tail.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "schemaRegistryConfig": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Kafka configuration for schema registry. Required only for V3 integration.\n", + "willReplaceOnChanges": true + }, + "securityConfig": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Kafka security configurations. Required only for V3 integration.\n", + "willReplaceOnChanges": true + }, + "useV3": { + "type": "boolean", + "description": "Use v3 for Confluent Cloud.\n", + "willReplaceOnChanges": true + }, + "waitForIntegration": { + "type": "boolean", + "description": "Wait until the integration is active.\n", + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering KafkaIntegration resources.\n", + "properties": { + "bootstrapServers": { + "type": "string", + "description": "The Kafka bootstrap server url(s). Required only for V3 integration.\n", + "willReplaceOnChanges": true + }, + "connectionString": { + "type": "string", + "description": "Kafka connection string.\n" + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "kafkaDataFormat": { + "type": "string", + "description": "The format of the Kafka topics being tailed. Possible values: JSON, AVRO.\n", + "willReplaceOnChanges": true + }, + "kafkaTopicNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kafka topics to tail.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "schemaRegistryConfig": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Kafka configuration for schema registry. Required only for V3 integration.\n", + "willReplaceOnChanges": true + }, + "securityConfig": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Kafka security configurations. Required only for V3 integration.\n", + "willReplaceOnChanges": true + }, + "useV3": { + "type": "boolean", + "description": "Use v3 for Confluent Cloud.\n", + "willReplaceOnChanges": true + }, + "waitForIntegration": { + "type": "boolean", + "description": "Wait until the integration is active.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/kinesisCollection:KinesisCollection": { + "description": "Manages a collection with an Kinesis source attached.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KinesisCollectionSource:KinesisCollectionSource" + }, + "description": "Defines a source for this collection.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KinesisCollectionSource:KinesisCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering KinesisCollection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/KinesisCollectionSource:KinesisCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/kinesisIntegration:KinesisIntegration": { + "description": "Manages a Rockset Kinesis Integration.\n", + "properties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n" + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n" + } + }, + "required": [ + "awsRoleArn", + "name" + ], + "inputProperties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "awsRoleArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering KinesisIntegration resources.\n", + "properties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/mongodbCollection:MongodbCollection": { + "description": "Manages a collection with an MongoDB source attached.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/MongodbCollectionSource:MongodbCollectionSource" + }, + "description": "Defines a source for this collection.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/MongodbCollectionSource:MongodbCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MongodbCollection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/MongodbCollectionSource:MongodbCollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/mongodbIntegration:MongodbIntegration": { + "description": "Manages a Rockset MongoDB Integration.\n", + "properties": { + "connectionUri": { + "type": "string", + "description": "MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads.\n", + "secret": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n" + } + }, + "required": [ + "connectionUri", + "name" + ], + "inputProperties": { + "connectionUri": { + "type": "string", + "description": "MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "connectionUri" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MongodbIntegration resources.\n", + "properties": { + "connectionUri": { + "type": "string", + "description": "MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/queryLambda:QueryLambda": { + "description": "Manages a Rockset Query Lambda.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the query lambda.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the query lambda. Can contain alphanumeric or dash characters.\n" + }, + "sqls": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/QueryLambdaSql:QueryLambdaSql" + } + }, + "state": { + "type": "string", + "description": "The latest state of this query lambda.\n" + }, + "version": { + "type": "string", + "description": "The latest version string of this query lambda.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "sqls", + "state", + "version", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the query lambda.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the query lambda. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "sqls": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/QueryLambdaSql:QueryLambdaSql" + } + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "sqls", + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering QueryLambda resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the query lambda.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the query lambda. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "sqls": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/QueryLambdaSql:QueryLambdaSql" + } + }, + "state": { + "type": "string", + "description": "The latest state of this query lambda.\n" + }, + "version": { + "type": "string", + "description": "The latest version string of this query lambda.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/queryLambdaTag:QueryLambdaTag": { + "description": "Manages a Rockset Query Lambda Tag.\n", + "properties": { + "name": { + "type": "string", + "description": "Unique identifier for the tag. Can contain alphanumeric or dash characters.\n" + }, + "queryLambda": { + "type": "string", + "description": "Unique identifier for the query lambda. Can contain alphanumeric or dash characters.\n" + }, + "version": { + "type": "string", + "description": "Version of the query lambda this tag should point to.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace the query lambda is in.\n" + } + }, + "required": [ + "name", + "queryLambda", + "version", + "workspace" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Unique identifier for the tag. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "queryLambda": { + "type": "string", + "description": "Unique identifier for the query lambda. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "version": { + "type": "string", + "description": "Version of the query lambda this tag should point to.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace the query lambda is in.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "queryLambda", + "version", + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering QueryLambdaTag resources.\n", + "properties": { + "name": { + "type": "string", + "description": "Unique identifier for the tag. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "queryLambda": { + "type": "string", + "description": "Unique identifier for the query lambda. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "version": { + "type": "string", + "description": "Version of the query lambda this tag should point to.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace the query lambda is in.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/role:Role": { + "description": "Manages a Rockset [Role](https://rockset.com/docs/iam/).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst query_onlyRole = new rockset.Role(\"query-onlyRole\", {\n description: \"This role can only query collections in the prod workspace in the usw2a1 cluster\",\n privileges: [\n {\n action: \"QUERY_DATA_WS\",\n resourceName: \"prod\",\n cluster: \"usw2a1\",\n },\n {\n action: \"EXECUTE_QUERY_LAMBDA_WS\",\n resourceName: \"prod\",\n cluster: \"usw2a1\",\n },\n ],\n});\nconst query_onlyApiKey = new rockset.ApiKey(\"query-onlyApiKey\", {role: query_onlyRole.name});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\nquery_only_role = rockset.Role(\"query-onlyRole\",\n description=\"This role can only query collections in the prod workspace in the usw2a1 cluster\",\n privileges=[\n rockset.RolePrivilegeArgs(\n action=\"QUERY_DATA_WS\",\n resource_name=\"prod\",\n cluster=\"usw2a1\",\n ),\n rockset.RolePrivilegeArgs(\n action=\"EXECUTE_QUERY_LAMBDA_WS\",\n resource_name=\"prod\",\n cluster=\"usw2a1\",\n ),\n ])\nquery_only_api_key = rockset.ApiKey(\"query-onlyApiKey\", role=query_only_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var query_onlyRole = new Rockset.Role(\"query-onlyRole\", new()\n {\n Description = \"This role can only query collections in the prod workspace in the usw2a1 cluster\",\n Privileges = new[]\n {\n new Rockset.Inputs.RolePrivilegeArgs\n {\n Action = \"QUERY_DATA_WS\",\n ResourceName = \"prod\",\n Cluster = \"usw2a1\",\n },\n new Rockset.Inputs.RolePrivilegeArgs\n {\n Action = \"EXECUTE_QUERY_LAMBDA_WS\",\n ResourceName = \"prod\",\n Cluster = \"usw2a1\",\n },\n },\n });\n\n var query_onlyApiKey = new Rockset.ApiKey(\"query-onlyApiKey\", new()\n {\n Role = query_onlyRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rockset.NewRole(ctx, \"query-onlyRole\", \u0026rockset.RoleArgs{\n\t\t\tDescription: pulumi.String(\"This role can only query collections in the prod workspace in the usw2a1 cluster\"),\n\t\t\tPrivileges: rockset.RolePrivilegeArray{\n\t\t\t\t\u0026rockset.RolePrivilegeArgs{\n\t\t\t\t\tAction: pulumi.String(\"QUERY_DATA_WS\"),\n\t\t\t\t\tResourceName: pulumi.String(\"prod\"),\n\t\t\t\t\tCluster: pulumi.String(\"usw2a1\"),\n\t\t\t\t},\n\t\t\t\t\u0026rockset.RolePrivilegeArgs{\n\t\t\t\t\tAction: pulumi.String(\"EXECUTE_QUERY_LAMBDA_WS\"),\n\t\t\t\t\tResourceName: pulumi.String(\"prod\"),\n\t\t\t\t\tCluster: pulumi.String(\"usw2a1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rockset.NewApiKey(ctx, \"query-onlyApiKey\", \u0026rockset.ApiKeyArgs{\n\t\t\tRole: query_onlyRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.Role;\nimport com.pulumi.rockset.RoleArgs;\nimport com.pulumi.rockset.inputs.RolePrivilegeArgs;\nimport com.pulumi.rockset.ApiKey;\nimport com.pulumi.rockset.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var query_onlyRole = new Role(\"query-onlyRole\", RoleArgs.builder() \n .description(\"This role can only query collections in the prod workspace in the usw2a1 cluster\")\n .privileges( \n RolePrivilegeArgs.builder()\n .action(\"QUERY_DATA_WS\")\n .resourceName(\"prod\")\n .cluster(\"usw2a1\")\n .build(),\n RolePrivilegeArgs.builder()\n .action(\"EXECUTE_QUERY_LAMBDA_WS\")\n .resourceName(\"prod\")\n .cluster(\"usw2a1\")\n .build())\n .build());\n\n var query_onlyApiKey = new ApiKey(\"query-onlyApiKey\", ApiKeyArgs.builder() \n .role(query_onlyRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n query-onlyRole:\n type: rockset:Role\n properties:\n description: This role can only query collections in the prod workspace in the usw2a1 cluster\n privileges:\n - action: QUERY_DATA_WS\n resourceName: prod\n cluster: usw2a1\n - action: EXECUTE_QUERY_LAMBDA_WS\n resourceName: prod\n cluster: usw2a1\n query-onlyApiKey:\n type: rockset:ApiKey\n properties:\n role: ${[\"query-onlyRole\"].name}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "createdAt": { + "type": "string", + "description": "When the role was created.\n" + }, + "createdBy": { + "type": "string", + "description": "Who created the role.\n" + }, + "description": { + "type": "string", + "description": "Role description.\n" + }, + "name": { + "type": "string", + "description": "Role name.\n" + }, + "ownerEmail": { + "type": "string", + "description": "The email of the user who currently owns the role.\n" + }, + "privileges": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/RolePrivilege:RolePrivilege" + }, + "description": "Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges)\n" + } + }, + "required": [ + "createdAt", + "createdBy", + "name", + "ownerEmail" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Role description.\n" + }, + "name": { + "type": "string", + "description": "Role name.\n", + "willReplaceOnChanges": true + }, + "privileges": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/RolePrivilege:RolePrivilege" + }, + "description": "Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges)\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Role resources.\n", + "properties": { + "createdAt": { + "type": "string", + "description": "When the role was created.\n" + }, + "createdBy": { + "type": "string", + "description": "Who created the role.\n" + }, + "description": { + "type": "string", + "description": "Role description.\n" + }, + "name": { + "type": "string", + "description": "Role name.\n", + "willReplaceOnChanges": true + }, + "ownerEmail": { + "type": "string", + "description": "The email of the user who currently owns the role.\n" + }, + "privileges": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/RolePrivilege:RolePrivilege" + }, + "description": "Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges)\n" + } + }, + "type": "object" + } + }, + "rockset:index/s3Collection:S3Collection": { + "description": "Manages a collection with on or more S3 sources attached. Uses an S3 integration to access the S3 bucket. If no integration is provided, only data in public buckets are accessible.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst sample = new rockset.Workspace(\"sample\", {description: \"sample datasets\"});\nconst _public = new rockset.S3Integration(\"public\", {\n description: \"Integration to access Rockset's public datasets\",\n awsRoleArn: \"arn:aws:iam::469279130686:role/rockset-public-datasets\",\n});\nconst cities = new rockset.S3Collection(\"cities\", {\n workspace: sample.name,\n sources: [{\n bucket: \"rockset-public-datasets\",\n integrationName: _public.name,\n pattern: \"cities/*.json\",\n format: \"json\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\nsample = rockset.Workspace(\"sample\", description=\"sample datasets\")\npublic = rockset.S3Integration(\"public\",\n description=\"Integration to access Rockset's public datasets\",\n aws_role_arn=\"arn:aws:iam::469279130686:role/rockset-public-datasets\")\ncities = rockset.S3Collection(\"cities\",\n workspace=sample.name,\n sources=[rockset.S3CollectionSourceArgs(\n bucket=\"rockset-public-datasets\",\n integration_name=public.name,\n pattern=\"cities/*.json\",\n format=\"json\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Rockset.Workspace(\"sample\", new()\n {\n Description = \"sample datasets\",\n });\n\n var @public = new Rockset.S3Integration(\"public\", new()\n {\n Description = \"Integration to access Rockset's public datasets\",\n AwsRoleArn = \"arn:aws:iam::469279130686:role/rockset-public-datasets\",\n });\n\n var cities = new Rockset.S3Collection(\"cities\", new()\n {\n Workspace = sample.Name,\n Sources = new[]\n {\n new Rockset.Inputs.S3CollectionSourceArgs\n {\n Bucket = \"rockset-public-datasets\",\n IntegrationName = @public.Name,\n Pattern = \"cities/*.json\",\n Format = \"json\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample, err := rockset.NewWorkspace(ctx, \"sample\", \u0026rockset.WorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"sample datasets\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpublic, err := rockset.NewS3Integration(ctx, \"public\", \u0026rockset.S3IntegrationArgs{\n\t\t\tDescription: pulumi.String(\"Integration to access Rockset's public datasets\"),\n\t\t\tAwsRoleArn: pulumi.String(\"arn:aws:iam::469279130686:role/rockset-public-datasets\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rockset.NewS3Collection(ctx, \"cities\", \u0026rockset.S3CollectionArgs{\n\t\t\tWorkspace: sample.Name,\n\t\t\tSources: rockset.S3CollectionSourceArray{\n\t\t\t\t\u0026rockset.S3CollectionSourceArgs{\n\t\t\t\t\tBucket: pulumi.String(\"rockset-public-datasets\"),\n\t\t\t\t\tIntegrationName: public.Name,\n\t\t\t\t\tPattern: pulumi.String(\"cities/*.json\"),\n\t\t\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.Workspace;\nimport com.pulumi.rockset.WorkspaceArgs;\nimport com.pulumi.rockset.S3Integration;\nimport com.pulumi.rockset.S3IntegrationArgs;\nimport com.pulumi.rockset.S3Collection;\nimport com.pulumi.rockset.S3CollectionArgs;\nimport com.pulumi.rockset.inputs.S3CollectionSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new Workspace(\"sample\", WorkspaceArgs.builder() \n .description(\"sample datasets\")\n .build());\n\n var public_ = new S3Integration(\"public\", S3IntegrationArgs.builder() \n .description(\"Integration to access Rockset's public datasets\")\n .awsRoleArn(\"arn:aws:iam::469279130686:role/rockset-public-datasets\")\n .build());\n\n var cities = new S3Collection(\"cities\", S3CollectionArgs.builder() \n .workspace(sample.name())\n .sources(S3CollectionSourceArgs.builder()\n .bucket(\"rockset-public-datasets\")\n .integrationName(public_.name())\n .pattern(\"cities/*.json\")\n .format(\"json\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: rockset:Workspace\n properties:\n description: sample datasets\n public:\n type: rockset:S3Integration\n properties:\n description: Integration to access Rockset's public datasets\n awsRoleArn: arn:aws:iam::469279130686:role/rockset-public-datasets\n cities:\n type: rockset:S3Collection\n properties:\n workspace: ${sample.name}\n sources:\n - bucket: rockset-public-datasets\n integrationName: ${public.name}\n pattern: cities/*.json\n format: json\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n" + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n" + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/S3CollectionSource:S3CollectionSource" + }, + "description": "Defines a source for this collection.\n" + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n" + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n" + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n" + } + }, + "required": [ + "name", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/S3CollectionSource:S3CollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering S3Collection resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "ingestTransformation": { + "type": "string", + "description": "Ingest transformation SQL query. Turns the collection into insert_only mode.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the collection. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "retentionSecs": { + "type": "integer", + "description": "Number of seconds after which data is purged. Based on event time.\n", + "willReplaceOnChanges": true + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/S3CollectionSource:S3CollectionSource" + }, + "description": "Defines a source for this collection.\n", + "willReplaceOnChanges": true + }, + "waitForCollection": { + "type": "boolean", + "description": "Wait until the collection is ready.\n", + "willReplaceOnChanges": true + }, + "waitForDocuments": { + "type": "integer", + "description": "Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait.\n", + "willReplaceOnChanges": true + }, + "workspace": { + "type": "string", + "description": "The name of the workspace.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/s3Integration:S3Integration": { + "description": "Manages a Rockset S3 Integration.\n", + "properties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n" + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n" + } + }, + "required": [ + "awsRoleArn", + "name" + ], + "inputProperties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "awsRoleArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering S3Integration resources.\n", + "properties": { + "awsRoleArn": { + "type": "string", + "description": "The AWS Role Arn to use for this integration.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Text describing the integration.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for the integration. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/user:User": { + "description": "Manages a Rockset User.\n\nFirst and last name can only be managed for users who have accepted the invite,\ni.e. when the state is ACCEPTED.\n", + "properties": { + "createdAt": { + "type": "string", + "description": "The ISO-8601 time of when the user was created.\n" + }, + "email": { + "type": "string", + "description": "Email address of the user. Also used to identify the user.\n" + }, + "firstName": { + "type": "string", + "description": "User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite.\n" + }, + "lastName": { + "type": "string", + "description": "User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite.\n" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles for the user. E.g. 'admin', 'member', 'read-only'.\n" + }, + "state": { + "type": "string", + "description": "State of the user, either NEW or ACTIVE.\n" + } + }, + "required": [ + "createdAt", + "email", + "roles", + "state" + ], + "inputProperties": { + "email": { + "type": "string", + "description": "Email address of the user. Also used to identify the user.\n", + "willReplaceOnChanges": true + }, + "firstName": { + "type": "string", + "description": "User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite.\n" + }, + "lastName": { + "type": "string", + "description": "User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite.\n" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles for the user. E.g. 'admin', 'member', 'read-only'.\n" + } + }, + "requiredInputs": [ + "email", + "roles" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering User resources.\n", + "properties": { + "createdAt": { + "type": "string", + "description": "The ISO-8601 time of when the user was created.\n" + }, + "email": { + "type": "string", + "description": "Email address of the user. Also used to identify the user.\n", + "willReplaceOnChanges": true + }, + "firstName": { + "type": "string", + "description": "User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite.\n" + }, + "lastName": { + "type": "string", + "description": "User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite.\n" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles for the user. E.g. 'admin', 'member', 'read-only'.\n" + }, + "state": { + "type": "string", + "description": "State of the user, either NEW or ACTIVE.\n" + } + }, + "type": "object" + } + }, + "rockset:index/view:View": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst sample = new rockset.Workspace(\"sample\", {description: \"sample datasets\"});\nconst _public = new rockset.S3Integration(\"public\", {\n description: \"Integration to access Rockset's public datasets\",\n awsRoleArn: \"arn:aws:iam::469279130686:role/rockset-public-datasets\",\n});\nconst cities = new rockset.S3Collection(\"cities\", {\n workspace: sample.name,\n sources: [{\n bucket: \"rockset-public-datasets\",\n integrationName: _public.name,\n pattern: \"cities/*.json\",\n format: \"json\",\n }],\n});\nconst brazil = new rockset.View(\"brazil\", {\n query: \"SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'\",\n workspace: sample.name,\n}, {\n dependsOn: [cities],\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\nsample = rockset.Workspace(\"sample\", description=\"sample datasets\")\npublic = rockset.S3Integration(\"public\",\n description=\"Integration to access Rockset's public datasets\",\n aws_role_arn=\"arn:aws:iam::469279130686:role/rockset-public-datasets\")\ncities = rockset.S3Collection(\"cities\",\n workspace=sample.name,\n sources=[rockset.S3CollectionSourceArgs(\n bucket=\"rockset-public-datasets\",\n integration_name=public.name,\n pattern=\"cities/*.json\",\n format=\"json\",\n )])\nbrazil = rockset.View(\"brazil\",\n query=\"SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'\",\n workspace=sample.name,\n opts=pulumi.ResourceOptions(depends_on=[cities]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sample = new Rockset.Workspace(\"sample\", new()\n {\n Description = \"sample datasets\",\n });\n\n var @public = new Rockset.S3Integration(\"public\", new()\n {\n Description = \"Integration to access Rockset's public datasets\",\n AwsRoleArn = \"arn:aws:iam::469279130686:role/rockset-public-datasets\",\n });\n\n var cities = new Rockset.S3Collection(\"cities\", new()\n {\n Workspace = sample.Name,\n Sources = new[]\n {\n new Rockset.Inputs.S3CollectionSourceArgs\n {\n Bucket = \"rockset-public-datasets\",\n IntegrationName = @public.Name,\n Pattern = \"cities/*.json\",\n Format = \"json\",\n },\n },\n });\n\n var brazil = new Rockset.View(\"brazil\", new()\n {\n Query = \"SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'\",\n Workspace = sample.Name,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n cities,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsample, err := rockset.NewWorkspace(ctx, \"sample\", \u0026rockset.WorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"sample datasets\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpublic, err := rockset.NewS3Integration(ctx, \"public\", \u0026rockset.S3IntegrationArgs{\n\t\t\tDescription: pulumi.String(\"Integration to access Rockset's public datasets\"),\n\t\t\tAwsRoleArn: pulumi.String(\"arn:aws:iam::469279130686:role/rockset-public-datasets\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcities, err := rockset.NewS3Collection(ctx, \"cities\", \u0026rockset.S3CollectionArgs{\n\t\t\tWorkspace: sample.Name,\n\t\t\tSources: rockset.S3CollectionSourceArray{\n\t\t\t\t\u0026rockset.S3CollectionSourceArgs{\n\t\t\t\t\tBucket: pulumi.String(\"rockset-public-datasets\"),\n\t\t\t\t\tIntegrationName: public.Name,\n\t\t\t\t\tPattern: pulumi.String(\"cities/*.json\"),\n\t\t\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rockset.NewView(ctx, \"brazil\", \u0026rockset.ViewArgs{\n\t\t\tQuery: pulumi.String(\"SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'\"),\n\t\t\tWorkspace: sample.Name,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcities,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.Workspace;\nimport com.pulumi.rockset.WorkspaceArgs;\nimport com.pulumi.rockset.S3Integration;\nimport com.pulumi.rockset.S3IntegrationArgs;\nimport com.pulumi.rockset.S3Collection;\nimport com.pulumi.rockset.S3CollectionArgs;\nimport com.pulumi.rockset.inputs.S3CollectionSourceArgs;\nimport com.pulumi.rockset.View;\nimport com.pulumi.rockset.ViewArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sample = new Workspace(\"sample\", WorkspaceArgs.builder() \n .description(\"sample datasets\")\n .build());\n\n var public_ = new S3Integration(\"public\", S3IntegrationArgs.builder() \n .description(\"Integration to access Rockset's public datasets\")\n .awsRoleArn(\"arn:aws:iam::469279130686:role/rockset-public-datasets\")\n .build());\n\n var cities = new S3Collection(\"cities\", S3CollectionArgs.builder() \n .workspace(sample.name())\n .sources(S3CollectionSourceArgs.builder()\n .bucket(\"rockset-public-datasets\")\n .integrationName(public_.name())\n .pattern(\"cities/*.json\")\n .format(\"json\")\n .build())\n .build());\n\n var brazil = new View(\"brazil\", ViewArgs.builder() \n .query(\"SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'\")\n .workspace(sample.name())\n .build(), CustomResourceOptions.builder()\n .dependsOn(cities)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sample:\n type: rockset:Workspace\n properties:\n description: sample datasets\n public:\n type: rockset:S3Integration\n properties:\n description: Integration to access Rockset's public datasets\n awsRoleArn: arn:aws:iam::469279130686:role/rockset-public-datasets\n cities:\n type: rockset:S3Collection\n properties:\n workspace: ${sample.name}\n sources:\n - bucket: rockset-public-datasets\n integrationName: ${public.name}\n pattern: cities/*.json\n format: json\n brazil:\n type: rockset:View\n properties:\n query: SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'\n workspace: ${sample.name}\n options:\n dependson:\n - ${cities}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "createdBy": { + "type": "string", + "description": "The user who created the view.\n" + }, + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "name": { + "type": "string", + "description": "Unique name for the view in the workspace. Can contain alphanumeric or dash characters.\n" + }, + "query": { + "type": "string", + "description": "SQL query used for thw view.\n" + }, + "workspace": { + "type": "string", + "description": "Workspace name.\n" + } + }, + "required": [ + "createdBy", + "name", + "query", + "workspace" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique name for the view in the workspace. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "query": { + "type": "string", + "description": "SQL query used for thw view.\n" + }, + "workspace": { + "type": "string", + "description": "Workspace name.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "query", + "workspace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering View resources.\n", + "properties": { + "createdBy": { + "type": "string", + "description": "The user who created the view.\n" + }, + "description": { + "type": "string", + "description": "Text describing the collection.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique name for the view in the workspace. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + }, + "query": { + "type": "string", + "description": "SQL query used for thw view.\n" + }, + "workspace": { + "type": "string", + "description": "Workspace name.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "rockset:index/virtualInstance:VirtualInstance": { + "description": "Manages a Rockset Virtual Instance. To be able to create a new Virtual Instance,\nThe main virtual instance must use a dedicated instance to create a secondary virtual instance, \nwhich must be SMALL or larger. To enable live mount, the secondary virtual instance must be MEDIUM or larger.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst query = new rockset.VirtualInstance(\"query\", {\n description: \"vi for executing query lambdas\",\n size: \"MEDIUM\",\n remountOnResume: true,\n});\nconst patch = new rockset.CollectionMount(\"patch\", {\n virtualInstanceId: query.id,\n path: \"commons.data\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\nquery = rockset.VirtualInstance(\"query\",\n description=\"vi for executing query lambdas\",\n size=\"MEDIUM\",\n remount_on_resume=True)\npatch = rockset.CollectionMount(\"patch\",\n virtual_instance_id=query.id,\n path=\"commons.data\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var query = new Rockset.VirtualInstance(\"query\", new()\n {\n Description = \"vi for executing query lambdas\",\n Size = \"MEDIUM\",\n RemountOnResume = true,\n });\n\n var patch = new Rockset.CollectionMount(\"patch\", new()\n {\n VirtualInstanceId = query.Id,\n Path = \"commons.data\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tquery, err := rockset.NewVirtualInstance(ctx, \"query\", \u0026rockset.VirtualInstanceArgs{\n\t\t\tDescription: pulumi.String(\"vi for executing query lambdas\"),\n\t\t\tSize: pulumi.String(\"MEDIUM\"),\n\t\t\tRemountOnResume: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rockset.NewCollectionMount(ctx, \"patch\", \u0026rockset.CollectionMountArgs{\n\t\t\tVirtualInstanceId: query.ID(),\n\t\t\tPath: pulumi.String(\"commons.data\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.VirtualInstance;\nimport com.pulumi.rockset.VirtualInstanceArgs;\nimport com.pulumi.rockset.CollectionMount;\nimport com.pulumi.rockset.CollectionMountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var query = new VirtualInstance(\"query\", VirtualInstanceArgs.builder() \n .description(\"vi for executing query lambdas\")\n .size(\"MEDIUM\")\n .remountOnResume(true)\n .build());\n\n var patch = new CollectionMount(\"patch\", CollectionMountArgs.builder() \n .virtualInstanceId(query.id())\n .path(\"commons.data\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n query:\n type: rockset:VirtualInstance\n properties:\n description: vi for executing query lambdas\n size: MEDIUM\n remountOnResume: true\n patch:\n type: rockset:CollectionMount\n properties:\n virtualInstanceId: ${query.id}\n path: commons.data\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import rockset:index/virtualInstance:VirtualInstance query 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82\n```\n\n ", + "properties": { + "autoSuspendSeconds": { + "type": "integer", + "description": "Number of seconds without queries after which the Virtual Instance is suspended.\n" + }, + "currentSize": { + "type": "string", + "description": "Current size of the virtual instance.\n" + }, + "default": { + "type": "boolean", + "description": "Is this Virtual Instance the default.\n" + }, + "description": { + "type": "string", + "description": "Description of the virtual instance.\n" + }, + "desiredSize": { + "type": "string", + "description": "Desired size of the virtual instance.\n" + }, + "monitoringEnabled": { + "type": "boolean", + "description": "Is monitoring enabled for this Virtual Instance.\n" + }, + "mountRefreshIntervalSeconds": { + "type": "integer", + "description": "Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh.\n" + }, + "name": { + "type": "string", + "description": "Name of the virtual instance.\n" + }, + "remountOnResume": { + "type": "boolean", + "description": "When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended.\n" + }, + "rrn": { + "type": "string", + "description": "RRN of this Virtual Instance.\n" + }, + "size": { + "type": "string", + "description": "Requested virtual instance size. Note that this field is called type in the API documentation.\n" + }, + "state": { + "type": "string", + "description": "Virtual Instance state.\n" + } + }, + "required": [ + "currentSize", + "default", + "desiredSize", + "monitoringEnabled", + "name", + "rrn", + "size", + "state" + ], + "inputProperties": { + "autoSuspendSeconds": { + "type": "integer", + "description": "Number of seconds without queries after which the Virtual Instance is suspended.\n" + }, + "description": { + "type": "string", + "description": "Description of the virtual instance.\n" + }, + "mountRefreshIntervalSeconds": { + "type": "integer", + "description": "Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh.\n" + }, + "name": { + "type": "string", + "description": "Name of the virtual instance.\n" + }, + "remountOnResume": { + "type": "boolean", + "description": "When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended.\n" + }, + "size": { + "type": "string", + "description": "Requested virtual instance size. Note that this field is called type in the API documentation.\n" + } + }, + "requiredInputs": [ + "size" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VirtualInstance resources.\n", + "properties": { + "autoSuspendSeconds": { + "type": "integer", + "description": "Number of seconds without queries after which the Virtual Instance is suspended.\n" + }, + "currentSize": { + "type": "string", + "description": "Current size of the virtual instance.\n" + }, + "default": { + "type": "boolean", + "description": "Is this Virtual Instance the default.\n" + }, + "description": { + "type": "string", + "description": "Description of the virtual instance.\n" + }, + "desiredSize": { + "type": "string", + "description": "Desired size of the virtual instance.\n" + }, + "monitoringEnabled": { + "type": "boolean", + "description": "Is monitoring enabled for this Virtual Instance.\n" + }, + "mountRefreshIntervalSeconds": { + "type": "integer", + "description": "Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh.\n" + }, + "name": { + "type": "string", + "description": "Name of the virtual instance.\n" + }, + "remountOnResume": { + "type": "boolean", + "description": "When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended.\n" + }, + "rrn": { + "type": "string", + "description": "RRN of this Virtual Instance.\n" + }, + "size": { + "type": "string", + "description": "Requested virtual instance size. Note that this field is called type in the API documentation.\n" + }, + "state": { + "type": "string", + "description": "Virtual Instance state.\n" + } + }, + "type": "object" + } + }, + "rockset:index/workspace:Workspace": { + "description": "Manages a Rockset workspace, which can hold collections, query lambdas and views.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst demo = new rockset.Workspace(\"demo\", {description: \"a workspace for demo collections\"});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\ndemo = rockset.Workspace(\"demo\", description=\"a workspace for demo collections\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = new Rockset.Workspace(\"demo\", new()\n {\n Description = \"a workspace for demo collections\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rockset.NewWorkspace(ctx, \"demo\", \u0026rockset.WorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"a workspace for demo collections\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.Workspace;\nimport com.pulumi.rockset.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var demo = new Workspace(\"demo\", WorkspaceArgs.builder() \n .description(\"a workspace for demo collections\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: rockset:Workspace\n properties:\n description: a workspace for demo collections\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import rockset:index/workspace:Workspace demo demo\n```\n\n ", + "properties": { + "collectionCount": { + "type": "integer", + "description": "Number of collections in the workspace.\n" + }, + "createdAt": { + "type": "string", + "description": "Created at in ISO-8601.\n" + }, + "createdBy": { + "type": "string", + "description": "The user who created the workspace.\n" + }, + "description": { + "type": "string", + "description": "Text describing the collection.\n" + }, + "name": { + "type": "string", + "description": "Unique identifier for workspace. Can contain alphanumeric or dash characters.\n" + } + }, + "required": [ + "collectionCount", + "createdAt", + "createdBy", + "name" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Text describing the collection.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for workspace. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Workspace resources.\n", + "properties": { + "collectionCount": { + "type": "integer", + "description": "Number of collections in the workspace.\n" + }, + "createdAt": { + "type": "string", + "description": "Created at in ISO-8601.\n" + }, + "createdBy": { + "type": "string", + "description": "The user who created the workspace.\n" + }, + "description": { + "type": "string", + "description": "Text describing the collection.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Unique identifier for workspace. Can contain alphanumeric or dash characters.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + } + }, + "functions": { + "rockset:index/getAccount:getAccount": { + "description": "Gets information about the Rockset deployment for the specified api server.\n", + "outputs": { + "description": "A collection of values returned by getAccount.\n", + "properties": { + "accountId": { + "type": "string", + "description": "The AWS account ID to reference in AWS policies.\n" + }, + "clusters": { + "type": "array", + "items": { + "$ref": "#/types/rockset:index/getAccountCluster:getAccountCluster" + }, + "description": "The Rockset clusters available to this API key.\n" + }, + "externalId": { + "type": "string", + "description": "The external ID to use in AWS trust policies.\n", + "secret": true + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "organization": { + "type": "string", + "description": "The name of the organization for the API key.\n" + }, + "rocksetUser": { + "type": "string", + "description": "The name of the Rockset user used for AWS trust policies.\n" + } + }, + "type": "object", + "required": [ + "accountId", + "clusters", + "externalId", + "organization", + "rocksetUser", + "id" + ] + } + }, + "rockset:index/getQueryLambdaTag:getQueryLambdaTag": { + "inputs": { + "description": "A collection of arguments for invoking getQueryLambdaTag.\n", + "properties": { + "name": { + "type": "string", + "description": "Name of the query lambda.\n" + }, + "tag": { + "type": "string", + "description": "Tag name.\n" + }, + "workspace": { + "type": "string", + "description": "Workspace the query lambda resides in.\n" + } + }, + "type": "object", + "required": [ + "name", + "tag", + "workspace" + ] + }, + "outputs": { + "description": "A collection of values returned by getQueryLambdaTag.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the query lambda.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastExecuted": { + "type": "string", + "description": "Last time the query lambda was executed.\n" + }, + "name": { + "type": "string", + "description": "Name of the query lambda.\n" + }, + "sql": { + "type": "string", + "description": "Query lambda SQL.\n" + }, + "tag": { + "type": "string", + "description": "Tag name.\n" + }, + "version": { + "type": "string", + "description": "Query lambda tag version.\n" + }, + "workspace": { + "type": "string", + "description": "Workspace the query lambda resides in.\n" + } + }, + "type": "object", + "required": [ + "description", + "lastExecuted", + "name", + "sql", + "tag", + "version", + "workspace", + "id" + ] + } + }, + "rockset:index/getUser:getUser": { + "description": "This data source can be used to fetch information about a specific user.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst pme = rockset.getUser({\n email: \"pme@rockset.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\npme = rockset.get_user(email=\"pme@rockset.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pme = Rockset.GetUser.Invoke(new()\n {\n Email = \"pme@rockset.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rockset.LookupUser(ctx, \u0026rockset.LookupUserArgs{\n\t\t\tEmail: \"pme@rockset.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.RocksetFunctions;\nimport com.pulumi.rockset.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var pme = RocksetFunctions.getUser(GetUserArgs.builder()\n .email(\"pme@rockset.com\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n pme:\n fn::invoke:\n Function: rockset:getUser\n Arguments:\n email: pme@rockset.com\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getUser.\n", + "properties": { + "email": { + "type": "string", + "description": "User email.\n" + } + }, + "type": "object", + "required": [ + "email" + ] + }, + "outputs": { + "description": "A collection of values returned by getUser.\n", + "properties": { + "email": { + "type": "string", + "description": "User email.\n" + }, + "firstName": { + "type": "string", + "description": "User's first name.\n" + }, + "id": { + "type": "string", + "description": "The user ID, in the form of the `email`.\n" + }, + "lastName": { + "type": "string", + "description": "User's last name.\n" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles for the user. E.g. 'admin', 'member', 'read-only'.\n" + }, + "state": { + "type": "string", + "description": "State of the user, either NEW or ACTIVE.\n" + } + }, + "type": "object", + "required": [ + "email", + "firstName", + "id", + "lastName", + "roles", + "state" + ] + } + }, + "rockset:index/getVirtualInstance:getVirtualInstance": { + "inputs": { + "description": "A collection of arguments for invoking getVirtualInstance.\n", + "properties": { + "autoSuspendSeconds": { + "type": "integer", + "description": "Number of seconds without queries after which the Virtual Instance is suspended.\n" + }, + "currentSize": { + "type": "string", + "description": "Virtual Instance current size.\n" + }, + "default": { + "type": "boolean", + "description": "Virtual Instance name.\n" + }, + "description": { + "type": "string", + "description": "Virtual Instance description.\n" + }, + "desiredSize": { + "type": "string", + "description": "Virtual Instance desired size.\n" + }, + "enableRemountOnResume": { + "type": "boolean", + "description": "When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended.\n" + }, + "id": { + "type": "string", + "description": "Virtual Instance id.\n" + }, + "mountRefreshIntervalSeconds": { + "type": "integer", + "description": "Number of seconds between data refreshes for mounts on this Virtual Instance.\n" + }, + "name": { + "type": "string", + "description": "Virtual Instance name.\n" + }, + "state": { + "type": "string", + "description": "Virtual Instance state.\n" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "outputs": { + "description": "A collection of values returned by getVirtualInstance.\n", + "properties": { + "autoSuspendSeconds": { + "type": "integer", + "description": "Number of seconds without queries after which the Virtual Instance is suspended.\n" + }, + "currentSize": { + "type": "string", + "description": "Virtual Instance current size.\n" + }, + "default": { + "type": "boolean", + "description": "Virtual Instance name.\n" + }, + "description": { + "type": "string", + "description": "Virtual Instance description.\n" + }, + "desiredSize": { + "type": "string", + "description": "Virtual Instance desired size.\n" + }, + "enableRemountOnResume": { + "type": "boolean", + "description": "When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended.\n" + }, + "id": { + "type": "string", + "description": "Virtual Instance id.\n" + }, + "mountRefreshIntervalSeconds": { + "type": "integer", + "description": "Number of seconds between data refreshes for mounts on this Virtual Instance.\n" + }, + "name": { + "type": "string", + "description": "Virtual Instance name.\n" + }, + "state": { + "type": "string", + "description": "Virtual Instance state.\n" + } + }, + "type": "object", + "required": [ + "id" + ] + } + }, + "rockset:index/getWorkspace:getWorkspace": { + "description": "Gets information about a workspace.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rockset from \"@pulumi/rockset\";\n\nconst demo = rockset.getWorkspace({\n name: \"demo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rockset as rockset\n\ndemo = rockset.get_workspace(name=\"demo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rockset = Pulumi.Rockset;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var demo = Rockset.GetWorkspace.Invoke(new()\n {\n Name = \"demo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/ddn0/pulumi-rockset/sdk/go/rockset\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rockset.LookupWorkspace(ctx, \u0026rockset.LookupWorkspaceArgs{\n\t\t\tName: \"demo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rockset.RocksetFunctions;\nimport com.pulumi.rockset.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var demo = RocksetFunctions.getWorkspace(GetWorkspaceArgs.builder()\n .name(\"demo\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n demo:\n fn::invoke:\n Function: rockset:getWorkspace\n Arguments:\n name: demo\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getWorkspace.\n", + "properties": { + "name": { + "type": "string", + "description": "Workspace name.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getWorkspace.\n", + "properties": { + "collectionCount": { + "type": "integer", + "description": "Number of collections in the workspace.\n" + }, + "createdAt": { + "type": "string", + "description": "Created at in ISO-8601.\n" + }, + "createdBy": { + "type": "string", + "description": "Created by.\n" + }, + "description": { + "type": "string", + "description": "Workspace description.\n" + }, + "id": { + "type": "string", + "description": "The workspace `name`.\n" + }, + "name": { + "type": "string", + "description": "Workspace name.\n" + } + }, + "type": "object", + "required": [ + "collectionCount", + "createdAt", + "createdBy", + "description", + "id", + "name" + ] + } + } + } +} \ No newline at end of file diff --git a/provider/cmd/pulumi-tfgen-xyz/main.go b/provider/cmd/pulumi-tfgen-rockset/main.go similarity index 81% rename from provider/cmd/pulumi-tfgen-xyz/main.go rename to provider/cmd/pulumi-tfgen-rockset/main.go index 76648ce..6b428e6 100644 --- a/provider/cmd/pulumi-tfgen-xyz/main.go +++ b/provider/cmd/pulumi-tfgen-rockset/main.go @@ -15,12 +15,12 @@ package main import ( + rockset "github.com/ddn0/pulumi-rockset/provider" + "github.com/ddn0/pulumi-rockset/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" - xyz "github.com/pulumi/pulumi-xyz/provider" - "github.com/pulumi/pulumi-xyz/provider/pkg/version" ) func main() { // Modify the path to point to the new provider - tfgen.Main("xyz", version.Version, xyz.Provider()) + tfgen.Main("rockset", version.Version, rockset.Provider()) } diff --git a/provider/go.mod b/provider/go.mod index 599e451..d98f607 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,12 +1,242 @@ -module github.com/pulumi/pulumi-xyz/provider +module github.com/ddn0/pulumi-rockset/provider -go 1.18 +go 1.21 -replace ( - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 upstream-v2.21.0 +toolchain go1.21.4 + +replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e + +require ( + github.com/pulumi/pulumi-terraform-bridge/v3 v3.67.0 + github.com/pulumi/pulumi/sdk/v3 v3.95.0 + github.com/rockset/terraform-provider-rockset v0.9.1 ) require ( - github.com/pulumi/pulumi-terraform-bridge/v3 v3.47.2 - github.com/pulumi/pulumi/sdk/v3 v3.67.1 + cloud.google.com/go v0.110.4 // indirect + cloud.google.com/go/compute v1.20.1 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/kms v1.12.1 // indirect + cloud.google.com/go/logging v1.7.0 // indirect + cloud.google.com/go/longrunning v0.5.1 // indirect + cloud.google.com/go/storage v1.30.1 // indirect + dario.cat/mergo v1.0.0 // indirect + github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect + github.com/Azure/go-autorest v14.2.0+incompatible // indirect + github.com/Azure/go-autorest/autorest v0.11.28 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.21 // indirect + github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 // indirect + github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect + github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect + github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect + github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect + github.com/Azure/go-autorest/logger v0.2.1 // indirect + github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/BurntSushi/toml v1.2.1 // indirect + github.com/Masterminds/goutils v1.1.1 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/Masterminds/semver/v3 v3.1.1 // indirect + github.com/Masterminds/sprig/v3 v3.2.2 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect + github.com/acomagu/bufpipe v1.0.4 // indirect + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-cidr v1.1.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect + github.com/armon/go-metrics v0.4.0 // indirect + github.com/armon/go-radix v1.0.0 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aws/aws-sdk-go v1.44.298 // indirect + github.com/aws/aws-sdk-go-v2 v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/config v1.18.43 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.13.41 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.23.0 // indirect + github.com/aws/smithy-go v1.14.2 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect + github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/blang/semver v3.5.1+incompatible // indirect + github.com/cenkalti/backoff/v3 v3.2.2 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.24.2 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cloudflare/circl v1.3.3 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dimchansky/utfbom v1.1.1 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/edsrzf/mmap-go v1.1.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect + github.com/ettle/strcase v0.1.1 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-git/v5 v5.9.0 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v4 v4.4.2 // indirect + github.com/golang/glog v1.1.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/google/s2a-go v0.1.4 // indirect + github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/google/wire v0.5.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect + github.com/gorilla/mux v1.8.0 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect + github.com/hashicorp/go-getter v1.7.1 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.5.1 // indirect + github.com/hashicorp/go-retryablehttp v0.7.1 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-safetemp v1.0.0 // indirect + github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect + github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect + github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect + github.com/hashicorp/go-sockaddr v1.0.2 // indirect + github.com/hashicorp/go-uuid v1.0.3 // indirect + github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/hcl/v2 v2.18.0 // indirect + github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect + github.com/hashicorp/logutils v1.0.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 // indirect + github.com/hashicorp/terraform-svchost v0.1.1 // indirect + github.com/hashicorp/vault/api v1.8.2 // indirect + github.com/hashicorp/vault/sdk v0.6.1 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect + github.com/huandu/xstrings v1.3.2 // indirect + github.com/iancoleman/strcase v0.2.0 // indirect + github.com/imdario/mergo v0.3.15 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/klauspost/compress v1.15.11 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/maxbrunsfeld/counterfeiter/v6 v6.7.0 // indirect + github.com/mitchellh/cli v1.1.5 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/hashstructure v1.0.0 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.2 // indirect + github.com/natefinch/atomic v1.0.1 // indirect + github.com/oklog/run v1.1.0 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pgavlin/fx v0.1.6 // indirect + github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect + github.com/pierrec/lz4 v2.6.1+incompatible // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/term v1.1.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/posener/complete v1.2.3 // indirect + github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect + github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5 // indirect + github.com/pulumi/pulumi-java/pkg v0.9.8 // indirect + github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 // indirect + github.com/pulumi/pulumi-yaml v1.4.3 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.95.0 // indirect + github.com/pulumi/schema-tools v0.1.2 // indirect + github.com/pulumi/terraform-diff-reader v0.0.2 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rockset/rockset-go-client v0.22.3 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rs/zerolog v1.31.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/segmentio/asm v1.1.3 // indirect + github.com/segmentio/encoding v0.3.5 // indirect + github.com/sergi/go-diff v1.3.1 // indirect + github.com/shopspring/decimal v1.3.1 // indirect + github.com/skeema/knownhosts v1.2.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/cobra v1.7.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/testify v1.8.4 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect + github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/ulikunitz/xz v0.5.10 // indirect + github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect + github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect + github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/zclconf/go-cty v1.14.0 // indirect + go.opencensus.io v0.24.0 // indirect + go.uber.org/atomic v1.9.0 // indirect + gocloud.dev v0.27.0 // indirect + gocloud.dev/secrets/hashivault v0.27.0 // indirect + golang.org/x/crypto v0.15.0 // indirect + golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.18.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/sync v0.5.0 // indirect + golang.org/x/sys v0.14.0 // indirect + golang.org/x/term v0.14.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/time v0.3.0 // indirect + golang.org/x/tools v0.15.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.126.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/grpc v1.57.1 // indirect + google.golang.org/protobuf v1.31.0 // indirect + gopkg.in/square/go-jose.v2 v2.6.0 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + lukechampine.com/frand v1.4.2 // indirect ) diff --git a/provider/go.sum b/provider/go.sum new file mode 100644 index 0000000..142aaf0 --- /dev/null +++ b/provider/go.sum @@ -0,0 +1,3651 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.103.0/go.mod h1:vwLx1nqLrzLX/fpwSMOXmFIqBOyHsvHbnAdbGSJ+mKk= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/kms v1.12.1 h1:xZmZuwy2cwzsocmKDOPu4BL7umg8QXagQx6fKVmf45U= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/longrunning v0.5.1 h1:Fr7TXftcqTudoyRJa113hyaqlGdiBQkp0Gq7tErFDWI= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= +cloud.google.com/go/monitoring v1.5.0/go.mod h1:/o9y8NYX5j91JjD/JvGLYbi86kL11OjyJXq2XziLJu4= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.24.0/go.mod h1:rWv09Te1SsRpRGPiWOMDKraMQTJyJps4MkUCoMGUgqw= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/secretmanager v1.5.0/go.mod h1:5C9kM+RwSpkURNovKySkNvGQLUaOgyoR5W0RUx2SyHQ= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.24.0/go.mod h1:3xrJEFMXBsQLgxwThyjuD3aYlroL0TMRec1ypGUQ0KE= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= +cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= +code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= +contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= +contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= +contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible h1:bmmC38SlE8/E81nNADlgmVGurPWMHDX2YNXVQMrBpEE= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.0.2/go.mod h1:LH9XQnMr2ZYxQdVdCrzLO9mxeDyrDFa6wbSI3x5zCZk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1/go.mod h1:eZ4g6GUvXiGulfIbbhh1Xr4XwUYaYaWMqzGD/284wCA= +github.com/Azure/go-amqp v0.17.0/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-amqp v0.17.5/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= +github.com/Azure/go-autorest/autorest v0.11.25/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= +github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.21 h1:jjQnVFXPfekaqb8vIsv2G1lxshoW+oGv4MDlhRtnYZk= +github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 h1:P6bYXFoao05z5uhOQzbC3Qd8JqF3jUoocoTeIxkp2cA= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= +github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= +github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= +github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= +github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= +github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= +github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8= +github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= +github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= +github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFUye+ZcSR6opIgz9Co7WcDx6ZcY+RjfFHoA0I= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.298 h1:5qTxdubgV7PptZJmp/2qDwD2JL187ePL7VOxsSh1i3g= +github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= +github.com/aws/aws-sdk-go-v2 v1.21.0 h1:gMT0IW+03wtYJhRqTVYn0wLzwdnK9sRMcxmtfGzRdJc= +github.com/aws/aws-sdk-go-v2 v1.21.0/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13 h1:OPLEkmhXf6xFPiz0bLeDArZIDx1NNS4oJyG4nv3Gct0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= +github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= +github.com/aws/aws-sdk-go-v2/config v1.18.43 h1:IgdUtTRvUDC6eiJBqU6vh7bHFNAEBjQ8S+qJ7zVhDOs= +github.com/aws/aws-sdk-go-v2/config v1.18.43/go.mod h1:NiFev8qlgg8MPzw3fO/EwzMZeZwlJEKGwfpjRPA9Nvw= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= +github.com/aws/aws-sdk-go-v2/credentials v1.13.41 h1:dgbKq1tamtboYAKSXWbqL0lKO9rmEzEhbZFh9JQW/Bg= +github.com/aws/aws-sdk-go-v2/credentials v1.13.41/go.mod h1:cc3Fn7DkKbJalPtQnudHGZZ8ml9+hwtbc1CJONsYYqk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 h1:uDZJF1hu0EVT/4bogChk8DyjSF6fof6uL/0Y26Ma7Fg= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11/go.mod h1:TEPP4tENqBGO99KwVpV9MlOX4NSrSLP8u3KRy2CDwA8= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.74 h1:5iIuHdeN3/x3kFBENHgYQl1ZtD+ZhLBXy6IgXflUtSI= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.74/go.mod h1:kBEg7nSM1Dg9tsHX5eoFeJMmO+njnFOwxP0dPuQCEGc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 h1:22dGT7PneFMx4+b3pz7lMTRyN8ZKH7M2cW4GP9yUS2g= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41/go.mod h1:CrObHAuPneJBlfEJ5T3szXOUkLEThaGfvnhTf33buas= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 h1:SijA0mgjV8E+8G45ltVHs0fvKpTj8xmZJ3VwhGKtUSI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35/go.mod h1:SJC1nEVVva1g3pHAIdCp7QsRIkMmLAgoDquQ9Rr8kYw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43 h1:g+qlObJH4Kn4n21g69DjspU0hKTjWtq7naZ9OLCv0ew= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.43/go.mod h1:rzfdUlfA+jdgLDmPKjd3Chq9V7LVLYo1Nz++Wb91aRo= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4 h1:6lJvvkQ9HmbHZ4h/IEwclwv2mrTW8Uq1SOB/kXy0mfw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4/go.mod h1:1PrKYwxTM+zjpw9Y41KFtoJCQrJ34Z47Y4VgVbfndjo= +github.com/aws/aws-sdk-go-v2/service/iam v1.19.0 h1:9vCynoqC+dgxZKrsjvAniyIopsv3RZFsZ6wkQ+yxtj8= +github.com/aws/aws-sdk-go-v2/service/iam v1.19.0/go.mod h1:OyAuvpFeSVNppcSsp1hFOVQcaTRc1LE24YIR7pMbbAA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14 h1:m0QTSI6pZYJTk5WSKx3fm5cNW/DCicVzULBgU/6IyD0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36 h1:eev2yZX7esGRjqRbnVk1UxMLw4CyVZDpZXRCcy75oQk= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36/go.mod h1:lGnOkH9NJATw0XEPcAknFBj3zzNTEGRHtSw+CwC1YTg= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 h1:CdzPW9kKitgIiLV1+MHobfR5Xg25iYnyzWZhyQuSlDI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35/go.mod h1:QGF2Rs33W5MaN9gYdEQOBBFPLwTZkEhRwI33f7KIG0o= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4 h1:v0jkRigbSD6uOdwcaUQmgEwG1BkPfAPDqaeNt/29ghg= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4/go.mod h1:LhTyt8J04LL+9cIt7pYJ5lbS/U98ZmXovLOR/4LUsk8= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAWMbFy+yIJ71xQBS0= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.0 h1:wl5dxN1NONhTDQD9uaEvNsDRX29cBmGED/nl0jkWlt4= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.0/go.mod h1:rDGMZA7f4pbmTtPOk5v5UM2lmX6UAbRnMDJeDvnH7AM= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= +github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.0 h1:vuGK1vHNP9zx0PfOrtPumbwR2af0ATQ1Z2H6p75AgRQ= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.0/go.mod h1:fIAwKQKBFu90pBxx07BFOMJLpRUGu8VOzLJakeY+0K4= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1 h1:8lKOidPkmSmfUtiTgtdXWgaKItCZ/g75/jEk6Ql6GsA= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.1/go.mod h1:yygr8ACQRY2PrEcy3xsUI357stq2AxnFM6DIsR9lij4= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.0 h1:pyvfUqkNLMipdKNAtu7OVbRxUrR2BMaKccIPpk/Hkak= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.0/go.mod h1:VC7JDqsqiwXukYEDjoHh9U0fOJtNWh04FPQz4ct4GGU= +github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.14.2 h1:MJU9hqBGbvWZdApzpvoF2WAIJDbtjK2NDJSiJP7HblQ= +github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +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/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= +github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/confluentinc/confluent-kafka-go v1.9.2 h1:gV/GxhMBUb03tFWkN+7kdhg+zf+QUM+wVkI9zwh770Q= +github.com/confluentinc/confluent-kafka-go v1.9.2/go.mod h1:ptXNqsuDfYbAE/LBW6pnwWZElUoWxHoV8E43DCrliyo= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= +github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitalocean/godo v1.78.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/digitalocean/godo v1.81.0/go.mod h1:BPCqvwbjbGqxuUnIKB4EvS/AX7IDnNmt5fwvIkWo+ew= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= +github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE= +github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= +github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= +github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= +github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY= +github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= +github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= +github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= +github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= +github.com/google/go-replayers/httpreplay v1.1.1 h1:H91sIMlt1NZzN7R+/ASswyouLJfW0WLW7fhyUFvDEkY= +github.com/google/go-replayers/httpreplay v1.1.1/go.mod h1:gN9GeLIs7l6NUoVaSSnv2RiqK1NiwAmD0MrKeC9IIks= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20220318212150-b2ab0324ddda/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= +github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3/go.mod h1:gSuNB+gJaOiQKLEZ+q+PK9Mq3SOzhRcw2GsGS/FhYDk= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= +github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gophercloud/gophercloud v0.24.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gophercloud/gophercloud v0.25.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.2/go.mod h1:chrfS3YoLAlKTRE5cFWvCbt8uGAjshktT4PveTUpsFQ= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= +github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU= +github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= +github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= +github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= +github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hc-install v0.6.0 h1:fDHnU7JNFNSQebVKYhHZ0va1bC6SrPQ8fpebsvNr2w4= +github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= +github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= +github.com/hashicorp/hcl/v2 v2.18.0 h1:wYnG7Lt31t2zYkcquwgKo6MWXzRUDIeIVU5naZwHLl8= +github.com/hashicorp/hcl/v2 v2.18.0/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= +github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= +github.com/hashicorp/terraform-exec v0.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM= +github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg= +github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= +github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= +github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= +github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= +github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= +github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= +github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= +github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= +github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= +github.com/hashicorp/terraform-registry-address v0.2.2 h1:lPQBg403El8PPicg/qONZJDC6YlgCVbWDtNmmZKtBno= +github.com/hashicorp/terraform-registry-address v0.2.2/go.mod h1:LtwNbCihUoUZ3RYriyS2wF/lGPB6gF9ICLRtuDk7hSo= +github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= +github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc= +github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= +github.com/hashicorp/vault/api v1.8.2 h1:C7OL9YtOtwQbTKI9ogB0A1wffRbCN+rH/LLCHO3d8HM= +github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= +github.com/hashicorp/vault/sdk v0.5.1/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.5.3/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.6.1 h1:sjZC1z4j5Rh2GXYbkxn5BLK05S1p7+MhW4AgdUmgRUA= +github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= +github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= +github.com/hexops/autogold v1.3.0 h1:IEtGNPxBeBu8RMn8eKWh/Ll9dVNgSnJ7bp/qHgMQ14o= +github.com/hexops/autogold v1.3.0/go.mod h1:d4hwi2rid66Sag+BVuHgwakW/EmaFr8vdTSbWDbrDRI= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= +github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= +github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= +github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ionos-cloud/sdk-go/v6 v6.1.0/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.12.1/go.mod h1:ZkhRC59Llhrq3oSfrikvwQ5NaxYExr6twkdkMLaKono= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.11.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linode/linodego v1.4.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= +github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/maxbrunsfeld/counterfeiter/v6 v6.7.0 h1:z0CfPybq3CxaJvrrpf7Gme1psZTqHhJxf83q6apkSpI= +github.com/maxbrunsfeld/counterfeiter/v6 v6.7.0/go.mod h1:RVP6/F85JyxTrbJxWIdKU2vlSvK48iCMnMXRkSz7xtg= +github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= +github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y= +github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= +github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= +github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= +github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/ory/dockertest/v3 v3.10.0 h1:4K3z2VMe8Woe++invjaTB7VRyQXQy5UY+loujO4aNE4= +github.com/ory/dockertest/v3 v3.10.0/go.mod h1:nr57ZbRWMqfsdGdFNLHz5jjNdDb7VVFnzAeW1n5N1Lg= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= +github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/alertmanager v0.24.0/go.mod h1:r6fy/D7FRuZh5YbnX6J3MBY0eI4Pb5yPYS7/bPSXXqI= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common/assets v0.1.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/assets v0.2.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= +github.com/prometheus/exporter-toolkit v0.7.1/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= +github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +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.6.1-0.20231111193429-44b746a5b3b5 h1:1DJMji9F7XPea46bSuhy4/85n8J4/Mfz8PWLZtjKKiI= +github.com/pulumi/esc v0.6.1-0.20231111193429-44b746a5b3b5/go.mod h1:Y6W21yUukvxS2NnS5ae1beMSPhMvj0xNAYcDqDHVj/g= +github.com/pulumi/pulumi-java/pkg v0.9.8 h1:c8mYsalnRXA2Ibgvv6scefOn6mW1Vb0UT0mcDqjsivQ= +github.com/pulumi/pulumi-java/pkg v0.9.8/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= +github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 h1:SCg1gjfY9N4yn8U8peIUYATifjoDABkyR7H9lmefsfc= +github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.67.0 h1:s8eN3V6wNZOHK14lSwlSOW1TMCN0epRBDYXnS+W/ZV8= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.67.0/go.mod h1:m+XOZQff8d64SLZTfI3VhDOtVhu9KTsjQIx9Thvc/MU= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW5AHNY63DiNfCohqmxWvMpM4= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= +github.com/pulumi/pulumi-yaml v1.4.3 h1:GO36c7FTl8If20Dn/w2Hi3huP7kmsO00KNaz3GJU0Ws= +github.com/pulumi/pulumi-yaml v1.4.3/go.mod h1:1hwsXFnT7hm2ZeftY5fzjkngjs2eT/rv9MsPE48Leb4= +github.com/pulumi/pulumi/pkg/v3 v3.95.0 h1:FBA0EmjRaqUgzleFMpLSAQUojXH2PyIVERzAm53p63U= +github.com/pulumi/pulumi/pkg/v3 v3.95.0/go.mod h1:4mjOPC8lb49ihR/HbGmid0y9GFlpfP9Orumr0wFOGno= +github.com/pulumi/pulumi/sdk/v3 v3.95.0 h1:SBpFZYdbVF8DtmiEosut2BRVRjLxPpcQf5bOkyPWosQ= +github.com/pulumi/pulumi/sdk/v3 v3.95.0/go.mod h1:xzyBCCPSyLSqOVyfwlaXIS7FqxpiGyLcOOWCzBF7ZKY= +github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= +github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= +github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= +github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e h1:blSirnXqvm8JXLxwxelsBroUNRhOHakDO7cgJUYTdpQ= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= +github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rockset/rockset-go-client v0.22.3 h1:g67uffwkuhn4pyW4cS4BRhYeAtE+6fJb2g6MrWg3Q7M= +github.com/rockset/rockset-go-client v0.22.3/go.mod h1:EWuKSyRn5LULRSI3TF9oeFT9qvIRBQ/Nha5LudnG4z0= +github.com/rockset/terraform-provider-rockset v0.9.1 h1:/KkmBqVLTxe6B93n8xt/vmTlwZjKuCBDWIOvyOWervo= +github.com/rockset/terraform-provider-rockset v0.9.1/go.mod h1:xb++0/hBTaiFIEdRsO3z6GSzspkFDm9lywENpub7Wjg= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A= +github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= +github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= +github.com/seborama/govcr/v14 v14.0.0 h1:jlIaDu7JySg+yJZckNIPTuTnFTfcfwFYnQvgLQV4ggY= +github.com/seborama/govcr/v14 v14.0.0/go.mod h1:blFznMokDguXozlZwQg2AWgvqgfekqj0a+ZW11nhZPY= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= +github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= +github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17 h1:lRAUE0dIvigSSFAmaM2dfg7OH8T+a8zJ5smEh09a/GI= +github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= +github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= +github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= +github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= +github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= +github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.14.0 h1:/Xrd39K7DXbHzlisFP9c4pHao4yyf+/Ug9LEz+Y/yhc= +github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= +github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1/go.mod h1:NEu79Xo32iVb+0gVNV8PMd7GoWqnyDXRlj04yFjqz40= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1/go.mod h1:YJ/JbY5ag/tSQFXzH3mtDmHqzF3aFn3DI/aB1n7pt4w= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.6.1/go.mod h1:UJJXJj0rltNIemDMwkOJyggsvyMG9QHfJeFH0HS5JjM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.6.1/go.mod h1:DAKwdo06hFLc0U88O10x4xnb5sc7dDRDqRuiN+io8JE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0/go.mod h1:aFXT9Ng2seM9eizF+LfKiyPBGy8xIZKwhusC1gIu3hA= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +gocloud.dev v0.27.0 h1:j0WTUsnKTxCsWO7y8T+YCiBZUmLl9w/WIowqAY3yo0g= +gocloud.dev v0.27.0/go.mod h1:YlYKhYsY5/1JdHGWQDkAuqkezVKowu7qbe9aIeUF6p0= +gocloud.dev/secrets/hashivault v0.27.0 h1:AAeGJXr0tiHHJgg5tL8atOGktB4eK9EJAqkZbPKAcOo= +gocloud.dev/secrets/hashivault v0.27.0/go.mod h1:offqsI5oj0B0bVHZdfk/88uIb3NnN93ia8py0yvRlHY= +golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= +golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/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.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220628200809-02e64fa58f26/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= +golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= +golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +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= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.86.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.91.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e h1:xIXmWJ303kJCuogpj0bHq+dcjcZHU+XFyc1I0Yl9cRg= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/telebot.v3 v3.0.0/go.mod h1:7rExV8/0mDDNu9epSrDm/8j22KLaActH1Tbee6YjzWg= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= +k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= +k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= +mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= +pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/provider/resources.go b/provider/resources.go index c20e676..5f53191 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -12,28 +12,28 @@ // See the License for the specific language governing permissions and // limitations under the License. -package xyz +package rockset import ( "fmt" "path/filepath" + "github.com/ddn0/pulumi-rockset/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/tokens" shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim" shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2" - "github.com/pulumi/pulumi-xyz/provider/pkg/version" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" - "github.com/terraform-providers/terraform-provider-xyz/xyz" + "github.com/rockset/terraform-provider-rockset/rockset" ) // all of the token components used below. const ( // This variable controls the default name of the package in the package // registries for nodejs and python: - mainPkg = "xyz" + mainPkg = "rockset" // modules: - mainMod = "index" // the xyz module + mainMod = "index" // the rockset module ) // preConfigureCallback is called before the providerConfigure function of the underlying provider. @@ -47,12 +47,12 @@ func preConfigureCallback(vars resource.PropertyMap, c shim.ResourceConfig) erro // Provider returns additional overlaid schema and metadata associated with the provider.. func Provider() tfbridge.ProviderInfo { // Instantiate the Terraform provider - p := shimv2.NewProvider(xyz.Provider()) + p := shimv2.NewProvider(rockset.Provider()) // Create a Pulumi provider mapping prov := tfbridge.ProviderInfo{ P: p, - Name: "xyz", + Name: "rockset", // DisplayName is a way to be able to change the casing of the provider // name when being displayed on the Pulumi registry DisplayName: "", @@ -71,18 +71,20 @@ func Provider() tfbridge.ProviderInfo { // for use in Pulumi programs // e.g https://github.com/org/pulumi-provider-name/releases/ PluginDownloadURL: "", - Description: "A Pulumi package for creating and managing xyz cloud resources.", + Description: "A Pulumi package for creating and managing rockset cloud resources.", // category/cloud tag helps with categorizing the package in the Pulumi Registry. // For all available categories, see `Keywords` in // https://www.pulumi.com/docs/guides/pulumi-packages/schema/#package. - Keywords: []string{"pulumi", "xyz", "category/cloud"}, + Keywords: []string{"pulumi", "rockset", "category/cloud"}, License: "Apache-2.0", Homepage: "https://www.pulumi.com", - Repository: "https://github.com/pulumi/pulumi-xyz", + Repository: "https://github.com/ddn0/pulumi-rockset", // The GitHub Org for the provider - defaults to `terraform-providers`. Note that this // should match the TF provider module's require directive, not any replace directives. - GitHubOrg: "", - Config: map[string]*tfbridge.SchemaInfo{ + GitHubOrg: "rockset", + MetadataInfo: tfbridge.NewProviderMetadata(nil), + Version: version.Version, + Config: map[string]*tfbridge.SchemaInfo{ // Add any required configuration here, or remove the example below if // no additional points are required. // "region": { @@ -134,7 +136,7 @@ func Provider() tfbridge.ProviderInfo { }, Golang: &tfbridge.GolangInfo{ ImportBasePath: filepath.Join( - fmt.Sprintf("github.com/pulumi/pulumi-%[1]s/sdk/", mainPkg), + fmt.Sprintf("github.com/ddn0/pulumi-%[1]s/sdk/", mainPkg), tfbridge.GetModuleMajorVersion(version.Version), "go", mainPkg, @@ -150,10 +152,11 @@ func Provider() tfbridge.ProviderInfo { // These are new API's that you may opt to use to automatically compute resource tokens, // and apply auto aliasing for full backwards compatibility. - // For more information, please reference: https://pkg.go.dev/github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge#ProviderInfo.ComputeTokens - prov.MustComputeTokens(tokens.SingleModule("xyz_", mainMod, + // For more information, please reference: + // https://pkg.go.dev/github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge#ProviderInfo.ComputeTokens + prov.MustComputeTokens(tokens.SingleModule("rockset_", mainMod, tokens.MakeStandard(mainPkg))) - prov.MustApplyAutoAliasing() + prov.MustApplyAutoAliases() prov.SetAutonaming(255, "-") return prov diff --git a/sdk/dotnet/Alias.cs b/sdk/dotnet/Alias.cs new file mode 100644 index 0000000..5846e71 --- /dev/null +++ b/sdk/dotnet/Alias.cs @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages an alias for a set of collections. + /// + [RocksetResourceType("rockset:index/alias:Alias")] + public partial class Alias : global::Pulumi.CustomResource + { + /// + /// List of collections for this alias to refer to. + /// + [Output("collections")] + public Output Collections { get; private set; } = null!; + + /// + /// Text describing the alias. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the alias. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the workspace the alias will be in. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a Alias resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Alias(string name, AliasArgs args, CustomResourceOptions? options = null) + : base("rockset:index/alias:Alias", name, args ?? new AliasArgs(), MakeResourceOptions(options, "")) + { + } + + private Alias(string name, Input id, AliasState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/alias:Alias", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Alias resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Alias Get(string name, Input id, AliasState? state = null, CustomResourceOptions? options = null) + { + return new Alias(name, id, state, options); + } + } + + public sealed class AliasArgs : global::Pulumi.ResourceArgs + { + /// + /// List of collections for this alias to refer to. + /// + [Input("collections", required: true)] + public Input Collections { get; set; } = null!; + + /// + /// Text describing the alias. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the alias. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the workspace the alias will be in. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public AliasArgs() + { + } + public static new AliasArgs Empty => new AliasArgs(); + } + + public sealed class AliasState : global::Pulumi.ResourceArgs + { + /// + /// List of collections for this alias to refer to. + /// + [Input("collections")] + public Input? Collections { get; set; } + + /// + /// Text describing the alias. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the alias. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the workspace the alias will be in. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public AliasState() + { + } + public static new AliasState Empty => new AliasState(); + } +} diff --git a/sdk/dotnet/ApiKey.cs b/sdk/dotnet/ApiKey.cs new file mode 100644 index 0000000..404d3df --- /dev/null +++ b/sdk/dotnet/ApiKey.cs @@ -0,0 +1,153 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manage a Rockset Api Key. + /// + /// Can be used together with roles to scope the actions the api key can take. + /// + [RocksetResourceType("rockset:index/apiKey:ApiKey")] + public partial class ApiKey : global::Pulumi.CustomResource + { + /// + /// The resulting Rockset api key. + /// + [Output("key")] + public Output Key { get; private set; } = null!; + + /// + /// Name of the api key. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The role the api key will use. If not specified, "All User Assigned Roles" will be used. + /// + [Output("role")] + public Output Role { get; private set; } = null!; + + /// + /// The user the key is created for. + /// + [Output("user")] + public Output User { get; private set; } = null!; + + + /// + /// Create a ApiKey resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ApiKey(string name, ApiKeyArgs? args = null, CustomResourceOptions? options = null) + : base("rockset:index/apiKey:ApiKey", name, args ?? new ApiKeyArgs(), MakeResourceOptions(options, "")) + { + } + + private ApiKey(string name, Input id, ApiKeyState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/apiKey:ApiKey", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "key", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ApiKey resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ApiKey Get(string name, Input id, ApiKeyState? state = null, CustomResourceOptions? options = null) + { + return new ApiKey(name, id, state, options); + } + } + + public sealed class ApiKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the api key. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The role the api key will use. If not specified, "All User Assigned Roles" will be used. + /// + [Input("role")] + public Input? Role { get; set; } + + public ApiKeyArgs() + { + } + public static new ApiKeyArgs Empty => new ApiKeyArgs(); + } + + public sealed class ApiKeyState : global::Pulumi.ResourceArgs + { + [Input("key")] + private Input? _key; + + /// + /// The resulting Rockset api key. + /// + public Input? Key + { + get => _key; + set + { + var emptySecret = Output.CreateSecret(0); + _key = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Name of the api key. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The role the api key will use. If not specified, "All User Assigned Roles" will be used. + /// + [Input("role")] + public Input? Role { get; set; } + + /// + /// The user the key is created for. + /// + [Input("user")] + public Input? User { get; set; } + + public ApiKeyState() + { + } + public static new ApiKeyState Empty => new ApiKeyState(); + } +} diff --git a/sdk/dotnet/Collection.cs b/sdk/dotnet/Collection.cs new file mode 100644 index 0000000..f93c2c9 --- /dev/null +++ b/sdk/dotnet/Collection.cs @@ -0,0 +1,203 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a basic collection with no sources. Usually used for the write api. + /// + [RocksetResourceType("rockset:index/collection:Collection")] + public partial class Collection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a Collection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Collection(string name, CollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/collection:Collection", name, args ?? new CollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private Collection(string name, Input id, CollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/collection:Collection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Collection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Collection Get(string name, Input id, CollectionState? state = null, CustomResourceOptions? options = null) + { + return new Collection(name, id, state, options); + } + } + + public sealed class CollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public CollectionArgs() + { + } + public static new CollectionArgs Empty => new CollectionArgs(); + } + + public sealed class CollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public CollectionState() + { + } + public static new CollectionState Empty => new CollectionState(); + } +} diff --git a/sdk/dotnet/CollectionMount.cs b/sdk/dotnet/CollectionMount.cs new file mode 100644 index 0000000..7c71f89 --- /dev/null +++ b/sdk/dotnet/CollectionMount.cs @@ -0,0 +1,210 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection mount. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var data = new Rockset.CollectionMount("data", new() + /// { + /// VirtualInstanceId = rockset_virtual_instance.Secondary.Id, + /// Path = "commons.data", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import rockset:index/collectionMount:CollectionMount demo 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + /// ``` + /// + [RocksetResourceType("rockset:index/collectionMount:CollectionMount")] + public partial class CollectionMount : global::Pulumi.CustomResource + { + /// + /// ISO 8601 date when the mount was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + /// + [Output("lastRefreshTime")] + public Output LastRefreshTime { get; private set; } = null!; + + /// + /// Collection path to be mounted, in the form workspace.collection + /// + [Output("path")] + public Output Path { get; private set; } = null!; + + /// + /// RRN of this mount. + /// + [Output("rrn")] + public Output Rrn { get; private set; } = null!; + + /// + /// UNIX timestamp in milliseconds when the snapshot expires. + /// + [Output("snapshotExpirationTime")] + public Output SnapshotExpirationTime { get; private set; } = null!; + + /// + /// Mount state. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// Virtual Instance id + /// + [Output("virtualInstanceId")] + public Output VirtualInstanceId { get; private set; } = null!; + + /// + /// Virtual Instance RRN + /// + [Output("virtualInstanceRrn")] + public Output VirtualInstanceRrn { get; private set; } = null!; + + + /// + /// Create a CollectionMount resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CollectionMount(string name, CollectionMountArgs args, CustomResourceOptions? options = null) + : base("rockset:index/collectionMount:CollectionMount", name, args ?? new CollectionMountArgs(), MakeResourceOptions(options, "")) + { + } + + private CollectionMount(string name, Input id, CollectionMountState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/collectionMount:CollectionMount", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CollectionMount resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static CollectionMount Get(string name, Input id, CollectionMountState? state = null, CustomResourceOptions? options = null) + { + return new CollectionMount(name, id, state, options); + } + } + + public sealed class CollectionMountArgs : global::Pulumi.ResourceArgs + { + /// + /// Collection path to be mounted, in the form workspace.collection + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + /// + /// Virtual Instance id + /// + [Input("virtualInstanceId", required: true)] + public Input VirtualInstanceId { get; set; } = null!; + + public CollectionMountArgs() + { + } + public static new CollectionMountArgs Empty => new CollectionMountArgs(); + } + + public sealed class CollectionMountState : global::Pulumi.ResourceArgs + { + /// + /// ISO 8601 date when the mount was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + /// + [Input("lastRefreshTime")] + public Input? LastRefreshTime { get; set; } + + /// + /// Collection path to be mounted, in the form workspace.collection + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// RRN of this mount. + /// + [Input("rrn")] + public Input? Rrn { get; set; } + + /// + /// UNIX timestamp in milliseconds when the snapshot expires. + /// + [Input("snapshotExpirationTime")] + public Input? SnapshotExpirationTime { get; set; } + + /// + /// Mount state. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// Virtual Instance id + /// + [Input("virtualInstanceId")] + public Input? VirtualInstanceId { get; set; } + + /// + /// Virtual Instance RRN + /// + [Input("virtualInstanceRrn")] + public Input? VirtualInstanceRrn { get; set; } + + public CollectionMountState() + { + } + public static new CollectionMountState Empty => new CollectionMountState(); + } +} diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs new file mode 100644 index 0000000..c28ac7c --- /dev/null +++ b/sdk/dotnet/Config/Config.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Immutable; + +namespace Pulumi.Rockset +{ + public static class Config + { + [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "IDE1006", Justification = + "Double underscore prefix used to avoid conflicts with variable names.")] + private sealed class __Value + { + private readonly Func _getter; + private T _value = default!; + private bool _set; + + public __Value(Func getter) + { + _getter = getter; + } + + public T Get() => _set ? _value : _getter(); + + public void Set(T value) + { + _value = value; + _set = true; + } + } + + private static readonly global::Pulumi.Config __config = new global::Pulumi.Config("rockset"); + + private static readonly __Value _apiKey = new __Value(() => __config.Get("apiKey")); + /// + /// The API key used to access Rockset + /// + public static string? ApiKey + { + get => _apiKey.Get(); + set => _apiKey.Set(value); + } + + private static readonly __Value _apiServer = new __Value(() => __config.Get("apiServer")); + /// + /// The API server for accessing Rockset + /// + public static string? ApiServer + { + get => _apiServer.Get(); + set => _apiServer.Set(value); + } + + } +} diff --git a/sdk/dotnet/Config/README.md b/sdk/dotnet/Config/README.md new file mode 100644 index 0000000..2186bfa --- /dev/null +++ b/sdk/dotnet/Config/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing rockset cloud resources. diff --git a/sdk/dotnet/DynamodbCollection.cs b/sdk/dotnet/DynamodbCollection.cs new file mode 100644 index 0000000..7da2ac0 --- /dev/null +++ b/sdk/dotnet/DynamodbCollection.cs @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection with an DynamoDB source attached. + /// + [RocksetResourceType("rockset:index/dynamodbCollection:DynamodbCollection")] + public partial class DynamodbCollection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Defines a source for this collection. + /// + [Output("sources")] + public Output> Sources { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a DynamodbCollection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DynamodbCollection(string name, DynamodbCollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/dynamodbCollection:DynamodbCollection", name, args ?? new DynamodbCollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private DynamodbCollection(string name, Input id, DynamodbCollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/dynamodbCollection:DynamodbCollection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DynamodbCollection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static DynamodbCollection Get(string name, Input id, DynamodbCollectionState? state = null, CustomResourceOptions? options = null) + { + return new DynamodbCollection(name, id, state, options); + } + } + + public sealed class DynamodbCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public DynamodbCollectionArgs() + { + } + public static new DynamodbCollectionArgs Empty => new DynamodbCollectionArgs(); + } + + public sealed class DynamodbCollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public DynamodbCollectionState() + { + } + public static new DynamodbCollectionState Empty => new DynamodbCollectionState(); + } +} diff --git a/sdk/dotnet/DynamodbIntegration.cs b/sdk/dotnet/DynamodbIntegration.cs new file mode 100644 index 0000000..d685673 --- /dev/null +++ b/sdk/dotnet/DynamodbIntegration.cs @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset DynamoDB Integration. + /// + [RocksetResourceType("rockset:index/dynamodbIntegration:DynamodbIntegration")] + public partial class DynamodbIntegration : global::Pulumi.CustomResource + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Output("awsRoleArn")] + public Output AwsRoleArn { get; private set; } = null!; + + /// + /// Text describing the integration. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// AWS S3 bucket name used for exporting the DynamoDB tables. + /// + [Output("s3ExportBucketName")] + public Output S3ExportBucketName { get; private set; } = null!; + + + /// + /// Create a DynamodbIntegration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DynamodbIntegration(string name, DynamodbIntegrationArgs args, CustomResourceOptions? options = null) + : base("rockset:index/dynamodbIntegration:DynamodbIntegration", name, args ?? new DynamodbIntegrationArgs(), MakeResourceOptions(options, "")) + { + } + + private DynamodbIntegration(string name, Input id, DynamodbIntegrationState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/dynamodbIntegration:DynamodbIntegration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DynamodbIntegration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static DynamodbIntegration Get(string name, Input id, DynamodbIntegrationState? state = null, CustomResourceOptions? options = null) + { + return new DynamodbIntegration(name, id, state, options); + } + } + + public sealed class DynamodbIntegrationArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Input("awsRoleArn", required: true)] + public Input AwsRoleArn { get; set; } = null!; + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// AWS S3 bucket name used for exporting the DynamoDB tables. + /// + [Input("s3ExportBucketName", required: true)] + public Input S3ExportBucketName { get; set; } = null!; + + public DynamodbIntegrationArgs() + { + } + public static new DynamodbIntegrationArgs Empty => new DynamodbIntegrationArgs(); + } + + public sealed class DynamodbIntegrationState : global::Pulumi.ResourceArgs + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Input("awsRoleArn")] + public Input? AwsRoleArn { get; set; } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// AWS S3 bucket name used for exporting the DynamoDB tables. + /// + [Input("s3ExportBucketName")] + public Input? S3ExportBucketName { get; set; } + + public DynamodbIntegrationState() + { + } + public static new DynamodbIntegrationState Empty => new DynamodbIntegrationState(); + } +} diff --git a/sdk/dotnet/GcsCollection.cs b/sdk/dotnet/GcsCollection.cs new file mode 100644 index 0000000..027a371 --- /dev/null +++ b/sdk/dotnet/GcsCollection.cs @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection with an GCS source attached. + /// + [RocksetResourceType("rockset:index/gcsCollection:GcsCollection")] + public partial class GcsCollection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Defines a source for this collection. + /// + [Output("sources")] + public Output> Sources { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a GcsCollection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public GcsCollection(string name, GcsCollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/gcsCollection:GcsCollection", name, args ?? new GcsCollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private GcsCollection(string name, Input id, GcsCollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/gcsCollection:GcsCollection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing GcsCollection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static GcsCollection Get(string name, Input id, GcsCollectionState? state = null, CustomResourceOptions? options = null) + { + return new GcsCollection(name, id, state, options); + } + } + + public sealed class GcsCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public GcsCollectionArgs() + { + } + public static new GcsCollectionArgs Empty => new GcsCollectionArgs(); + } + + public sealed class GcsCollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public GcsCollectionState() + { + } + public static new GcsCollectionState Empty => new GcsCollectionState(); + } +} diff --git a/sdk/dotnet/GcsIntegration.cs b/sdk/dotnet/GcsIntegration.cs new file mode 100644 index 0000000..342041a --- /dev/null +++ b/sdk/dotnet/GcsIntegration.cs @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset GCS Integration. + /// + [RocksetResourceType("rockset:index/gcsIntegration:GcsIntegration")] + public partial class GcsIntegration : global::Pulumi.CustomResource + { + /// + /// Text describing the integration. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The GCP service account key JSON. + /// + [Output("serviceAccountKey")] + public Output ServiceAccountKey { get; private set; } = null!; + + + /// + /// Create a GcsIntegration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public GcsIntegration(string name, GcsIntegrationArgs args, CustomResourceOptions? options = null) + : base("rockset:index/gcsIntegration:GcsIntegration", name, args ?? new GcsIntegrationArgs(), MakeResourceOptions(options, "")) + { + } + + private GcsIntegration(string name, Input id, GcsIntegrationState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/gcsIntegration:GcsIntegration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing GcsIntegration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static GcsIntegration Get(string name, Input id, GcsIntegrationState? state = null, CustomResourceOptions? options = null) + { + return new GcsIntegration(name, id, state, options); + } + } + + public sealed class GcsIntegrationArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The GCP service account key JSON. + /// + [Input("serviceAccountKey", required: true)] + public Input ServiceAccountKey { get; set; } = null!; + + public GcsIntegrationArgs() + { + } + public static new GcsIntegrationArgs Empty => new GcsIntegrationArgs(); + } + + public sealed class GcsIntegrationState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The GCP service account key JSON. + /// + [Input("serviceAccountKey")] + public Input? ServiceAccountKey { get; set; } + + public GcsIntegrationState() + { + } + public static new GcsIntegrationState Empty => new GcsIntegrationState(); + } +} diff --git a/sdk/dotnet/GetAccount.cs b/sdk/dotnet/GetAccount.cs new file mode 100644 index 0000000..18e55ad --- /dev/null +++ b/sdk/dotnet/GetAccount.cs @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + public static class GetAccount + { + /// + /// Gets information about the Rockset deployment for the specified api server. + /// + public static Task InvokeAsync(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("rockset:index/getAccount:getAccount", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Gets information about the Rockset deployment for the specified api server. + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("rockset:index/getAccount:getAccount", InvokeArgs.Empty, options.WithDefaults()); + } + + + [OutputType] + public sealed class GetAccountResult + { + /// + /// The AWS account ID to reference in AWS policies. + /// + public readonly string AccountId; + /// + /// The Rockset clusters available to this API key. + /// + public readonly ImmutableArray Clusters; + /// + /// The external ID to use in AWS trust policies. + /// + public readonly string ExternalId; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// The name of the organization for the API key. + /// + public readonly string Organization; + /// + /// The name of the Rockset user used for AWS trust policies. + /// + public readonly string RocksetUser; + + [OutputConstructor] + private GetAccountResult( + string accountId, + + ImmutableArray clusters, + + string externalId, + + string id, + + string organization, + + string rocksetUser) + { + AccountId = accountId; + Clusters = clusters; + ExternalId = externalId; + Id = id; + Organization = organization; + RocksetUser = rocksetUser; + } + } +} diff --git a/sdk/dotnet/GetQueryLambdaTag.cs b/sdk/dotnet/GetQueryLambdaTag.cs new file mode 100644 index 0000000..494a33e --- /dev/null +++ b/sdk/dotnet/GetQueryLambdaTag.cs @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + public static class GetQueryLambdaTag + { + public static Task InvokeAsync(GetQueryLambdaTagArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("rockset:index/getQueryLambdaTag:getQueryLambdaTag", args ?? new GetQueryLambdaTagArgs(), options.WithDefaults()); + + public static Output Invoke(GetQueryLambdaTagInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("rockset:index/getQueryLambdaTag:getQueryLambdaTag", args ?? new GetQueryLambdaTagInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetQueryLambdaTagArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the query lambda. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// Tag name. + /// + [Input("tag", required: true)] + public string Tag { get; set; } = null!; + + /// + /// Workspace the query lambda resides in. + /// + [Input("workspace", required: true)] + public string Workspace { get; set; } = null!; + + public GetQueryLambdaTagArgs() + { + } + public static new GetQueryLambdaTagArgs Empty => new GetQueryLambdaTagArgs(); + } + + public sealed class GetQueryLambdaTagInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the query lambda. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Tag name. + /// + [Input("tag", required: true)] + public Input Tag { get; set; } = null!; + + /// + /// Workspace the query lambda resides in. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public GetQueryLambdaTagInvokeArgs() + { + } + public static new GetQueryLambdaTagInvokeArgs Empty => new GetQueryLambdaTagInvokeArgs(); + } + + + [OutputType] + public sealed class GetQueryLambdaTagResult + { + /// + /// Description of the query lambda. + /// + public readonly string Description; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Last time the query lambda was executed. + /// + public readonly string LastExecuted; + /// + /// Name of the query lambda. + /// + public readonly string Name; + /// + /// Query lambda SQL. + /// + public readonly string Sql; + /// + /// Tag name. + /// + public readonly string Tag; + /// + /// Query lambda tag version. + /// + public readonly string Version; + /// + /// Workspace the query lambda resides in. + /// + public readonly string Workspace; + + [OutputConstructor] + private GetQueryLambdaTagResult( + string description, + + string id, + + string lastExecuted, + + string name, + + string sql, + + string tag, + + string version, + + string workspace) + { + Description = description; + Id = id; + LastExecuted = lastExecuted; + Name = name; + Sql = sql; + Tag = tag; + Version = version; + Workspace = workspace; + } + } +} diff --git a/sdk/dotnet/GetUser.cs b/sdk/dotnet/GetUser.cs new file mode 100644 index 0000000..d93347d --- /dev/null +++ b/sdk/dotnet/GetUser.cs @@ -0,0 +1,151 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + public static class GetUser + { + /// + /// This data source can be used to fetch information about a specific user. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var pme = Rockset.GetUser.Invoke(new() + /// { + /// Email = "pme@rockset.com", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetUserArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("rockset:index/getUser:getUser", args ?? new GetUserArgs(), options.WithDefaults()); + + /// + /// This data source can be used to fetch information about a specific user. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var pme = Rockset.GetUser.Invoke(new() + /// { + /// Email = "pme@rockset.com", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetUserInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("rockset:index/getUser:getUser", args ?? new GetUserInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetUserArgs : global::Pulumi.InvokeArgs + { + /// + /// User email. + /// + [Input("email", required: true)] + public string Email { get; set; } = null!; + + public GetUserArgs() + { + } + public static new GetUserArgs Empty => new GetUserArgs(); + } + + public sealed class GetUserInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// User email. + /// + [Input("email", required: true)] + public Input Email { get; set; } = null!; + + public GetUserInvokeArgs() + { + } + public static new GetUserInvokeArgs Empty => new GetUserInvokeArgs(); + } + + + [OutputType] + public sealed class GetUserResult + { + /// + /// User email. + /// + public readonly string Email; + /// + /// User's first name. + /// + public readonly string FirstName; + /// + /// The user ID, in the form of the `email`. + /// + public readonly string Id; + /// + /// User's last name. + /// + public readonly string LastName; + /// + /// List of roles for the user. E.g. 'admin', 'member', 'read-only'. + /// + public readonly ImmutableArray Roles; + /// + /// State of the user, either NEW or ACTIVE. + /// + public readonly string State; + + [OutputConstructor] + private GetUserResult( + string email, + + string firstName, + + string id, + + string lastName, + + ImmutableArray roles, + + string state) + { + Email = email; + FirstName = firstName; + Id = id; + LastName = lastName; + Roles = roles; + State = state; + } + } +} diff --git a/sdk/dotnet/GetVirtualInstance.cs b/sdk/dotnet/GetVirtualInstance.cs new file mode 100644 index 0000000..1329e16 --- /dev/null +++ b/sdk/dotnet/GetVirtualInstance.cs @@ -0,0 +1,237 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + public static class GetVirtualInstance + { + public static Task InvokeAsync(GetVirtualInstanceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("rockset:index/getVirtualInstance:getVirtualInstance", args ?? new GetVirtualInstanceArgs(), options.WithDefaults()); + + public static Output Invoke(GetVirtualInstanceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("rockset:index/getVirtualInstance:getVirtualInstance", args ?? new GetVirtualInstanceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualInstanceArgs : global::Pulumi.InvokeArgs + { + /// + /// Number of seconds without queries after which the Virtual Instance is suspended. + /// + [Input("autoSuspendSeconds")] + public int? AutoSuspendSeconds { get; set; } + + /// + /// Virtual Instance current size. + /// + [Input("currentSize")] + public string? CurrentSize { get; set; } + + /// + /// Virtual Instance name. + /// + [Input("default")] + public bool? Default { get; set; } + + /// + /// Virtual Instance description. + /// + [Input("description")] + public string? Description { get; set; } + + /// + /// Virtual Instance desired size. + /// + [Input("desiredSize")] + public string? DesiredSize { get; set; } + + /// + /// When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + /// + [Input("enableRemountOnResume")] + public bool? EnableRemountOnResume { get; set; } + + /// + /// Virtual Instance id. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + /// + /// Number of seconds between data refreshes for mounts on this Virtual Instance. + /// + [Input("mountRefreshIntervalSeconds")] + public int? MountRefreshIntervalSeconds { get; set; } + + /// + /// Virtual Instance name. + /// + [Input("name")] + public string? Name { get; set; } + + /// + /// Virtual Instance state. + /// + [Input("state")] + public string? State { get; set; } + + public GetVirtualInstanceArgs() + { + } + public static new GetVirtualInstanceArgs Empty => new GetVirtualInstanceArgs(); + } + + public sealed class GetVirtualInstanceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Number of seconds without queries after which the Virtual Instance is suspended. + /// + [Input("autoSuspendSeconds")] + public Input? AutoSuspendSeconds { get; set; } + + /// + /// Virtual Instance current size. + /// + [Input("currentSize")] + public Input? CurrentSize { get; set; } + + /// + /// Virtual Instance name. + /// + [Input("default")] + public Input? Default { get; set; } + + /// + /// Virtual Instance description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Virtual Instance desired size. + /// + [Input("desiredSize")] + public Input? DesiredSize { get; set; } + + /// + /// When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + /// + [Input("enableRemountOnResume")] + public Input? EnableRemountOnResume { get; set; } + + /// + /// Virtual Instance id. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// Number of seconds between data refreshes for mounts on this Virtual Instance. + /// + [Input("mountRefreshIntervalSeconds")] + public Input? MountRefreshIntervalSeconds { get; set; } + + /// + /// Virtual Instance name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Virtual Instance state. + /// + [Input("state")] + public Input? State { get; set; } + + public GetVirtualInstanceInvokeArgs() + { + } + public static new GetVirtualInstanceInvokeArgs Empty => new GetVirtualInstanceInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualInstanceResult + { + /// + /// Number of seconds without queries after which the Virtual Instance is suspended. + /// + public readonly int? AutoSuspendSeconds; + /// + /// Virtual Instance current size. + /// + public readonly string? CurrentSize; + /// + /// Virtual Instance name. + /// + public readonly bool? Default; + /// + /// Virtual Instance description. + /// + public readonly string? Description; + /// + /// Virtual Instance desired size. + /// + public readonly string? DesiredSize; + /// + /// When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + /// + public readonly bool? EnableRemountOnResume; + /// + /// Virtual Instance id. + /// + public readonly string Id; + /// + /// Number of seconds between data refreshes for mounts on this Virtual Instance. + /// + public readonly int? MountRefreshIntervalSeconds; + /// + /// Virtual Instance name. + /// + public readonly string? Name; + /// + /// Virtual Instance state. + /// + public readonly string? State; + + [OutputConstructor] + private GetVirtualInstanceResult( + int? autoSuspendSeconds, + + string? currentSize, + + bool? @default, + + string? description, + + string? desiredSize, + + bool? enableRemountOnResume, + + string id, + + int? mountRefreshIntervalSeconds, + + string? name, + + string? state) + { + AutoSuspendSeconds = autoSuspendSeconds; + CurrentSize = currentSize; + Default = @default; + Description = description; + DesiredSize = desiredSize; + EnableRemountOnResume = enableRemountOnResume; + Id = id; + MountRefreshIntervalSeconds = mountRefreshIntervalSeconds; + Name = name; + State = state; + } + } +} diff --git a/sdk/dotnet/GetWorkspace.cs b/sdk/dotnet/GetWorkspace.cs new file mode 100644 index 0000000..0c60f61 --- /dev/null +++ b/sdk/dotnet/GetWorkspace.cs @@ -0,0 +1,151 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + public static class GetWorkspace + { + /// + /// Gets information about a workspace. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var demo = Rockset.GetWorkspace.Invoke(new() + /// { + /// Name = "demo", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetWorkspaceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("rockset:index/getWorkspace:getWorkspace", args ?? new GetWorkspaceArgs(), options.WithDefaults()); + + /// + /// Gets information about a workspace. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var demo = Rockset.GetWorkspace.Invoke(new() + /// { + /// Name = "demo", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetWorkspaceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("rockset:index/getWorkspace:getWorkspace", args ?? new GetWorkspaceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetWorkspaceArgs : global::Pulumi.InvokeArgs + { + /// + /// Workspace name. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetWorkspaceArgs() + { + } + public static new GetWorkspaceArgs Empty => new GetWorkspaceArgs(); + } + + public sealed class GetWorkspaceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Workspace name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GetWorkspaceInvokeArgs() + { + } + public static new GetWorkspaceInvokeArgs Empty => new GetWorkspaceInvokeArgs(); + } + + + [OutputType] + public sealed class GetWorkspaceResult + { + /// + /// Number of collections in the workspace. + /// + public readonly int CollectionCount; + /// + /// Created at in ISO-8601. + /// + public readonly string CreatedAt; + /// + /// Created by. + /// + public readonly string CreatedBy; + /// + /// Workspace description. + /// + public readonly string Description; + /// + /// The workspace `name`. + /// + public readonly string Id; + /// + /// Workspace name. + /// + public readonly string Name; + + [OutputConstructor] + private GetWorkspaceResult( + int collectionCount, + + string createdAt, + + string createdBy, + + string description, + + string id, + + string name) + { + CollectionCount = collectionCount; + CreatedAt = createdAt; + CreatedBy = createdBy; + Description = description; + Id = id; + Name = name; + } + } +} diff --git a/sdk/dotnet/Inputs/DynamodbCollectionSourceArgs.cs b/sdk/dotnet/Inputs/DynamodbCollectionSourceArgs.cs new file mode 100644 index 0000000..8153c47 --- /dev/null +++ b/sdk/dotnet/Inputs/DynamodbCollectionSourceArgs.cs @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class DynamodbCollectionSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS region name of DynamoDB table, by default us-west-2 is used. + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + /// + /// The name of the Rockset DynamoDB integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Max RCU usage for scan. + /// + [Input("rcu")] + public Input? Rcu { get; set; } + + /// + /// DynamoDB scan end time. + /// + [Input("scanEndTime")] + public Input? ScanEndTime { get; set; } + + /// + /// Number of records inserted using scan. + /// + [Input("scanRecordsProcessed")] + public Input? ScanRecordsProcessed { get; set; } + + /// + /// DynamoDB scan start time. + /// + [Input("scanStartTime")] + public Input? ScanStartTime { get; set; } + + /// + /// Number of records in DynamoDB table at time of scan. + /// + [Input("scanTotalRecords")] + public Input? ScanTotalRecords { get; set; } + + /// + /// State of current ingest for this table. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// ISO-8601 date when source was last processed. + /// + [Input("streamLastProcessedAt")] + public Input? StreamLastProcessedAt { get; set; } + + /// + /// Name of DynamoDB table containing data. + /// + [Input("tableName", required: true)] + public Input TableName { get; set; } = null!; + + /// + /// Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + /// + [Input("useScanApi")] + public Input? UseScanApi { get; set; } + + public DynamodbCollectionSourceArgs() + { + } + public static new DynamodbCollectionSourceArgs Empty => new DynamodbCollectionSourceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DynamodbCollectionSourceGetArgs.cs b/sdk/dotnet/Inputs/DynamodbCollectionSourceGetArgs.cs new file mode 100644 index 0000000..7dec8bf --- /dev/null +++ b/sdk/dotnet/Inputs/DynamodbCollectionSourceGetArgs.cs @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class DynamodbCollectionSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS region name of DynamoDB table, by default us-west-2 is used. + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + /// + /// The name of the Rockset DynamoDB integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Max RCU usage for scan. + /// + [Input("rcu")] + public Input? Rcu { get; set; } + + /// + /// DynamoDB scan end time. + /// + [Input("scanEndTime")] + public Input? ScanEndTime { get; set; } + + /// + /// Number of records inserted using scan. + /// + [Input("scanRecordsProcessed")] + public Input? ScanRecordsProcessed { get; set; } + + /// + /// DynamoDB scan start time. + /// + [Input("scanStartTime")] + public Input? ScanStartTime { get; set; } + + /// + /// Number of records in DynamoDB table at time of scan. + /// + [Input("scanTotalRecords")] + public Input? ScanTotalRecords { get; set; } + + /// + /// State of current ingest for this table. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// ISO-8601 date when source was last processed. + /// + [Input("streamLastProcessedAt")] + public Input? StreamLastProcessedAt { get; set; } + + /// + /// Name of DynamoDB table containing data. + /// + [Input("tableName", required: true)] + public Input TableName { get; set; } = null!; + + /// + /// Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + /// + [Input("useScanApi")] + public Input? UseScanApi { get; set; } + + public DynamodbCollectionSourceGetArgs() + { + } + public static new DynamodbCollectionSourceGetArgs Empty => new DynamodbCollectionSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GcsCollectionSourceArgs.cs b/sdk/dotnet/Inputs/GcsCollectionSourceArgs.cs new file mode 100644 index 0000000..c62eeaa --- /dev/null +++ b/sdk/dotnet/Inputs/GcsCollectionSourceArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class GcsCollectionSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// GCS bucket containing the target data. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + [Input("csv")] + public Input? Csv { get; set; } + + /// + /// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The name of the Rockset GCS integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Simple path prefix to GCS key. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("xml")] + public Input? Xml { get; set; } + + public GcsCollectionSourceArgs() + { + } + public static new GcsCollectionSourceArgs Empty => new GcsCollectionSourceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GcsCollectionSourceCsvArgs.cs b/sdk/dotnet/Inputs/GcsCollectionSourceCsvArgs.cs new file mode 100644 index 0000000..7897126 --- /dev/null +++ b/sdk/dotnet/Inputs/GcsCollectionSourceCsvArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class GcsCollectionSourceCsvArgs : global::Pulumi.ResourceArgs + { + [Input("columnNames")] + private InputList? _columnNames; + + /// + /// The names of the columns. + /// + public InputList ColumnNames + { + get => _columnNames ?? (_columnNames = new InputList()); + set => _columnNames = value; + } + + [Input("columnTypes")] + private InputList? _columnTypes; + + /// + /// The types of the columns. + /// + public InputList ColumnTypes + { + get => _columnTypes ?? (_columnTypes = new InputList()); + set => _columnTypes = value; + } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Escape character removes any special meaning from the character that follows it. Defaults to backslash. + /// + [Input("escapeChar")] + public Input? EscapeChar { get; set; } + + /// + /// If the first line in every object specifies the column names. + /// + [Input("firstLineAsColumnNames")] + public Input? FirstLineAsColumnNames { get; set; } + + /// + /// Character within which a cell value is enclosed. Defaults to double quote. + /// + [Input("quoteChar")] + public Input? QuoteChar { get; set; } + + /// + /// A single character that is the column separator. + /// + [Input("separator")] + public Input? Separator { get; set; } + + public GcsCollectionSourceCsvArgs() + { + } + public static new GcsCollectionSourceCsvArgs Empty => new GcsCollectionSourceCsvArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GcsCollectionSourceCsvGetArgs.cs b/sdk/dotnet/Inputs/GcsCollectionSourceCsvGetArgs.cs new file mode 100644 index 0000000..33d9c55 --- /dev/null +++ b/sdk/dotnet/Inputs/GcsCollectionSourceCsvGetArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class GcsCollectionSourceCsvGetArgs : global::Pulumi.ResourceArgs + { + [Input("columnNames")] + private InputList? _columnNames; + + /// + /// The names of the columns. + /// + public InputList ColumnNames + { + get => _columnNames ?? (_columnNames = new InputList()); + set => _columnNames = value; + } + + [Input("columnTypes")] + private InputList? _columnTypes; + + /// + /// The types of the columns. + /// + public InputList ColumnTypes + { + get => _columnTypes ?? (_columnTypes = new InputList()); + set => _columnTypes = value; + } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Escape character removes any special meaning from the character that follows it. Defaults to backslash. + /// + [Input("escapeChar")] + public Input? EscapeChar { get; set; } + + /// + /// If the first line in every object specifies the column names. + /// + [Input("firstLineAsColumnNames")] + public Input? FirstLineAsColumnNames { get; set; } + + /// + /// Character within which a cell value is enclosed. Defaults to double quote. + /// + [Input("quoteChar")] + public Input? QuoteChar { get; set; } + + /// + /// A single character that is the column separator. + /// + [Input("separator")] + public Input? Separator { get; set; } + + public GcsCollectionSourceCsvGetArgs() + { + } + public static new GcsCollectionSourceCsvGetArgs Empty => new GcsCollectionSourceCsvGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GcsCollectionSourceGetArgs.cs b/sdk/dotnet/Inputs/GcsCollectionSourceGetArgs.cs new file mode 100644 index 0000000..d618c5b --- /dev/null +++ b/sdk/dotnet/Inputs/GcsCollectionSourceGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class GcsCollectionSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// GCS bucket containing the target data. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + [Input("csv")] + public Input? Csv { get; set; } + + /// + /// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The name of the Rockset GCS integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Simple path prefix to GCS key. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("xml")] + public Input? Xml { get; set; } + + public GcsCollectionSourceGetArgs() + { + } + public static new GcsCollectionSourceGetArgs Empty => new GcsCollectionSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GcsCollectionSourceXmlArgs.cs b/sdk/dotnet/Inputs/GcsCollectionSourceXmlArgs.cs new file mode 100644 index 0000000..ab0d864 --- /dev/null +++ b/sdk/dotnet/Inputs/GcsCollectionSourceXmlArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class GcsCollectionSourceXmlArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag to differentiate between attributes and elements. + /// + [Input("attributePrefix")] + public Input? AttributePrefix { get; set; } + + /// + /// Tags with which documents are identified + /// + [Input("docTag")] + public Input? DocTag { get; set; } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Tag until which xml is ignored. + /// + [Input("rootTag")] + public Input? RootTag { get; set; } + + /// + /// Tag used for the value when there are attributes in the element having no child. + /// + [Input("valueTag")] + public Input? ValueTag { get; set; } + + public GcsCollectionSourceXmlArgs() + { + } + public static new GcsCollectionSourceXmlArgs Empty => new GcsCollectionSourceXmlArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GcsCollectionSourceXmlGetArgs.cs b/sdk/dotnet/Inputs/GcsCollectionSourceXmlGetArgs.cs new file mode 100644 index 0000000..22c8b23 --- /dev/null +++ b/sdk/dotnet/Inputs/GcsCollectionSourceXmlGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class GcsCollectionSourceXmlGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag to differentiate between attributes and elements. + /// + [Input("attributePrefix")] + public Input? AttributePrefix { get; set; } + + /// + /// Tags with which documents are identified + /// + [Input("docTag")] + public Input? DocTag { get; set; } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Tag until which xml is ignored. + /// + [Input("rootTag")] + public Input? RootTag { get; set; } + + /// + /// Tag used for the value when there are attributes in the element having no child. + /// + [Input("valueTag")] + public Input? ValueTag { get; set; } + + public GcsCollectionSourceXmlGetArgs() + { + } + public static new GcsCollectionSourceXmlGetArgs Empty => new GcsCollectionSourceXmlGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KafkaCollectionSourceArgs.cs b/sdk/dotnet/Inputs/KafkaCollectionSourceArgs.cs new file mode 100644 index 0000000..b187429 --- /dev/null +++ b/sdk/dotnet/Inputs/KafkaCollectionSourceArgs.cs @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KafkaCollectionSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The Kafka consumer group Id being used. + /// + [Input("consumerGroupId")] + public Input? ConsumerGroupId { get; set; } + + /// + /// The name of the Rockset Kafka integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + /// + [Input("offsetResetPolicy")] + public Input? OffsetResetPolicy { get; set; } + + [Input("statuses")] + private InputList? _statuses; + public InputList Statuses + { + get => _statuses ?? (_statuses = new InputList()); + set => _statuses = value; + } + + /// + /// Name of Kafka topic to be tailed. + /// + [Input("topicName", required: true)] + public Input TopicName { get; set; } = null!; + + /// + /// Whether to use v3 integration. Required if the kafka integration uses v3. + /// + [Input("useV3")] + public Input? UseV3 { get; set; } + + public KafkaCollectionSourceArgs() + { + } + public static new KafkaCollectionSourceArgs Empty => new KafkaCollectionSourceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KafkaCollectionSourceGetArgs.cs b/sdk/dotnet/Inputs/KafkaCollectionSourceGetArgs.cs new file mode 100644 index 0000000..b236dd1 --- /dev/null +++ b/sdk/dotnet/Inputs/KafkaCollectionSourceGetArgs.cs @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KafkaCollectionSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Kafka consumer group Id being used. + /// + [Input("consumerGroupId")] + public Input? ConsumerGroupId { get; set; } + + /// + /// The name of the Rockset Kafka integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + /// + [Input("offsetResetPolicy")] + public Input? OffsetResetPolicy { get; set; } + + [Input("statuses")] + private InputList? _statuses; + public InputList Statuses + { + get => _statuses ?? (_statuses = new InputList()); + set => _statuses = value; + } + + /// + /// Name of Kafka topic to be tailed. + /// + [Input("topicName", required: true)] + public Input TopicName { get; set; } = null!; + + /// + /// Whether to use v3 integration. Required if the kafka integration uses v3. + /// + [Input("useV3")] + public Input? UseV3 { get; set; } + + public KafkaCollectionSourceGetArgs() + { + } + public static new KafkaCollectionSourceGetArgs Empty => new KafkaCollectionSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KafkaCollectionSourceStatusArgs.cs b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusArgs.cs new file mode 100644 index 0000000..15bd273 --- /dev/null +++ b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusArgs.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KafkaCollectionSourceStatusArgs : global::Pulumi.ResourceArgs + { + [Input("documentsProcessed")] + public Input? DocumentsProcessed { get; set; } + + [Input("lastConsumedTime")] + public Input? LastConsumedTime { get; set; } + + [Input("partitions")] + private InputList? _partitions; + public InputList Partitions + { + get => _partitions ?? (_partitions = new InputList()); + set => _partitions = value; + } + + [Input("state")] + public Input? State { get; set; } + + public KafkaCollectionSourceStatusArgs() + { + } + public static new KafkaCollectionSourceStatusArgs Empty => new KafkaCollectionSourceStatusArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KafkaCollectionSourceStatusGetArgs.cs b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusGetArgs.cs new file mode 100644 index 0000000..36f6e1e --- /dev/null +++ b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusGetArgs.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KafkaCollectionSourceStatusGetArgs : global::Pulumi.ResourceArgs + { + [Input("documentsProcessed")] + public Input? DocumentsProcessed { get; set; } + + [Input("lastConsumedTime")] + public Input? LastConsumedTime { get; set; } + + [Input("partitions")] + private InputList? _partitions; + public InputList Partitions + { + get => _partitions ?? (_partitions = new InputList()); + set => _partitions = value; + } + + [Input("state")] + public Input? State { get; set; } + + public KafkaCollectionSourceStatusGetArgs() + { + } + public static new KafkaCollectionSourceStatusGetArgs Empty => new KafkaCollectionSourceStatusGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionArgs.cs b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionArgs.cs new file mode 100644 index 0000000..dddb0f6 --- /dev/null +++ b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KafkaCollectionSourceStatusPartitionArgs : global::Pulumi.ResourceArgs + { + [Input("offsetLag")] + public Input? OffsetLag { get; set; } + + [Input("partitionNumber")] + public Input? PartitionNumber { get; set; } + + [Input("partitionOffset")] + public Input? PartitionOffset { get; set; } + + public KafkaCollectionSourceStatusPartitionArgs() + { + } + public static new KafkaCollectionSourceStatusPartitionArgs Empty => new KafkaCollectionSourceStatusPartitionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionGetArgs.cs b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionGetArgs.cs new file mode 100644 index 0000000..ed28dff --- /dev/null +++ b/sdk/dotnet/Inputs/KafkaCollectionSourceStatusPartitionGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KafkaCollectionSourceStatusPartitionGetArgs : global::Pulumi.ResourceArgs + { + [Input("offsetLag")] + public Input? OffsetLag { get; set; } + + [Input("partitionNumber")] + public Input? PartitionNumber { get; set; } + + [Input("partitionOffset")] + public Input? PartitionOffset { get; set; } + + public KafkaCollectionSourceStatusPartitionGetArgs() + { + } + public static new KafkaCollectionSourceStatusPartitionGetArgs Empty => new KafkaCollectionSourceStatusPartitionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KinesisCollectionSourceArgs.cs b/sdk/dotnet/Inputs/KinesisCollectionSourceArgs.cs new file mode 100644 index 0000000..f5063d4 --- /dev/null +++ b/sdk/dotnet/Inputs/KinesisCollectionSourceArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KinesisCollectionSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS region name for the Kinesis stream, by default us-west-2 is used + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + [Input("dmsPrimaryKeys")] + private InputList? _dmsPrimaryKeys; + + /// + /// Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + /// + public InputList DmsPrimaryKeys + { + get => _dmsPrimaryKeys ?? (_dmsPrimaryKeys = new InputList()); + set => _dmsPrimaryKeys = value; + } + + /// + /// Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The name of the Rockset Kinesis integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Name of Kinesis stream. + /// + [Input("streamName", required: true)] + public Input StreamName { get; set; } = null!; + + public KinesisCollectionSourceArgs() + { + } + public static new KinesisCollectionSourceArgs Empty => new KinesisCollectionSourceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KinesisCollectionSourceGetArgs.cs b/sdk/dotnet/Inputs/KinesisCollectionSourceGetArgs.cs new file mode 100644 index 0000000..bec1bcc --- /dev/null +++ b/sdk/dotnet/Inputs/KinesisCollectionSourceGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class KinesisCollectionSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS region name for the Kinesis stream, by default us-west-2 is used + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + [Input("dmsPrimaryKeys")] + private InputList? _dmsPrimaryKeys; + + /// + /// Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + /// + public InputList DmsPrimaryKeys + { + get => _dmsPrimaryKeys ?? (_dmsPrimaryKeys = new InputList()); + set => _dmsPrimaryKeys = value; + } + + /// + /// Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The name of the Rockset Kinesis integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Name of Kinesis stream. + /// + [Input("streamName", required: true)] + public Input StreamName { get; set; } = null!; + + public KinesisCollectionSourceGetArgs() + { + } + public static new KinesisCollectionSourceGetArgs Empty => new KinesisCollectionSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MongodbCollectionSourceArgs.cs b/sdk/dotnet/Inputs/MongodbCollectionSourceArgs.cs new file mode 100644 index 0000000..9667eac --- /dev/null +++ b/sdk/dotnet/Inputs/MongodbCollectionSourceArgs.cs @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class MongodbCollectionSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// MongoDB collection name of the target collection. + /// + [Input("collectionName", required: true)] + public Input CollectionName { get; set; } = null!; + + /// + /// MongoDB database name containing the target collection. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + /// + /// The name of the Rockset MongoDB integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + [Input("retrieveFullDocument")] + public Input? RetrieveFullDocument { get; set; } + + /// + /// MongoDB scan end time. + /// + [Input("scanEndTime")] + public Input? ScanEndTime { get; set; } + + /// + /// Number of records inserted using scan. + /// + [Input("scanRecordsProcessed")] + public Input? ScanRecordsProcessed { get; set; } + + /// + /// MongoDB scan start time. + /// + [Input("scanStartTime")] + public Input? ScanStartTime { get; set; } + + /// + /// Number of records in MongoDB table at time of scan. + /// + [Input("scanTotalRecords")] + public Input? ScanTotalRecords { get; set; } + + /// + /// State of current ingest for this table. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// ISO-8601 date when delete from source was last processed. + /// + [Input("streamLastDeleteProcessedAt")] + public Input? StreamLastDeleteProcessedAt { get; set; } + + /// + /// ISO-8601 date when new insert from source was last processed. + /// + [Input("streamLastInsertProcessedAt")] + public Input? StreamLastInsertProcessedAt { get; set; } + + /// + /// ISO-8601 date when update from source was last processed. + /// + [Input("streamLastUpdateProcessedAt")] + public Input? StreamLastUpdateProcessedAt { get; set; } + + /// + /// Number of new records deleted using stream. + /// + [Input("streamRecordsDeleted")] + public Input? StreamRecordsDeleted { get; set; } + + /// + /// Number of new records inserted using stream. + /// + [Input("streamRecordsInserted")] + public Input? StreamRecordsInserted { get; set; } + + /// + /// Number of new records updated using stream. + /// + [Input("streamRecordsUpdated")] + public Input? StreamRecordsUpdated { get; set; } + + public MongodbCollectionSourceArgs() + { + } + public static new MongodbCollectionSourceArgs Empty => new MongodbCollectionSourceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MongodbCollectionSourceGetArgs.cs b/sdk/dotnet/Inputs/MongodbCollectionSourceGetArgs.cs new file mode 100644 index 0000000..19f827f --- /dev/null +++ b/sdk/dotnet/Inputs/MongodbCollectionSourceGetArgs.cs @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class MongodbCollectionSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// MongoDB collection name of the target collection. + /// + [Input("collectionName", required: true)] + public Input CollectionName { get; set; } = null!; + + /// + /// MongoDB database name containing the target collection. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + /// + /// The name of the Rockset MongoDB integration. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + [Input("retrieveFullDocument")] + public Input? RetrieveFullDocument { get; set; } + + /// + /// MongoDB scan end time. + /// + [Input("scanEndTime")] + public Input? ScanEndTime { get; set; } + + /// + /// Number of records inserted using scan. + /// + [Input("scanRecordsProcessed")] + public Input? ScanRecordsProcessed { get; set; } + + /// + /// MongoDB scan start time. + /// + [Input("scanStartTime")] + public Input? ScanStartTime { get; set; } + + /// + /// Number of records in MongoDB table at time of scan. + /// + [Input("scanTotalRecords")] + public Input? ScanTotalRecords { get; set; } + + /// + /// State of current ingest for this table. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// ISO-8601 date when delete from source was last processed. + /// + [Input("streamLastDeleteProcessedAt")] + public Input? StreamLastDeleteProcessedAt { get; set; } + + /// + /// ISO-8601 date when new insert from source was last processed. + /// + [Input("streamLastInsertProcessedAt")] + public Input? StreamLastInsertProcessedAt { get; set; } + + /// + /// ISO-8601 date when update from source was last processed. + /// + [Input("streamLastUpdateProcessedAt")] + public Input? StreamLastUpdateProcessedAt { get; set; } + + /// + /// Number of new records deleted using stream. + /// + [Input("streamRecordsDeleted")] + public Input? StreamRecordsDeleted { get; set; } + + /// + /// Number of new records inserted using stream. + /// + [Input("streamRecordsInserted")] + public Input? StreamRecordsInserted { get; set; } + + /// + /// Number of new records updated using stream. + /// + [Input("streamRecordsUpdated")] + public Input? StreamRecordsUpdated { get; set; } + + public MongodbCollectionSourceGetArgs() + { + } + public static new MongodbCollectionSourceGetArgs Empty => new MongodbCollectionSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/QueryLambdaSqlArgs.cs b/sdk/dotnet/Inputs/QueryLambdaSqlArgs.cs new file mode 100644 index 0000000..89dbf6b --- /dev/null +++ b/sdk/dotnet/Inputs/QueryLambdaSqlArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class QueryLambdaSqlArgs : global::Pulumi.ResourceArgs + { + [Input("defaultParameters")] + private InputList? _defaultParameters; + public InputList DefaultParameters + { + get => _defaultParameters ?? (_defaultParameters = new InputList()); + set => _defaultParameters = value; + } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public QueryLambdaSqlArgs() + { + } + public static new QueryLambdaSqlArgs Empty => new QueryLambdaSqlArgs(); + } +} diff --git a/sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterArgs.cs b/sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterArgs.cs new file mode 100644 index 0000000..cd0dbf0 --- /dev/null +++ b/sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class QueryLambdaSqlDefaultParameterArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public QueryLambdaSqlDefaultParameterArgs() + { + } + public static new QueryLambdaSqlDefaultParameterArgs Empty => new QueryLambdaSqlDefaultParameterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterGetArgs.cs b/sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterGetArgs.cs new file mode 100644 index 0000000..24c7a66 --- /dev/null +++ b/sdk/dotnet/Inputs/QueryLambdaSqlDefaultParameterGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class QueryLambdaSqlDefaultParameterGetArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public QueryLambdaSqlDefaultParameterGetArgs() + { + } + public static new QueryLambdaSqlDefaultParameterGetArgs Empty => new QueryLambdaSqlDefaultParameterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/QueryLambdaSqlGetArgs.cs b/sdk/dotnet/Inputs/QueryLambdaSqlGetArgs.cs new file mode 100644 index 0000000..4cc778f --- /dev/null +++ b/sdk/dotnet/Inputs/QueryLambdaSqlGetArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class QueryLambdaSqlGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultParameters")] + private InputList? _defaultParameters; + public InputList DefaultParameters + { + get => _defaultParameters ?? (_defaultParameters = new InputList()); + set => _defaultParameters = value; + } + + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + public QueryLambdaSqlGetArgs() + { + } + public static new QueryLambdaSqlGetArgs Empty => new QueryLambdaSqlGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RolePrivilegeArgs.cs b/sdk/dotnet/Inputs/RolePrivilegeArgs.cs new file mode 100644 index 0000000..679d564 --- /dev/null +++ b/sdk/dotnet/Inputs/RolePrivilegeArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class RolePrivilegeArgs : global::Pulumi.ResourceArgs + { + /// + /// The action allowed by this privilege. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + /// + [Input("cluster")] + public Input? Cluster { get; set; } + + /// + /// The resource on which this action is allowed. Defaults to 'All' if not specified. + /// + [Input("resourceName")] + public Input? ResourceName { get; set; } + + public RolePrivilegeArgs() + { + } + public static new RolePrivilegeArgs Empty => new RolePrivilegeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RolePrivilegeGetArgs.cs b/sdk/dotnet/Inputs/RolePrivilegeGetArgs.cs new file mode 100644 index 0000000..330064d --- /dev/null +++ b/sdk/dotnet/Inputs/RolePrivilegeGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class RolePrivilegeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The action allowed by this privilege. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + /// + [Input("cluster")] + public Input? Cluster { get; set; } + + /// + /// The resource on which this action is allowed. Defaults to 'All' if not specified. + /// + [Input("resourceName")] + public Input? ResourceName { get; set; } + + public RolePrivilegeGetArgs() + { + } + public static new RolePrivilegeGetArgs Empty => new RolePrivilegeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/S3CollectionSourceArgs.cs b/sdk/dotnet/Inputs/S3CollectionSourceArgs.cs new file mode 100644 index 0000000..7e85b9d --- /dev/null +++ b/sdk/dotnet/Inputs/S3CollectionSourceArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class S3CollectionSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 bucket containing the target data. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + [Input("csv")] + public Input? Csv { get; set; } + + /// + /// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Regex path pattern to S3 keys. + /// + [Input("pattern")] + public Input? Pattern { get; set; } + + /// + /// Simple path prefix to S3 keys. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("xml")] + public Input? Xml { get; set; } + + public S3CollectionSourceArgs() + { + } + public static new S3CollectionSourceArgs Empty => new S3CollectionSourceArgs(); + } +} diff --git a/sdk/dotnet/Inputs/S3CollectionSourceCsvArgs.cs b/sdk/dotnet/Inputs/S3CollectionSourceCsvArgs.cs new file mode 100644 index 0000000..399d07e --- /dev/null +++ b/sdk/dotnet/Inputs/S3CollectionSourceCsvArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class S3CollectionSourceCsvArgs : global::Pulumi.ResourceArgs + { + [Input("columnNames")] + private InputList? _columnNames; + + /// + /// The names of the columns. + /// + public InputList ColumnNames + { + get => _columnNames ?? (_columnNames = new InputList()); + set => _columnNames = value; + } + + [Input("columnTypes")] + private InputList? _columnTypes; + + /// + /// The types of the columns. + /// + public InputList ColumnTypes + { + get => _columnTypes ?? (_columnTypes = new InputList()); + set => _columnTypes = value; + } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Escape character removes any special meaning from the character that follows it. Defaults to backslash. + /// + [Input("escapeChar")] + public Input? EscapeChar { get; set; } + + /// + /// If the first line in every object specifies the column names. + /// + [Input("firstLineAsColumnNames")] + public Input? FirstLineAsColumnNames { get; set; } + + /// + /// Character within which a cell value is enclosed. Defaults to double quote. + /// + [Input("quoteChar")] + public Input? QuoteChar { get; set; } + + /// + /// A single character that is the column separator. + /// + [Input("separator")] + public Input? Separator { get; set; } + + public S3CollectionSourceCsvArgs() + { + } + public static new S3CollectionSourceCsvArgs Empty => new S3CollectionSourceCsvArgs(); + } +} diff --git a/sdk/dotnet/Inputs/S3CollectionSourceCsvGetArgs.cs b/sdk/dotnet/Inputs/S3CollectionSourceCsvGetArgs.cs new file mode 100644 index 0000000..adeb5db --- /dev/null +++ b/sdk/dotnet/Inputs/S3CollectionSourceCsvGetArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class S3CollectionSourceCsvGetArgs : global::Pulumi.ResourceArgs + { + [Input("columnNames")] + private InputList? _columnNames; + + /// + /// The names of the columns. + /// + public InputList ColumnNames + { + get => _columnNames ?? (_columnNames = new InputList()); + set => _columnNames = value; + } + + [Input("columnTypes")] + private InputList? _columnTypes; + + /// + /// The types of the columns. + /// + public InputList ColumnTypes + { + get => _columnTypes ?? (_columnTypes = new InputList()); + set => _columnTypes = value; + } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Escape character removes any special meaning from the character that follows it. Defaults to backslash. + /// + [Input("escapeChar")] + public Input? EscapeChar { get; set; } + + /// + /// If the first line in every object specifies the column names. + /// + [Input("firstLineAsColumnNames")] + public Input? FirstLineAsColumnNames { get; set; } + + /// + /// Character within which a cell value is enclosed. Defaults to double quote. + /// + [Input("quoteChar")] + public Input? QuoteChar { get; set; } + + /// + /// A single character that is the column separator. + /// + [Input("separator")] + public Input? Separator { get; set; } + + public S3CollectionSourceCsvGetArgs() + { + } + public static new S3CollectionSourceCsvGetArgs Empty => new S3CollectionSourceCsvGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/S3CollectionSourceGetArgs.cs b/sdk/dotnet/Inputs/S3CollectionSourceGetArgs.cs new file mode 100644 index 0000000..7de6fcb --- /dev/null +++ b/sdk/dotnet/Inputs/S3CollectionSourceGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class S3CollectionSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 bucket containing the target data. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + [Input("csv")] + public Input? Csv { get; set; } + + /// + /// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + /// + [Input("integrationName", required: true)] + public Input IntegrationName { get; set; } = null!; + + /// + /// Regex path pattern to S3 keys. + /// + [Input("pattern")] + public Input? Pattern { get; set; } + + /// + /// Simple path prefix to S3 keys. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("xml")] + public Input? Xml { get; set; } + + public S3CollectionSourceGetArgs() + { + } + public static new S3CollectionSourceGetArgs Empty => new S3CollectionSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/S3CollectionSourceXmlArgs.cs b/sdk/dotnet/Inputs/S3CollectionSourceXmlArgs.cs new file mode 100644 index 0000000..0e2cf11 --- /dev/null +++ b/sdk/dotnet/Inputs/S3CollectionSourceXmlArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class S3CollectionSourceXmlArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag to differentiate between attributes and elements. + /// + [Input("attributePrefix")] + public Input? AttributePrefix { get; set; } + + /// + /// Tags with which documents are identified + /// + [Input("docTag")] + public Input? DocTag { get; set; } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Tag until which xml is ignored. + /// + [Input("rootTag")] + public Input? RootTag { get; set; } + + /// + /// Tag used for the value when there are attributes in the element having no child. + /// + [Input("valueTag")] + public Input? ValueTag { get; set; } + + public S3CollectionSourceXmlArgs() + { + } + public static new S3CollectionSourceXmlArgs Empty => new S3CollectionSourceXmlArgs(); + } +} diff --git a/sdk/dotnet/Inputs/S3CollectionSourceXmlGetArgs.cs b/sdk/dotnet/Inputs/S3CollectionSourceXmlGetArgs.cs new file mode 100644 index 0000000..6eb45e6 --- /dev/null +++ b/sdk/dotnet/Inputs/S3CollectionSourceXmlGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Inputs +{ + + public sealed class S3CollectionSourceXmlGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag to differentiate between attributes and elements. + /// + [Input("attributePrefix")] + public Input? AttributePrefix { get; set; } + + /// + /// Tags with which documents are identified + /// + [Input("docTag")] + public Input? DocTag { get; set; } + + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// Tag until which xml is ignored. + /// + [Input("rootTag")] + public Input? RootTag { get; set; } + + /// + /// Tag used for the value when there are attributes in the element having no child. + /// + [Input("valueTag")] + public Input? ValueTag { get; set; } + + public S3CollectionSourceXmlGetArgs() + { + } + public static new S3CollectionSourceXmlGetArgs Empty => new S3CollectionSourceXmlGetArgs(); + } +} diff --git a/sdk/dotnet/KafkaCollection.cs b/sdk/dotnet/KafkaCollection.cs new file mode 100644 index 0000000..05d60d6 --- /dev/null +++ b/sdk/dotnet/KafkaCollection.cs @@ -0,0 +1,284 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection created from a Kafka source. The `use_v3` field must match the integration which the collection is created from. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var bootstrapServers = config.RequireObject<dynamic>("bootstrapServers"); + /// var apikey = config.RequireObject<dynamic>("apikey"); + /// var secret = config.RequireObject<dynamic>("secret"); + /// var confluentKafkaIntegration = new Rockset.KafkaIntegration("confluentKafkaIntegration", new() + /// { + /// Description = "Integration to ingest documents from Confluent Cloud", + /// UseV3 = true, + /// BootstrapServers = bootstrapServers, + /// SecurityConfig = + /// { + /// { "api_key", apikey }, + /// { "secret", secret }, + /// }, + /// }); + /// + /// var confluentWorkspace = new Rockset.Workspace("confluentWorkspace", new() + /// { + /// Description = "Collections from Confluent Cloud topics.", + /// }); + /// + /// var test = new Rockset.KafkaCollection("test", new() + /// { + /// Workspace = confluentWorkspace.Name, + /// Description = "Collection from a Confluent Cloud topic.", + /// RetentionSecs = 3600, + /// Sources = new[] + /// { + /// new Rockset.Inputs.KafkaCollectionSourceArgs + /// { + /// IntegrationName = confluentKafkaIntegration.Name, + /// UseV3 = true, + /// TopicName = "test_json", + /// OffsetResetPolicy = "EARLIEST", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [RocksetResourceType("rockset:index/kafkaCollection:KafkaCollection")] + public partial class KafkaCollection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Defines a source for this collection. + /// + [Output("sources")] + public Output> Sources { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a KafkaCollection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public KafkaCollection(string name, KafkaCollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/kafkaCollection:KafkaCollection", name, args ?? new KafkaCollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private KafkaCollection(string name, Input id, KafkaCollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/kafkaCollection:KafkaCollection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing KafkaCollection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static KafkaCollection Get(string name, Input id, KafkaCollectionState? state = null, CustomResourceOptions? options = null) + { + return new KafkaCollection(name, id, state, options); + } + } + + public sealed class KafkaCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public KafkaCollectionArgs() + { + } + public static new KafkaCollectionArgs Empty => new KafkaCollectionArgs(); + } + + public sealed class KafkaCollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public KafkaCollectionState() + { + } + public static new KafkaCollectionState Empty => new KafkaCollectionState(); + } +} diff --git a/sdk/dotnet/KafkaIntegration.cs b/sdk/dotnet/KafkaIntegration.cs new file mode 100644 index 0000000..295fba8 --- /dev/null +++ b/sdk/dotnet/KafkaIntegration.cs @@ -0,0 +1,324 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Null = Pulumi.Null; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var rocksetApiserver = config.Get("rocksetApiserver") ?? "https://api.usw2a1.rockset.com"; + /// var kafkaConnect = config.Get("kafkaConnect") ?? "localhost:8083"; + /// var topics = config.RequireObject<dynamic>("topics"); + /// var maxTasks = config.GetDouble("maxTasks") ?? 10; + /// var local = new Rockset.KafkaIntegration("local", new() + /// { + /// Description = "Integration to ingest from a local kafka.", + /// KafkaDataFormat = "JSON", + /// KafkaTopicNames = new[] + /// { + /// "foo", + /// "bar", + /// }, + /// WaitForIntegration = false, + /// }); + /// + /// var configure_kafka_connect = new Null.Resource("configure-kafka-connect"); + /// + /// }); + /// ``` + /// + [RocksetResourceType("rockset:index/kafkaIntegration:KafkaIntegration")] + public partial class KafkaIntegration : global::Pulumi.CustomResource + { + /// + /// The Kafka bootstrap server url(s). Required only for V3 integration. + /// + [Output("bootstrapServers")] + public Output BootstrapServers { get; private set; } = null!; + + /// + /// Kafka connection string. + /// + [Output("connectionString")] + public Output ConnectionString { get; private set; } = null!; + + /// + /// Text describing the integration. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + /// + [Output("kafkaDataFormat")] + public Output KafkaDataFormat { get; private set; } = null!; + + /// + /// Kafka topics to tail. + /// + [Output("kafkaTopicNames")] + public Output> KafkaTopicNames { get; private set; } = null!; + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Kafka configuration for schema registry. Required only for V3 integration. + /// + [Output("schemaRegistryConfig")] + public Output?> SchemaRegistryConfig { get; private set; } = null!; + + /// + /// Kafka security configurations. Required only for V3 integration. + /// + [Output("securityConfig")] + public Output?> SecurityConfig { get; private set; } = null!; + + /// + /// Use v3 for Confluent Cloud. + /// + [Output("useV3")] + public Output UseV3 { get; private set; } = null!; + + /// + /// Wait until the integration is active. + /// + [Output("waitForIntegration")] + public Output WaitForIntegration { get; private set; } = null!; + + + /// + /// Create a KafkaIntegration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public KafkaIntegration(string name, KafkaIntegrationArgs? args = null, CustomResourceOptions? options = null) + : base("rockset:index/kafkaIntegration:KafkaIntegration", name, args ?? new KafkaIntegrationArgs(), MakeResourceOptions(options, "")) + { + } + + private KafkaIntegration(string name, Input id, KafkaIntegrationState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/kafkaIntegration:KafkaIntegration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing KafkaIntegration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static KafkaIntegration Get(string name, Input id, KafkaIntegrationState? state = null, CustomResourceOptions? options = null) + { + return new KafkaIntegration(name, id, state, options); + } + } + + public sealed class KafkaIntegrationArgs : global::Pulumi.ResourceArgs + { + /// + /// The Kafka bootstrap server url(s). Required only for V3 integration. + /// + [Input("bootstrapServers")] + public Input? BootstrapServers { get; set; } + + /// + /// Kafka connection string. + /// + [Input("connectionString")] + public Input? ConnectionString { get; set; } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + /// + [Input("kafkaDataFormat")] + public Input? KafkaDataFormat { get; set; } + + [Input("kafkaTopicNames")] + private InputList? _kafkaTopicNames; + + /// + /// Kafka topics to tail. + /// + public InputList KafkaTopicNames + { + get => _kafkaTopicNames ?? (_kafkaTopicNames = new InputList()); + set => _kafkaTopicNames = value; + } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("schemaRegistryConfig")] + private InputMap? _schemaRegistryConfig; + + /// + /// Kafka configuration for schema registry. Required only for V3 integration. + /// + public InputMap SchemaRegistryConfig + { + get => _schemaRegistryConfig ?? (_schemaRegistryConfig = new InputMap()); + set => _schemaRegistryConfig = value; + } + + [Input("securityConfig")] + private InputMap? _securityConfig; + + /// + /// Kafka security configurations. Required only for V3 integration. + /// + public InputMap SecurityConfig + { + get => _securityConfig ?? (_securityConfig = new InputMap()); + set => _securityConfig = value; + } + + /// + /// Use v3 for Confluent Cloud. + /// + [Input("useV3")] + public Input? UseV3 { get; set; } + + /// + /// Wait until the integration is active. + /// + [Input("waitForIntegration")] + public Input? WaitForIntegration { get; set; } + + public KafkaIntegrationArgs() + { + } + public static new KafkaIntegrationArgs Empty => new KafkaIntegrationArgs(); + } + + public sealed class KafkaIntegrationState : global::Pulumi.ResourceArgs + { + /// + /// The Kafka bootstrap server url(s). Required only for V3 integration. + /// + [Input("bootstrapServers")] + public Input? BootstrapServers { get; set; } + + /// + /// Kafka connection string. + /// + [Input("connectionString")] + public Input? ConnectionString { get; set; } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + /// + [Input("kafkaDataFormat")] + public Input? KafkaDataFormat { get; set; } + + [Input("kafkaTopicNames")] + private InputList? _kafkaTopicNames; + + /// + /// Kafka topics to tail. + /// + public InputList KafkaTopicNames + { + get => _kafkaTopicNames ?? (_kafkaTopicNames = new InputList()); + set => _kafkaTopicNames = value; + } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("schemaRegistryConfig")] + private InputMap? _schemaRegistryConfig; + + /// + /// Kafka configuration for schema registry. Required only for V3 integration. + /// + public InputMap SchemaRegistryConfig + { + get => _schemaRegistryConfig ?? (_schemaRegistryConfig = new InputMap()); + set => _schemaRegistryConfig = value; + } + + [Input("securityConfig")] + private InputMap? _securityConfig; + + /// + /// Kafka security configurations. Required only for V3 integration. + /// + public InputMap SecurityConfig + { + get => _securityConfig ?? (_securityConfig = new InputMap()); + set => _securityConfig = value; + } + + /// + /// Use v3 for Confluent Cloud. + /// + [Input("useV3")] + public Input? UseV3 { get; set; } + + /// + /// Wait until the integration is active. + /// + [Input("waitForIntegration")] + public Input? WaitForIntegration { get; set; } + + public KafkaIntegrationState() + { + } + public static new KafkaIntegrationState Empty => new KafkaIntegrationState(); + } +} diff --git a/sdk/dotnet/KinesisCollection.cs b/sdk/dotnet/KinesisCollection.cs new file mode 100644 index 0000000..4d3f70e --- /dev/null +++ b/sdk/dotnet/KinesisCollection.cs @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection with an Kinesis source attached. + /// + [RocksetResourceType("rockset:index/kinesisCollection:KinesisCollection")] + public partial class KinesisCollection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Defines a source for this collection. + /// + [Output("sources")] + public Output> Sources { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a KinesisCollection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public KinesisCollection(string name, KinesisCollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/kinesisCollection:KinesisCollection", name, args ?? new KinesisCollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private KinesisCollection(string name, Input id, KinesisCollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/kinesisCollection:KinesisCollection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing KinesisCollection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static KinesisCollection Get(string name, Input id, KinesisCollectionState? state = null, CustomResourceOptions? options = null) + { + return new KinesisCollection(name, id, state, options); + } + } + + public sealed class KinesisCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public KinesisCollectionArgs() + { + } + public static new KinesisCollectionArgs Empty => new KinesisCollectionArgs(); + } + + public sealed class KinesisCollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public KinesisCollectionState() + { + } + public static new KinesisCollectionState Empty => new KinesisCollectionState(); + } +} diff --git a/sdk/dotnet/KinesisIntegration.cs b/sdk/dotnet/KinesisIntegration.cs new file mode 100644 index 0000000..609b390 --- /dev/null +++ b/sdk/dotnet/KinesisIntegration.cs @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset Kinesis Integration. + /// + [RocksetResourceType("rockset:index/kinesisIntegration:KinesisIntegration")] + public partial class KinesisIntegration : global::Pulumi.CustomResource + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Output("awsRoleArn")] + public Output AwsRoleArn { get; private set; } = null!; + + /// + /// Text describing the integration. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a KinesisIntegration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public KinesisIntegration(string name, KinesisIntegrationArgs args, CustomResourceOptions? options = null) + : base("rockset:index/kinesisIntegration:KinesisIntegration", name, args ?? new KinesisIntegrationArgs(), MakeResourceOptions(options, "")) + { + } + + private KinesisIntegration(string name, Input id, KinesisIntegrationState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/kinesisIntegration:KinesisIntegration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing KinesisIntegration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static KinesisIntegration Get(string name, Input id, KinesisIntegrationState? state = null, CustomResourceOptions? options = null) + { + return new KinesisIntegration(name, id, state, options); + } + } + + public sealed class KinesisIntegrationArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Input("awsRoleArn", required: true)] + public Input AwsRoleArn { get; set; } = null!; + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public KinesisIntegrationArgs() + { + } + public static new KinesisIntegrationArgs Empty => new KinesisIntegrationArgs(); + } + + public sealed class KinesisIntegrationState : global::Pulumi.ResourceArgs + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Input("awsRoleArn")] + public Input? AwsRoleArn { get; set; } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public KinesisIntegrationState() + { + } + public static new KinesisIntegrationState Empty => new KinesisIntegrationState(); + } +} diff --git a/sdk/dotnet/MongodbCollection.cs b/sdk/dotnet/MongodbCollection.cs new file mode 100644 index 0000000..d37b9f2 --- /dev/null +++ b/sdk/dotnet/MongodbCollection.cs @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection with an MongoDB source attached. + /// + [RocksetResourceType("rockset:index/mongodbCollection:MongodbCollection")] + public partial class MongodbCollection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Defines a source for this collection. + /// + [Output("sources")] + public Output> Sources { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a MongodbCollection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MongodbCollection(string name, MongodbCollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/mongodbCollection:MongodbCollection", name, args ?? new MongodbCollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private MongodbCollection(string name, Input id, MongodbCollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/mongodbCollection:MongodbCollection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MongodbCollection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static MongodbCollection Get(string name, Input id, MongodbCollectionState? state = null, CustomResourceOptions? options = null) + { + return new MongodbCollection(name, id, state, options); + } + } + + public sealed class MongodbCollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public MongodbCollectionArgs() + { + } + public static new MongodbCollectionArgs Empty => new MongodbCollectionArgs(); + } + + public sealed class MongodbCollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public MongodbCollectionState() + { + } + public static new MongodbCollectionState Empty => new MongodbCollectionState(); + } +} diff --git a/sdk/dotnet/MongodbIntegration.cs b/sdk/dotnet/MongodbIntegration.cs new file mode 100644 index 0000000..201790e --- /dev/null +++ b/sdk/dotnet/MongodbIntegration.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset MongoDB Integration. + /// + [RocksetResourceType("rockset:index/mongodbIntegration:MongodbIntegration")] + public partial class MongodbIntegration : global::Pulumi.CustomResource + { + /// + /// MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + /// + [Output("connectionUri")] + public Output ConnectionUri { get; private set; } = null!; + + /// + /// Text describing the integration. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a MongodbIntegration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MongodbIntegration(string name, MongodbIntegrationArgs args, CustomResourceOptions? options = null) + : base("rockset:index/mongodbIntegration:MongodbIntegration", name, args ?? new MongodbIntegrationArgs(), MakeResourceOptions(options, "")) + { + } + + private MongodbIntegration(string name, Input id, MongodbIntegrationState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/mongodbIntegration:MongodbIntegration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "connectionUri", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MongodbIntegration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static MongodbIntegration Get(string name, Input id, MongodbIntegrationState? state = null, CustomResourceOptions? options = null) + { + return new MongodbIntegration(name, id, state, options); + } + } + + public sealed class MongodbIntegrationArgs : global::Pulumi.ResourceArgs + { + [Input("connectionUri", required: true)] + private Input? _connectionUri; + + /// + /// MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + /// + public Input? ConnectionUri + { + get => _connectionUri; + set + { + var emptySecret = Output.CreateSecret(0); + _connectionUri = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public MongodbIntegrationArgs() + { + } + public static new MongodbIntegrationArgs Empty => new MongodbIntegrationArgs(); + } + + public sealed class MongodbIntegrationState : global::Pulumi.ResourceArgs + { + [Input("connectionUri")] + private Input? _connectionUri; + + /// + /// MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + /// + public Input? ConnectionUri + { + get => _connectionUri; + set + { + var emptySecret = Output.CreateSecret(0); + _connectionUri = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public MongodbIntegrationState() + { + } + public static new MongodbIntegrationState Empty => new MongodbIntegrationState(); + } +} diff --git a/sdk/dotnet/Outputs/DynamodbCollectionSource.cs b/sdk/dotnet/Outputs/DynamodbCollectionSource.cs new file mode 100644 index 0000000..a814060 --- /dev/null +++ b/sdk/dotnet/Outputs/DynamodbCollectionSource.cs @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class DynamodbCollectionSource + { + /// + /// AWS region name of DynamoDB table, by default us-west-2 is used. + /// + public readonly string? AwsRegion; + /// + /// The name of the Rockset DynamoDB integration. + /// + public readonly string IntegrationName; + /// + /// Max RCU usage for scan. + /// + public readonly int? Rcu; + /// + /// DynamoDB scan end time. + /// + public readonly string? ScanEndTime; + /// + /// Number of records inserted using scan. + /// + public readonly int? ScanRecordsProcessed; + /// + /// DynamoDB scan start time. + /// + public readonly string? ScanStartTime; + /// + /// Number of records in DynamoDB table at time of scan. + /// + public readonly int? ScanTotalRecords; + /// + /// State of current ingest for this table. + /// + public readonly string? State; + /// + /// ISO-8601 date when source was last processed. + /// + public readonly string? StreamLastProcessedAt; + /// + /// Name of DynamoDB table containing data. + /// + public readonly string TableName; + /// + /// Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + /// + public readonly bool? UseScanApi; + + [OutputConstructor] + private DynamodbCollectionSource( + string? awsRegion, + + string integrationName, + + int? rcu, + + string? scanEndTime, + + int? scanRecordsProcessed, + + string? scanStartTime, + + int? scanTotalRecords, + + string? state, + + string? streamLastProcessedAt, + + string tableName, + + bool? useScanApi) + { + AwsRegion = awsRegion; + IntegrationName = integrationName; + Rcu = rcu; + ScanEndTime = scanEndTime; + ScanRecordsProcessed = scanRecordsProcessed; + ScanStartTime = scanStartTime; + ScanTotalRecords = scanTotalRecords; + State = state; + StreamLastProcessedAt = streamLastProcessedAt; + TableName = tableName; + UseScanApi = useScanApi; + } + } +} diff --git a/sdk/dotnet/Outputs/GcsCollectionSource.cs b/sdk/dotnet/Outputs/GcsCollectionSource.cs new file mode 100644 index 0000000..cc9abc9 --- /dev/null +++ b/sdk/dotnet/Outputs/GcsCollectionSource.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class GcsCollectionSource + { + /// + /// GCS bucket containing the target data. + /// + public readonly string Bucket; + public readonly Outputs.GcsCollectionSourceCsv? Csv; + /// + /// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + /// + public readonly string Format; + /// + /// The name of the Rockset GCS integration. + /// + public readonly string IntegrationName; + /// + /// Simple path prefix to GCS key. + /// + public readonly string? Prefix; + public readonly Outputs.GcsCollectionSourceXml? Xml; + + [OutputConstructor] + private GcsCollectionSource( + string bucket, + + Outputs.GcsCollectionSourceCsv? csv, + + string format, + + string integrationName, + + string? prefix, + + Outputs.GcsCollectionSourceXml? xml) + { + Bucket = bucket; + Csv = csv; + Format = format; + IntegrationName = integrationName; + Prefix = prefix; + Xml = xml; + } + } +} diff --git a/sdk/dotnet/Outputs/GcsCollectionSourceCsv.cs b/sdk/dotnet/Outputs/GcsCollectionSourceCsv.cs new file mode 100644 index 0000000..f809a60 --- /dev/null +++ b/sdk/dotnet/Outputs/GcsCollectionSourceCsv.cs @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class GcsCollectionSourceCsv + { + /// + /// The names of the columns. + /// + public readonly ImmutableArray ColumnNames; + /// + /// The types of the columns. + /// + public readonly ImmutableArray ColumnTypes; + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + public readonly string? Encoding; + /// + /// Escape character removes any special meaning from the character that follows it. Defaults to backslash. + /// + public readonly string? EscapeChar; + /// + /// If the first line in every object specifies the column names. + /// + public readonly bool? FirstLineAsColumnNames; + /// + /// Character within which a cell value is enclosed. Defaults to double quote. + /// + public readonly string? QuoteChar; + /// + /// A single character that is the column separator. + /// + public readonly string? Separator; + + [OutputConstructor] + private GcsCollectionSourceCsv( + ImmutableArray columnNames, + + ImmutableArray columnTypes, + + string? encoding, + + string? escapeChar, + + bool? firstLineAsColumnNames, + + string? quoteChar, + + string? separator) + { + ColumnNames = columnNames; + ColumnTypes = columnTypes; + Encoding = encoding; + EscapeChar = escapeChar; + FirstLineAsColumnNames = firstLineAsColumnNames; + QuoteChar = quoteChar; + Separator = separator; + } + } +} diff --git a/sdk/dotnet/Outputs/GcsCollectionSourceXml.cs b/sdk/dotnet/Outputs/GcsCollectionSourceXml.cs new file mode 100644 index 0000000..f1f2bba --- /dev/null +++ b/sdk/dotnet/Outputs/GcsCollectionSourceXml.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class GcsCollectionSourceXml + { + /// + /// Tag to differentiate between attributes and elements. + /// + public readonly string? AttributePrefix; + /// + /// Tags with which documents are identified + /// + public readonly string? DocTag; + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + public readonly string? Encoding; + /// + /// Tag until which xml is ignored. + /// + public readonly string? RootTag; + /// + /// Tag used for the value when there are attributes in the element having no child. + /// + public readonly string? ValueTag; + + [OutputConstructor] + private GcsCollectionSourceXml( + string? attributePrefix, + + string? docTag, + + string? encoding, + + string? rootTag, + + string? valueTag) + { + AttributePrefix = attributePrefix; + DocTag = docTag; + Encoding = encoding; + RootTag = rootTag; + ValueTag = valueTag; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAccountClusterResult.cs b/sdk/dotnet/Outputs/GetAccountClusterResult.cs new file mode 100644 index 0000000..1fe8ad3 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAccountClusterResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class GetAccountClusterResult + { + public readonly string ApiServer; + public readonly string AwsRegion; + public readonly string Type; + + [OutputConstructor] + private GetAccountClusterResult( + string apiServer, + + string awsRegion, + + string type) + { + ApiServer = apiServer; + AwsRegion = awsRegion; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/KafkaCollectionSource.cs b/sdk/dotnet/Outputs/KafkaCollectionSource.cs new file mode 100644 index 0000000..1495797 --- /dev/null +++ b/sdk/dotnet/Outputs/KafkaCollectionSource.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class KafkaCollectionSource + { + /// + /// The Kafka consumer group Id being used. + /// + public readonly string? ConsumerGroupId; + /// + /// The name of the Rockset Kafka integration. + /// + public readonly string IntegrationName; + /// + /// The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + /// + public readonly string? OffsetResetPolicy; + public readonly ImmutableArray Statuses; + /// + /// Name of Kafka topic to be tailed. + /// + public readonly string TopicName; + /// + /// Whether to use v3 integration. Required if the kafka integration uses v3. + /// + public readonly bool? UseV3; + + [OutputConstructor] + private KafkaCollectionSource( + string? consumerGroupId, + + string integrationName, + + string? offsetResetPolicy, + + ImmutableArray statuses, + + string topicName, + + bool? useV3) + { + ConsumerGroupId = consumerGroupId; + IntegrationName = integrationName; + OffsetResetPolicy = offsetResetPolicy; + Statuses = statuses; + TopicName = topicName; + UseV3 = useV3; + } + } +} diff --git a/sdk/dotnet/Outputs/KafkaCollectionSourceStatus.cs b/sdk/dotnet/Outputs/KafkaCollectionSourceStatus.cs new file mode 100644 index 0000000..b7cd848 --- /dev/null +++ b/sdk/dotnet/Outputs/KafkaCollectionSourceStatus.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class KafkaCollectionSourceStatus + { + public readonly int? DocumentsProcessed; + public readonly string? LastConsumedTime; + public readonly ImmutableArray Partitions; + public readonly string? State; + + [OutputConstructor] + private KafkaCollectionSourceStatus( + int? documentsProcessed, + + string? lastConsumedTime, + + ImmutableArray partitions, + + string? state) + { + DocumentsProcessed = documentsProcessed; + LastConsumedTime = lastConsumedTime; + Partitions = partitions; + State = state; + } + } +} diff --git a/sdk/dotnet/Outputs/KafkaCollectionSourceStatusPartition.cs b/sdk/dotnet/Outputs/KafkaCollectionSourceStatusPartition.cs new file mode 100644 index 0000000..503667a --- /dev/null +++ b/sdk/dotnet/Outputs/KafkaCollectionSourceStatusPartition.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class KafkaCollectionSourceStatusPartition + { + public readonly int? OffsetLag; + public readonly int? PartitionNumber; + public readonly int? PartitionOffset; + + [OutputConstructor] + private KafkaCollectionSourceStatusPartition( + int? offsetLag, + + int? partitionNumber, + + int? partitionOffset) + { + OffsetLag = offsetLag; + PartitionNumber = partitionNumber; + PartitionOffset = partitionOffset; + } + } +} diff --git a/sdk/dotnet/Outputs/KinesisCollectionSource.cs b/sdk/dotnet/Outputs/KinesisCollectionSource.cs new file mode 100644 index 0000000..8e039d9 --- /dev/null +++ b/sdk/dotnet/Outputs/KinesisCollectionSource.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class KinesisCollectionSource + { + /// + /// AWS region name for the Kinesis stream, by default us-west-2 is used + /// + public readonly string? AwsRegion; + /// + /// Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + /// + public readonly ImmutableArray DmsPrimaryKeys; + /// + /// Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + /// + public readonly string Format; + /// + /// The name of the Rockset Kinesis integration. + /// + public readonly string IntegrationName; + /// + /// Name of Kinesis stream. + /// + public readonly string StreamName; + + [OutputConstructor] + private KinesisCollectionSource( + string? awsRegion, + + ImmutableArray dmsPrimaryKeys, + + string format, + + string integrationName, + + string streamName) + { + AwsRegion = awsRegion; + DmsPrimaryKeys = dmsPrimaryKeys; + Format = format; + IntegrationName = integrationName; + StreamName = streamName; + } + } +} diff --git a/sdk/dotnet/Outputs/MongodbCollectionSource.cs b/sdk/dotnet/Outputs/MongodbCollectionSource.cs new file mode 100644 index 0000000..e39c045 --- /dev/null +++ b/sdk/dotnet/Outputs/MongodbCollectionSource.cs @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class MongodbCollectionSource + { + /// + /// MongoDB collection name of the target collection. + /// + public readonly string CollectionName; + /// + /// MongoDB database name containing the target collection. + /// + public readonly string DatabaseName; + /// + /// The name of the Rockset MongoDB integration. + /// + public readonly string IntegrationName; + public readonly bool? RetrieveFullDocument; + /// + /// MongoDB scan end time. + /// + public readonly string? ScanEndTime; + /// + /// Number of records inserted using scan. + /// + public readonly int? ScanRecordsProcessed; + /// + /// MongoDB scan start time. + /// + public readonly string? ScanStartTime; + /// + /// Number of records in MongoDB table at time of scan. + /// + public readonly int? ScanTotalRecords; + /// + /// State of current ingest for this table. + /// + public readonly string? State; + /// + /// ISO-8601 date when delete from source was last processed. + /// + public readonly string? StreamLastDeleteProcessedAt; + /// + /// ISO-8601 date when new insert from source was last processed. + /// + public readonly string? StreamLastInsertProcessedAt; + /// + /// ISO-8601 date when update from source was last processed. + /// + public readonly string? StreamLastUpdateProcessedAt; + /// + /// Number of new records deleted using stream. + /// + public readonly int? StreamRecordsDeleted; + /// + /// Number of new records inserted using stream. + /// + public readonly int? StreamRecordsInserted; + /// + /// Number of new records updated using stream. + /// + public readonly int? StreamRecordsUpdated; + + [OutputConstructor] + private MongodbCollectionSource( + string collectionName, + + string databaseName, + + string integrationName, + + bool? retrieveFullDocument, + + string? scanEndTime, + + int? scanRecordsProcessed, + + string? scanStartTime, + + int? scanTotalRecords, + + string? state, + + string? streamLastDeleteProcessedAt, + + string? streamLastInsertProcessedAt, + + string? streamLastUpdateProcessedAt, + + int? streamRecordsDeleted, + + int? streamRecordsInserted, + + int? streamRecordsUpdated) + { + CollectionName = collectionName; + DatabaseName = databaseName; + IntegrationName = integrationName; + RetrieveFullDocument = retrieveFullDocument; + ScanEndTime = scanEndTime; + ScanRecordsProcessed = scanRecordsProcessed; + ScanStartTime = scanStartTime; + ScanTotalRecords = scanTotalRecords; + State = state; + StreamLastDeleteProcessedAt = streamLastDeleteProcessedAt; + StreamLastInsertProcessedAt = streamLastInsertProcessedAt; + StreamLastUpdateProcessedAt = streamLastUpdateProcessedAt; + StreamRecordsDeleted = streamRecordsDeleted; + StreamRecordsInserted = streamRecordsInserted; + StreamRecordsUpdated = streamRecordsUpdated; + } + } +} diff --git a/sdk/dotnet/Outputs/QueryLambdaSql.cs b/sdk/dotnet/Outputs/QueryLambdaSql.cs new file mode 100644 index 0000000..0f165a5 --- /dev/null +++ b/sdk/dotnet/Outputs/QueryLambdaSql.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class QueryLambdaSql + { + public readonly ImmutableArray DefaultParameters; + public readonly string Query; + + [OutputConstructor] + private QueryLambdaSql( + ImmutableArray defaultParameters, + + string query) + { + DefaultParameters = defaultParameters; + Query = query; + } + } +} diff --git a/sdk/dotnet/Outputs/QueryLambdaSqlDefaultParameter.cs b/sdk/dotnet/Outputs/QueryLambdaSqlDefaultParameter.cs new file mode 100644 index 0000000..b673355 --- /dev/null +++ b/sdk/dotnet/Outputs/QueryLambdaSqlDefaultParameter.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class QueryLambdaSqlDefaultParameter + { + public readonly string Name; + public readonly string Type; + public readonly string Value; + + [OutputConstructor] + private QueryLambdaSqlDefaultParameter( + string name, + + string type, + + string value) + { + Name = name; + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/RolePrivilege.cs b/sdk/dotnet/Outputs/RolePrivilege.cs new file mode 100644 index 0000000..be394a0 --- /dev/null +++ b/sdk/dotnet/Outputs/RolePrivilege.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class RolePrivilege + { + /// + /// The action allowed by this privilege. + /// + public readonly string Action; + /// + /// Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + /// + public readonly string? Cluster; + /// + /// The resource on which this action is allowed. Defaults to 'All' if not specified. + /// + public readonly string? ResourceName; + + [OutputConstructor] + private RolePrivilege( + string action, + + string? cluster, + + string? resourceName) + { + Action = action; + Cluster = cluster; + ResourceName = resourceName; + } + } +} diff --git a/sdk/dotnet/Outputs/S3CollectionSource.cs b/sdk/dotnet/Outputs/S3CollectionSource.cs new file mode 100644 index 0000000..97ab9da --- /dev/null +++ b/sdk/dotnet/Outputs/S3CollectionSource.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class S3CollectionSource + { + /// + /// S3 bucket containing the target data. + /// + public readonly string Bucket; + public readonly Outputs.S3CollectionSourceCsv? Csv; + /// + /// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + /// + public readonly string Format; + /// + /// The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + /// + public readonly string IntegrationName; + /// + /// Regex path pattern to S3 keys. + /// + public readonly string? Pattern; + /// + /// Simple path prefix to S3 keys. + /// + public readonly string? Prefix; + public readonly Outputs.S3CollectionSourceXml? Xml; + + [OutputConstructor] + private S3CollectionSource( + string bucket, + + Outputs.S3CollectionSourceCsv? csv, + + string format, + + string integrationName, + + string? pattern, + + string? prefix, + + Outputs.S3CollectionSourceXml? xml) + { + Bucket = bucket; + Csv = csv; + Format = format; + IntegrationName = integrationName; + Pattern = pattern; + Prefix = prefix; + Xml = xml; + } + } +} diff --git a/sdk/dotnet/Outputs/S3CollectionSourceCsv.cs b/sdk/dotnet/Outputs/S3CollectionSourceCsv.cs new file mode 100644 index 0000000..9123c72 --- /dev/null +++ b/sdk/dotnet/Outputs/S3CollectionSourceCsv.cs @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class S3CollectionSourceCsv + { + /// + /// The names of the columns. + /// + public readonly ImmutableArray ColumnNames; + /// + /// The types of the columns. + /// + public readonly ImmutableArray ColumnTypes; + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + public readonly string? Encoding; + /// + /// Escape character removes any special meaning from the character that follows it. Defaults to backslash. + /// + public readonly string? EscapeChar; + /// + /// If the first line in every object specifies the column names. + /// + public readonly bool? FirstLineAsColumnNames; + /// + /// Character within which a cell value is enclosed. Defaults to double quote. + /// + public readonly string? QuoteChar; + /// + /// A single character that is the column separator. + /// + public readonly string? Separator; + + [OutputConstructor] + private S3CollectionSourceCsv( + ImmutableArray columnNames, + + ImmutableArray columnTypes, + + string? encoding, + + string? escapeChar, + + bool? firstLineAsColumnNames, + + string? quoteChar, + + string? separator) + { + ColumnNames = columnNames; + ColumnTypes = columnTypes; + Encoding = encoding; + EscapeChar = escapeChar; + FirstLineAsColumnNames = firstLineAsColumnNames; + QuoteChar = quoteChar; + Separator = separator; + } + } +} diff --git a/sdk/dotnet/Outputs/S3CollectionSourceXml.cs b/sdk/dotnet/Outputs/S3CollectionSourceXml.cs new file mode 100644 index 0000000..07bd1fc --- /dev/null +++ b/sdk/dotnet/Outputs/S3CollectionSourceXml.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset.Outputs +{ + + [OutputType] + public sealed class S3CollectionSourceXml + { + /// + /// Tag to differentiate between attributes and elements. + /// + public readonly string? AttributePrefix; + /// + /// Tags with which documents are identified + /// + public readonly string? DocTag; + /// + /// Can be one of: UTF-8, ISO*8859*1, UTF-16. + /// + public readonly string? Encoding; + /// + /// Tag until which xml is ignored. + /// + public readonly string? RootTag; + /// + /// Tag used for the value when there are attributes in the element having no child. + /// + public readonly string? ValueTag; + + [OutputConstructor] + private S3CollectionSourceXml( + string? attributePrefix, + + string? docTag, + + string? encoding, + + string? rootTag, + + string? valueTag) + { + AttributePrefix = attributePrefix; + DocTag = docTag; + Encoding = encoding; + RootTag = rootTag; + ValueTag = valueTag; + } + } +} diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs new file mode 100644 index 0000000..5c79292 --- /dev/null +++ b/sdk/dotnet/Provider.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// The provider type for the rockset package. By default, resources use package-wide configuration + /// settings, however an explicit `Provider` instance may be created and passed during resource + /// construction to achieve fine-grained programmatic control over provider settings. See the + /// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + /// + [RocksetResourceType("pulumi:providers:rockset")] + public partial class Provider : global::Pulumi.ProviderResource + { + /// + /// The API key used to access Rockset + /// + [Output("apiKey")] + public Output ApiKey { get; private set; } = null!; + + /// + /// The API server for accessing Rockset + /// + [Output("apiServer")] + public Output ApiServer { get; private set; } = null!; + + + /// + /// Create a Provider resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Provider(string name, ProviderArgs? args = null, CustomResourceOptions? options = null) + : base("rockset", name, args ?? new ProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "apiKey", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + } + + public sealed class ProviderArgs : global::Pulumi.ResourceArgs + { + [Input("apiKey")] + private Input? _apiKey; + + /// + /// The API key used to access Rockset + /// + public Input? ApiKey + { + get => _apiKey; + set + { + var emptySecret = Output.CreateSecret(0); + _apiKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The API server for accessing Rockset + /// + [Input("apiServer")] + public Input? ApiServer { get; set; } + + public ProviderArgs() + { + } + public static new ProviderArgs Empty => new ProviderArgs(); + } +} diff --git a/sdk/dotnet/Pulumi.Rockset.csproj b/sdk/dotnet/Pulumi.Rockset.csproj new file mode 100644 index 0000000..55253f2 --- /dev/null +++ b/sdk/dotnet/Pulumi.Rockset.csproj @@ -0,0 +1,60 @@ + + + + true + Pulumi + Pulumi + A Pulumi package for creating and managing rockset cloud resources. + Apache-2.0 + https://www.pulumi.com + https://github.com/ddn0/pulumi-rockset + logo.png + + net6.0 + enable + + + + true + 1701;1702;1591 + + + + $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + true + true + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + + + diff --git a/sdk/dotnet/Pulumi.yaml b/sdk/dotnet/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/dotnet/QueryLambda.cs b/sdk/dotnet/QueryLambda.cs new file mode 100644 index 0000000..5323cb1 --- /dev/null +++ b/sdk/dotnet/QueryLambda.cs @@ -0,0 +1,174 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset Query Lambda. + /// + [RocksetResourceType("rockset:index/queryLambda:QueryLambda")] + public partial class QueryLambda : global::Pulumi.CustomResource + { + /// + /// Text describing the query lambda. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("sqls")] + public Output> Sqls { get; private set; } = null!; + + /// + /// The latest state of this query lambda. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// The latest version string of this query lambda. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a QueryLambda resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public QueryLambda(string name, QueryLambdaArgs args, CustomResourceOptions? options = null) + : base("rockset:index/queryLambda:QueryLambda", name, args ?? new QueryLambdaArgs(), MakeResourceOptions(options, "")) + { + } + + private QueryLambda(string name, Input id, QueryLambdaState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/queryLambda:QueryLambda", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing QueryLambda resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static QueryLambda Get(string name, Input id, QueryLambdaState? state = null, CustomResourceOptions? options = null) + { + return new QueryLambda(name, id, state, options); + } + } + + public sealed class QueryLambdaArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the query lambda. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("sqls", required: true)] + private InputList? _sqls; + public InputList Sqls + { + get => _sqls ?? (_sqls = new InputList()); + set => _sqls = value; + } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public QueryLambdaArgs() + { + } + public static new QueryLambdaArgs Empty => new QueryLambdaArgs(); + } + + public sealed class QueryLambdaState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the query lambda. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("sqls")] + private InputList? _sqls; + public InputList Sqls + { + get => _sqls ?? (_sqls = new InputList()); + set => _sqls = value; + } + + /// + /// The latest state of this query lambda. + /// + [Input("state")] + public Input? State { get; set; } + + /// + /// The latest version string of this query lambda. + /// + [Input("version")] + public Input? Version { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public QueryLambdaState() + { + } + public static new QueryLambdaState Empty => new QueryLambdaState(); + } +} diff --git a/sdk/dotnet/QueryLambdaTag.cs b/sdk/dotnet/QueryLambdaTag.cs new file mode 100644 index 0000000..8c85325 --- /dev/null +++ b/sdk/dotnet/QueryLambdaTag.cs @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset Query Lambda Tag. + /// + [RocksetResourceType("rockset:index/queryLambdaTag:QueryLambdaTag")] + public partial class QueryLambdaTag : global::Pulumi.CustomResource + { + /// + /// Unique identifier for the tag. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + /// + [Output("queryLambda")] + public Output QueryLambda { get; private set; } = null!; + + /// + /// Version of the query lambda this tag should point to. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + /// + /// The name of the workspace the query lambda is in. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a QueryLambdaTag resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public QueryLambdaTag(string name, QueryLambdaTagArgs args, CustomResourceOptions? options = null) + : base("rockset:index/queryLambdaTag:QueryLambdaTag", name, args ?? new QueryLambdaTagArgs(), MakeResourceOptions(options, "")) + { + } + + private QueryLambdaTag(string name, Input id, QueryLambdaTagState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/queryLambdaTag:QueryLambdaTag", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing QueryLambdaTag resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static QueryLambdaTag Get(string name, Input id, QueryLambdaTagState? state = null, CustomResourceOptions? options = null) + { + return new QueryLambdaTag(name, id, state, options); + } + } + + public sealed class QueryLambdaTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique identifier for the tag. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + /// + [Input("queryLambda", required: true)] + public Input QueryLambda { get; set; } = null!; + + /// + /// Version of the query lambda this tag should point to. + /// + [Input("version", required: true)] + public Input Version { get; set; } = null!; + + /// + /// The name of the workspace the query lambda is in. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public QueryLambdaTagArgs() + { + } + public static new QueryLambdaTagArgs Empty => new QueryLambdaTagArgs(); + } + + public sealed class QueryLambdaTagState : global::Pulumi.ResourceArgs + { + /// + /// Unique identifier for the tag. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + /// + [Input("queryLambda")] + public Input? QueryLambda { get; set; } + + /// + /// Version of the query lambda this tag should point to. + /// + [Input("version")] + public Input? Version { get; set; } + + /// + /// The name of the workspace the query lambda is in. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public QueryLambdaTagState() + { + } + public static new QueryLambdaTagState Empty => new QueryLambdaTagState(); + } +} diff --git a/sdk/dotnet/README.md b/sdk/dotnet/README.md new file mode 100644 index 0000000..2186bfa --- /dev/null +++ b/sdk/dotnet/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing rockset cloud resources. diff --git a/sdk/dotnet/Role.cs b/sdk/dotnet/Role.cs new file mode 100644 index 0000000..5b7f8ac --- /dev/null +++ b/sdk/dotnet/Role.cs @@ -0,0 +1,217 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset [Role](https://rockset.com/docs/iam/). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var query_onlyRole = new Rockset.Role("query-onlyRole", new() + /// { + /// Description = "This role can only query collections in the prod workspace in the usw2a1 cluster", + /// Privileges = new[] + /// { + /// new Rockset.Inputs.RolePrivilegeArgs + /// { + /// Action = "QUERY_DATA_WS", + /// ResourceName = "prod", + /// Cluster = "usw2a1", + /// }, + /// new Rockset.Inputs.RolePrivilegeArgs + /// { + /// Action = "EXECUTE_QUERY_LAMBDA_WS", + /// ResourceName = "prod", + /// Cluster = "usw2a1", + /// }, + /// }, + /// }); + /// + /// var query_onlyApiKey = new Rockset.ApiKey("query-onlyApiKey", new() + /// { + /// Role = query_onlyRole.Name, + /// }); + /// + /// }); + /// ``` + /// + [RocksetResourceType("rockset:index/role:Role")] + public partial class Role : global::Pulumi.CustomResource + { + /// + /// When the role was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Who created the role. + /// + [Output("createdBy")] + public Output CreatedBy { get; private set; } = null!; + + /// + /// Role description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Role name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The email of the user who currently owns the role. + /// + [Output("ownerEmail")] + public Output OwnerEmail { get; private set; } = null!; + + /// + /// Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + /// + [Output("privileges")] + public Output> Privileges { get; private set; } = null!; + + + /// + /// Create a Role resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Role(string name, RoleArgs? args = null, CustomResourceOptions? options = null) + : base("rockset:index/role:Role", name, args ?? new RoleArgs(), MakeResourceOptions(options, "")) + { + } + + private Role(string name, Input id, RoleState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/role:Role", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Role resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Role Get(string name, Input id, RoleState? state = null, CustomResourceOptions? options = null) + { + return new Role(name, id, state, options); + } + } + + public sealed class RoleArgs : global::Pulumi.ResourceArgs + { + /// + /// Role description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Role name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("privileges")] + private InputList? _privileges; + + /// + /// Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + /// + public InputList Privileges + { + get => _privileges ?? (_privileges = new InputList()); + set => _privileges = value; + } + + public RoleArgs() + { + } + public static new RoleArgs Empty => new RoleArgs(); + } + + public sealed class RoleState : global::Pulumi.ResourceArgs + { + /// + /// When the role was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Who created the role. + /// + [Input("createdBy")] + public Input? CreatedBy { get; set; } + + /// + /// Role description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Role name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The email of the user who currently owns the role. + /// + [Input("ownerEmail")] + public Input? OwnerEmail { get; set; } + + [Input("privileges")] + private InputList? _privileges; + + /// + /// Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + /// + public InputList Privileges + { + get => _privileges ?? (_privileges = new InputList()); + set => _privileges = value; + } + + public RoleState() + { + } + public static new RoleState Empty => new RoleState(); + } +} diff --git a/sdk/dotnet/S3Collection.cs b/sdk/dotnet/S3Collection.cs new file mode 100644 index 0000000..94e6798 --- /dev/null +++ b/sdk/dotnet/S3Collection.cs @@ -0,0 +1,272 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a collection with on or more S3 sources attached. Uses an S3 integration to access the S3 bucket. If no integration is provided, only data in public buckets are accessible. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var sample = new Rockset.Workspace("sample", new() + /// { + /// Description = "sample datasets", + /// }); + /// + /// var @public = new Rockset.S3Integration("public", new() + /// { + /// Description = "Integration to access Rockset's public datasets", + /// AwsRoleArn = "arn:aws:iam::469279130686:role/rockset-public-datasets", + /// }); + /// + /// var cities = new Rockset.S3Collection("cities", new() + /// { + /// Workspace = sample.Name, + /// Sources = new[] + /// { + /// new Rockset.Inputs.S3CollectionSourceArgs + /// { + /// Bucket = "rockset-public-datasets", + /// IntegrationName = @public.Name, + /// Pattern = "cities/*.json", + /// Format = "json", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [RocksetResourceType("rockset:index/s3Collection:S3Collection")] + public partial class S3Collection : global::Pulumi.CustomResource + { + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Output("ingestTransformation")] + public Output IngestTransformation { get; private set; } = null!; + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Output("retentionSecs")] + public Output RetentionSecs { get; private set; } = null!; + + /// + /// Defines a source for this collection. + /// + [Output("sources")] + public Output> Sources { get; private set; } = null!; + + /// + /// Wait until the collection is ready. + /// + [Output("waitForCollection")] + public Output WaitForCollection { get; private set; } = null!; + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Output("waitForDocuments")] + public Output WaitForDocuments { get; private set; } = null!; + + /// + /// The name of the workspace. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a S3Collection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public S3Collection(string name, S3CollectionArgs args, CustomResourceOptions? options = null) + : base("rockset:index/s3Collection:S3Collection", name, args ?? new S3CollectionArgs(), MakeResourceOptions(options, "")) + { + } + + private S3Collection(string name, Input id, S3CollectionState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/s3Collection:S3Collection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing S3Collection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static S3Collection Get(string name, Input id, S3CollectionState? state = null, CustomResourceOptions? options = null) + { + return new S3Collection(name, id, state, options); + } + } + + public sealed class S3CollectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public S3CollectionArgs() + { + } + public static new S3CollectionArgs Empty => new S3CollectionArgs(); + } + + public sealed class S3CollectionState : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Ingest transformation SQL query. Turns the collection into insert_only mode. + /// + [Input("ingestTransformation")] + public Input? IngestTransformation { get; set; } + + /// + /// Unique identifier for the collection. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Number of seconds after which data is purged. Based on event time. + /// + [Input("retentionSecs")] + public Input? RetentionSecs { get; set; } + + [Input("sources")] + private InputList? _sources; + + /// + /// Defines a source for this collection. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + /// + /// Wait until the collection is ready. + /// + [Input("waitForCollection")] + public Input? WaitForCollection { get; set; } + + /// + /// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + /// + [Input("waitForDocuments")] + public Input? WaitForDocuments { get; set; } + + /// + /// The name of the workspace. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public S3CollectionState() + { + } + public static new S3CollectionState Empty => new S3CollectionState(); + } +} diff --git a/sdk/dotnet/S3Integration.cs b/sdk/dotnet/S3Integration.cs new file mode 100644 index 0000000..d228c8f --- /dev/null +++ b/sdk/dotnet/S3Integration.cs @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset S3 Integration. + /// + [RocksetResourceType("rockset:index/s3Integration:S3Integration")] + public partial class S3Integration : global::Pulumi.CustomResource + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Output("awsRoleArn")] + public Output AwsRoleArn { get; private set; } = null!; + + /// + /// Text describing the integration. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a S3Integration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public S3Integration(string name, S3IntegrationArgs args, CustomResourceOptions? options = null) + : base("rockset:index/s3Integration:S3Integration", name, args ?? new S3IntegrationArgs(), MakeResourceOptions(options, "")) + { + } + + private S3Integration(string name, Input id, S3IntegrationState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/s3Integration:S3Integration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing S3Integration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static S3Integration Get(string name, Input id, S3IntegrationState? state = null, CustomResourceOptions? options = null) + { + return new S3Integration(name, id, state, options); + } + } + + public sealed class S3IntegrationArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Input("awsRoleArn", required: true)] + public Input AwsRoleArn { get; set; } = null!; + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public S3IntegrationArgs() + { + } + public static new S3IntegrationArgs Empty => new S3IntegrationArgs(); + } + + public sealed class S3IntegrationState : global::Pulumi.ResourceArgs + { + /// + /// The AWS Role Arn to use for this integration. + /// + [Input("awsRoleArn")] + public Input? AwsRoleArn { get; set; } + + /// + /// Text describing the integration. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for the integration. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public S3IntegrationState() + { + } + public static new S3IntegrationState Empty => new S3IntegrationState(); + } +} diff --git a/sdk/dotnet/User.cs b/sdk/dotnet/User.cs new file mode 100644 index 0000000..7b3cbb7 --- /dev/null +++ b/sdk/dotnet/User.cs @@ -0,0 +1,188 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset User. + /// + /// First and last name can only be managed for users who have accepted the invite, + /// i.e. when the state is ACCEPTED. + /// + [RocksetResourceType("rockset:index/user:User")] + public partial class User : global::Pulumi.CustomResource + { + /// + /// The ISO-8601 time of when the user was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Email address of the user. Also used to identify the user. + /// + [Output("email")] + public Output Email { get; private set; } = null!; + + /// + /// User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + /// + [Output("firstName")] + public Output FirstName { get; private set; } = null!; + + /// + /// User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + /// + [Output("lastName")] + public Output LastName { get; private set; } = null!; + + /// + /// List of roles for the user. E.g. 'admin', 'member', 'read-only'. + /// + [Output("roles")] + public Output> Roles { get; private set; } = null!; + + /// + /// State of the user, either NEW or ACTIVE. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + + /// + /// Create a User resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public User(string name, UserArgs args, CustomResourceOptions? options = null) + : base("rockset:index/user:User", name, args ?? new UserArgs(), MakeResourceOptions(options, "")) + { + } + + private User(string name, Input id, UserState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/user:User", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing User resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static User Get(string name, Input id, UserState? state = null, CustomResourceOptions? options = null) + { + return new User(name, id, state, options); + } + } + + public sealed class UserArgs : global::Pulumi.ResourceArgs + { + /// + /// Email address of the user. Also used to identify the user. + /// + [Input("email", required: true)] + public Input Email { get; set; } = null!; + + /// + /// User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + /// + [Input("firstName")] + public Input? FirstName { get; set; } + + /// + /// User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + /// + [Input("lastName")] + public Input? LastName { get; set; } + + [Input("roles", required: true)] + private InputList? _roles; + + /// + /// List of roles for the user. E.g. 'admin', 'member', 'read-only'. + /// + public InputList Roles + { + get => _roles ?? (_roles = new InputList()); + set => _roles = value; + } + + public UserArgs() + { + } + public static new UserArgs Empty => new UserArgs(); + } + + public sealed class UserState : global::Pulumi.ResourceArgs + { + /// + /// The ISO-8601 time of when the user was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Email address of the user. Also used to identify the user. + /// + [Input("email")] + public Input? Email { get; set; } + + /// + /// User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + /// + [Input("firstName")] + public Input? FirstName { get; set; } + + /// + /// User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + /// + [Input("lastName")] + public Input? LastName { get; set; } + + [Input("roles")] + private InputList? _roles; + + /// + /// List of roles for the user. E.g. 'admin', 'member', 'read-only'. + /// + public InputList Roles + { + get => _roles ?? (_roles = new InputList()); + set => _roles = value; + } + + /// + /// State of the user, either NEW or ACTIVE. + /// + [Input("state")] + public Input? State { get; set; } + + public UserState() + { + } + public static new UserState Empty => new UserState(); + } +} diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs new file mode 100644 index 0000000..4500dcc --- /dev/null +++ b/sdk/dotnet/Utilities.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +namespace Pulumi.Rockset +{ + static class Utilities + { + public static string? GetEnv(params string[] names) + { + foreach (var n in names) + { + var value = global::System.Environment.GetEnvironmentVariable(n); + if (value != null) + { + return value; + } + } + return null; + } + + static string[] trueValues = { "1", "t", "T", "true", "TRUE", "True" }; + static string[] falseValues = { "0", "f", "F", "false", "FALSE", "False" }; + public static bool? GetEnvBoolean(params string[] names) + { + var s = GetEnv(names); + if (s != null) + { + if (global::System.Array.IndexOf(trueValues, s) != -1) + { + return true; + } + if (global::System.Array.IndexOf(falseValues, s) != -1) + { + return false; + } + } + return null; + } + + public static int? GetEnvInt32(params string[] names) => int.TryParse(GetEnv(names), out int v) ? (int?)v : null; + + public static double? GetEnvDouble(params string[] names) => double.TryParse(GetEnv(names), out double v) ? (double?)v : null; + + [global::System.Obsolete("Please use WithDefaults instead")] + public static global::Pulumi.InvokeOptions WithVersion(this global::Pulumi.InvokeOptions? options) + { + var dst = options ?? new global::Pulumi.InvokeOptions{}; + dst.Version = options?.Version ?? Version; + return dst; + } + + public static global::Pulumi.InvokeOptions WithDefaults(this global::Pulumi.InvokeOptions? src) + { + var dst = src ?? new global::Pulumi.InvokeOptions{}; + dst.Version = src?.Version ?? Version; + return dst; + } + + private readonly static string version; + public static string Version => version; + + static Utilities() + { + var assembly = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(Utilities)).Assembly; + using var stream = assembly.GetManifestResourceStream("Pulumi.Rockset.version.txt"); + using var reader = new global::System.IO.StreamReader(stream ?? throw new global::System.NotSupportedException("Missing embedded version.txt file")); + version = reader.ReadToEnd().Trim(); + var parts = version.Split("\n"); + if (parts.Length == 2) + { + // The first part is the provider name. + version = parts[1].Trim(); + } + } + } + + internal sealed class RocksetResourceTypeAttribute : global::Pulumi.ResourceTypeAttribute + { + public RocksetResourceTypeAttribute(string type) : base(type, Utilities.Version) + { + } + } +} diff --git a/sdk/dotnet/View.cs b/sdk/dotnet/View.cs new file mode 100644 index 0000000..e5454f9 --- /dev/null +++ b/sdk/dotnet/View.cs @@ -0,0 +1,210 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var sample = new Rockset.Workspace("sample", new() + /// { + /// Description = "sample datasets", + /// }); + /// + /// var @public = new Rockset.S3Integration("public", new() + /// { + /// Description = "Integration to access Rockset's public datasets", + /// AwsRoleArn = "arn:aws:iam::469279130686:role/rockset-public-datasets", + /// }); + /// + /// var cities = new Rockset.S3Collection("cities", new() + /// { + /// Workspace = sample.Name, + /// Sources = new[] + /// { + /// new Rockset.Inputs.S3CollectionSourceArgs + /// { + /// Bucket = "rockset-public-datasets", + /// IntegrationName = @public.Name, + /// Pattern = "cities/*.json", + /// Format = "json", + /// }, + /// }, + /// }); + /// + /// var brazil = new Rockset.View("brazil", new() + /// { + /// Query = "SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'", + /// Workspace = sample.Name, + /// }, new CustomResourceOptions + /// { + /// DependsOn = new[] + /// { + /// cities, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [RocksetResourceType("rockset:index/view:View")] + public partial class View : global::Pulumi.CustomResource + { + /// + /// The user who created the view. + /// + [Output("createdBy")] + public Output CreatedBy { get; private set; } = null!; + + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// SQL query used for thw view. + /// + [Output("query")] + public Output Query { get; private set; } = null!; + + /// + /// Workspace name. + /// + [Output("workspace")] + public Output Workspace { get; private set; } = null!; + + + /// + /// Create a View resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public View(string name, ViewArgs args, CustomResourceOptions? options = null) + : base("rockset:index/view:View", name, args ?? new ViewArgs(), MakeResourceOptions(options, "")) + { + } + + private View(string name, Input id, ViewState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/view:View", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing View resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static View Get(string name, Input id, ViewState? state = null, CustomResourceOptions? options = null) + { + return new View(name, id, state, options); + } + } + + public sealed class ViewArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// SQL query used for thw view. + /// + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + /// + /// Workspace name. + /// + [Input("workspace", required: true)] + public Input Workspace { get; set; } = null!; + + public ViewArgs() + { + } + public static new ViewArgs Empty => new ViewArgs(); + } + + public sealed class ViewState : global::Pulumi.ResourceArgs + { + /// + /// The user who created the view. + /// + [Input("createdBy")] + public Input? CreatedBy { get; set; } + + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// SQL query used for thw view. + /// + [Input("query")] + public Input? Query { get; set; } + + /// + /// Workspace name. + /// + [Input("workspace")] + public Input? Workspace { get; set; } + + public ViewState() + { + } + public static new ViewState Empty => new ViewState(); + } +} diff --git a/sdk/dotnet/VirtualInstance.cs b/sdk/dotnet/VirtualInstance.cs new file mode 100644 index 0000000..50ae461 --- /dev/null +++ b/sdk/dotnet/VirtualInstance.cs @@ -0,0 +1,291 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset Virtual Instance. To be able to create a new Virtual Instance, + /// The main virtual instance must use a dedicated instance to create a secondary virtual instance, + /// which must be SMALL or larger. To enable live mount, the secondary virtual instance must be MEDIUM or larger. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var query = new Rockset.VirtualInstance("query", new() + /// { + /// Description = "vi for executing query lambdas", + /// Size = "MEDIUM", + /// RemountOnResume = true, + /// }); + /// + /// var patch = new Rockset.CollectionMount("patch", new() + /// { + /// VirtualInstanceId = query.Id, + /// Path = "commons.data", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import rockset:index/virtualInstance:VirtualInstance query 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + /// ``` + /// + [RocksetResourceType("rockset:index/virtualInstance:VirtualInstance")] + public partial class VirtualInstance : global::Pulumi.CustomResource + { + /// + /// Number of seconds without queries after which the Virtual Instance is suspended. + /// + [Output("autoSuspendSeconds")] + public Output AutoSuspendSeconds { get; private set; } = null!; + + /// + /// Current size of the virtual instance. + /// + [Output("currentSize")] + public Output CurrentSize { get; private set; } = null!; + + /// + /// Is this Virtual Instance the default. + /// + [Output("default")] + public Output Default { get; private set; } = null!; + + /// + /// Description of the virtual instance. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Desired size of the virtual instance. + /// + [Output("desiredSize")] + public Output DesiredSize { get; private set; } = null!; + + /// + /// Is monitoring enabled for this Virtual Instance. + /// + [Output("monitoringEnabled")] + public Output MonitoringEnabled { get; private set; } = null!; + + /// + /// Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + /// + [Output("mountRefreshIntervalSeconds")] + public Output MountRefreshIntervalSeconds { get; private set; } = null!; + + /// + /// Name of the virtual instance. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + /// + [Output("remountOnResume")] + public Output RemountOnResume { get; private set; } = null!; + + /// + /// RRN of this Virtual Instance. + /// + [Output("rrn")] + public Output Rrn { get; private set; } = null!; + + /// + /// Requested virtual instance size. Note that this field is called type in the API documentation. + /// + [Output("size")] + public Output Size { get; private set; } = null!; + + /// + /// Virtual Instance state. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + + /// + /// Create a VirtualInstance resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VirtualInstance(string name, VirtualInstanceArgs args, CustomResourceOptions? options = null) + : base("rockset:index/virtualInstance:VirtualInstance", name, args ?? new VirtualInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualInstance(string name, Input id, VirtualInstanceState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/virtualInstance:VirtualInstance", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VirtualInstance resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static VirtualInstance Get(string name, Input id, VirtualInstanceState? state = null, CustomResourceOptions? options = null) + { + return new VirtualInstance(name, id, state, options); + } + } + + public sealed class VirtualInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of seconds without queries after which the Virtual Instance is suspended. + /// + [Input("autoSuspendSeconds")] + public Input? AutoSuspendSeconds { get; set; } + + /// + /// Description of the virtual instance. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + /// + [Input("mountRefreshIntervalSeconds")] + public Input? MountRefreshIntervalSeconds { get; set; } + + /// + /// Name of the virtual instance. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + /// + [Input("remountOnResume")] + public Input? RemountOnResume { get; set; } + + /// + /// Requested virtual instance size. Note that this field is called type in the API documentation. + /// + [Input("size", required: true)] + public Input Size { get; set; } = null!; + + public VirtualInstanceArgs() + { + } + public static new VirtualInstanceArgs Empty => new VirtualInstanceArgs(); + } + + public sealed class VirtualInstanceState : global::Pulumi.ResourceArgs + { + /// + /// Number of seconds without queries after which the Virtual Instance is suspended. + /// + [Input("autoSuspendSeconds")] + public Input? AutoSuspendSeconds { get; set; } + + /// + /// Current size of the virtual instance. + /// + [Input("currentSize")] + public Input? CurrentSize { get; set; } + + /// + /// Is this Virtual Instance the default. + /// + [Input("default")] + public Input? Default { get; set; } + + /// + /// Description of the virtual instance. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Desired size of the virtual instance. + /// + [Input("desiredSize")] + public Input? DesiredSize { get; set; } + + /// + /// Is monitoring enabled for this Virtual Instance. + /// + [Input("monitoringEnabled")] + public Input? MonitoringEnabled { get; set; } + + /// + /// Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + /// + [Input("mountRefreshIntervalSeconds")] + public Input? MountRefreshIntervalSeconds { get; set; } + + /// + /// Name of the virtual instance. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + /// + [Input("remountOnResume")] + public Input? RemountOnResume { get; set; } + + /// + /// RRN of this Virtual Instance. + /// + [Input("rrn")] + public Input? Rrn { get; set; } + + /// + /// Requested virtual instance size. Note that this field is called type in the API documentation. + /// + [Input("size")] + public Input? Size { get; set; } + + /// + /// Virtual Instance state. + /// + [Input("state")] + public Input? State { get; set; } + + public VirtualInstanceState() + { + } + public static new VirtualInstanceState Empty => new VirtualInstanceState(); + } +} diff --git a/sdk/dotnet/Workspace.cs b/sdk/dotnet/Workspace.cs new file mode 100644 index 0000000..abdc764 --- /dev/null +++ b/sdk/dotnet/Workspace.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rockset +{ + /// + /// Manages a Rockset workspace, which can hold collections, query lambdas and views. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Rockset = Pulumi.Rockset; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var demo = new Rockset.Workspace("demo", new() + /// { + /// Description = "a workspace for demo collections", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import rockset:index/workspace:Workspace demo demo + /// ``` + /// + [RocksetResourceType("rockset:index/workspace:Workspace")] + public partial class Workspace : global::Pulumi.CustomResource + { + /// + /// Number of collections in the workspace. + /// + [Output("collectionCount")] + public Output CollectionCount { get; private set; } = null!; + + /// + /// Created at in ISO-8601. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// The user who created the workspace. + /// + [Output("createdBy")] + public Output CreatedBy { get; private set; } = null!; + + /// + /// Text describing the collection. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Unique identifier for workspace. Can contain alphanumeric or dash characters. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a Workspace resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Workspace(string name, WorkspaceArgs? args = null, CustomResourceOptions? options = null) + : base("rockset:index/workspace:Workspace", name, args ?? new WorkspaceArgs(), MakeResourceOptions(options, "")) + { + } + + private Workspace(string name, Input id, WorkspaceState? state = null, CustomResourceOptions? options = null) + : base("rockset:index/workspace:Workspace", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Workspace resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Workspace Get(string name, Input id, WorkspaceState? state = null, CustomResourceOptions? options = null) + { + return new Workspace(name, id, state, options); + } + } + + public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs + { + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for workspace. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public WorkspaceArgs() + { + } + public static new WorkspaceArgs Empty => new WorkspaceArgs(); + } + + public sealed class WorkspaceState : global::Pulumi.ResourceArgs + { + /// + /// Number of collections in the workspace. + /// + [Input("collectionCount")] + public Input? CollectionCount { get; set; } + + /// + /// Created at in ISO-8601. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// The user who created the workspace. + /// + [Input("createdBy")] + public Input? CreatedBy { get; set; } + + /// + /// Text describing the collection. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Unique identifier for workspace. Can contain alphanumeric or dash characters. + /// + [Input("name")] + public Input? Name { get; set; } + + public WorkspaceState() + { + } + public static new WorkspaceState Empty => new WorkspaceState(); + } +} diff --git a/sdk/dotnet/logo.png b/sdk/dotnet/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..181f421e9156e1acb8f0c478a0f184a64b31bc6c GIT binary patch literal 7934 zcmVNNV?z!iDFG5ai9xnY=*#%Wqnkq`+%lx0p1W+WvA_5inJiGyb4gT-zu7M>N8eN1u_D^NM8}?H}fd`G`VY2&@eaUd zw+S~V;JFvC)J>(Q0J;cXW#^?b$i?e{pu4IqQ4`#PoLsy<)J?qu{7i=wfxb#wR3SnGia$0EEB;~&mjT>cCU3q!c>z_@SV09x0x_3E{MCj$N78UtD_r5< zb=lPO+$GeicumM$p62Hnr4h-$r@)mMwX8wk%2Mu~x_C``BFK%`nr?AKo3|B30#OU) zUH`cuf7o~qv{aTa#Z4HT;NO4Lz#wUZujOsf*VAr@Pffhve|~t(QTVn!PXy!}?#}k= z1Of*E`BE(a%~pJy`o=D*3r}@k*ra13j14XgUAFH#o1G>Xl-DkQ$5tI9F3L zM-f&P!PJ41U*80aSQD@Kd_97pnG6_tG^uyHna8FdZ72E7I0qSk*Bx^Q;lTx4)6G`I zn?)lJL89;h*f`y7qvSzeTjIR-5`P_oY+=n`!uSqb(+?qQ!WH;AjXr|GZkZb1VH1Xs zuTLR+!WB4$QD5v@xEjN_cqQUOhG(wiO|`M~S|&br!?3yZ8uBN`r4;kqFpTi){wWy7 zsCXYO9iGWz#N7**=qA7Oyc@F3gQZu&1wERfb;C2^*Zt^&&kxtZAV$Tjv-z>MF9mRB zAmb>RdIuPXF2PYSE(>)qgfa0x__tR_p{qu;scIuni;G_pqjGmld-%u^2M_e%C>X++ zcoDnjCO2`lszOH5F3Oep6l@RtNkK=z5XQty*mXu8QaUR`R*_{IqA?+u0u>H}AqtSQ zgPha@83p~4{5{_+Jx4H?HjwJN&VN@?W}h=ESFWzRr&`1RfFaC@x65v{xX@&|X=hW6 zsbFBG%iMjaPi+~S1TiLFzo|Mab71Y!K$)IgDAiVAKtEnXO_!l-z~%nhe;W&8hIiPy z!3#kkIhk@EGR~&z=d15>_NJTng_CpFsKP> zA8D5d;Nj73HuB*6DPP39tfnaoi%nYMJ-}nOge#;n!D5sO@NH=d2SZ3+3!1Lm@I*+P@0SkCmkJV1BH}52aSf(u=?8*L z_%<{>5D?TU{z$JR5RrFGJO&IKl1R(n0~joWh(?3wiQw$BpYLkA=Pj^!7mpWP>!yuT zr1uvjC=iS$VUi+2z>(oqe*Opa!|PcXoyw$Rj+l>#Lk?)H6coIyy;eYPz_0jpG?Dr& zu4_$yQ3Y6aHT-1|9xj^}>joUGvQVqRky2%diTFy8cuN4?H2J)rcsUGI_&FcZ+c2UO zzRZE5_^f*>JB}h$xu*(fC5xrR+^Z}kGO{n82r?OBuwt^91v8IsAs25Od~+0#DT^}L zBULkxZXp-%GiXNIlm{KHjgfaFk;S_@KtkGpM5Ey<^#(`cuGq=iTzYLT%VXu;BH(7E z1yVC1M7taQK-XuKg883+*`?Bg=p~JiV_Q}YN!W?dC>jwX*l3H-vAHuPYoqVJAy9rZ=0!WCF6yd&5?`i4mxPC;^%vnXKfvXOFB@Ds=g zPYE}^T^8cH6+{sJQaNZXVOxYO){|+ z>I-;sGWEvv0od$1bCfJ#R=6I;cHg&k)s-F>k6qz{Y~&hlWJq@sc`YFIt1EB#_>wM$7I5Zv$`A?d+Umr`rck#s?}e8F0KsJ_?g|F#sb zs|yXV1OiT^Sw55LX2__&L=*8tNGs|}b-~r!BR10o+J=_FvrV2nOX2|NwU4Hv^aFqC*Db#Sy--?NsBsy=rV z{9(_`69{n`dW?QQsjS*Qe<)1KAcWc;mefI_FIWVVZGz8VwjXc2z?Hl z*6yOC9D6HHOzyPDwMnmbTn_$qy<4W4!}8JJdcC#f!nXfA62kiX|1s6^?-)efD%gWu zmo9{Ta3tRbUbrpUT)4T9)kxgDH!w$;ki)z8IoWcZi!sXz@kTd#OVs^F@Zt-OYTCnA z=!Yp?gFjg3H{9*(^_8i}`SpkX&p68Y?j5iOU3>rbWavX!B6XFyu4A=%g*Pm!5CfS2 zk&%08x5WLMNQzQVW??VNWVD#6Ko=mQ<*PWT3Nu5FS``Br@^jMt)*@y8yqq6o@o}xT z3=t_f-c<&BM2fmXB=MGhTNg`CYv+Jbj0K{k2u?vSLHN$6a#O@<_Z7E7j68-4P-8KE z1*q#0?v0GDl5m#x86ijwO#iQLbtm8t`PoiYzb7cWO#5pJBSNZC<(DT@XvyNo>I z&Wn|TS+mffe^j@X>Jo3KHKImcA+mU-^5ANH8Z3aMUXJqkBs?Z0)sWmi3)9WAHOtos zDY`@0v767xuaC{u!#iFHR=knCMimv{OSgQ&fY=?F`1~zi_)~m^OH96 z5KyVi_&o%8>B8CD6TgQT#2y3EsxV20+a(G0U&1~%7}GC9a-`-jVQj3N-vk#cbD`b{ z=;sYa(?gEzs~axGHV%v}UP&J~|E+<^{FlOiZ{@_ROtitezl3Q&1Pa+?gI>AVU~nQ> z(^|hCr;OL6qXA47aKqK^8(;`cPWVE5f}0w9u<9@26cl=9b!O(okoi%V2Ws@L2AF~P zQ}uM5Ja;!8PY;(q`Ec1KGP8gytcMma5=C0vMS^qS`xEEqz%Wu(K#iA@%5nEY1C_!& zuHW@86N3l@N}oP^d#dAhgG5H(OIJQvOkBXc16G=!&ratR;pE!8zZ?Zah>JLZJC;CI zp(O}EJR@#DrdFn4+fj0))iNZ9CtTjTPGqs4m~Vq8V67#ENJelNt}V_cj#5VaCH%=; z7~yh&)xOzwXinVtN@i1vb6l=ay^)k~g+xt9q=e=wb+pqegxD_~%4W|&k@MeckTAPu z#LAE%Sl-0m$<6%EeEz^Nu&z9N!&3<7IE4aaIAN%2wxo3Av%_J{ctqNZDdIo zko1_X88HI77v=HWt|q?TL4S%l@{g0q{ZQ-Uoi5Jy!-(CJl+lJ4E=+P19+BKN?BDZ* zyB*K^pAbXWggZqkoyg*C=J3BXduHvW3l!~BkwphiAFPtnC#5bM@~`njX~{)>@)x(K zraCEywZf=ZnMC13S3aomM@Ef>xfpm5(B4b_J72RBv8DM3;y}g*BY%LHJ15bJHZ<^9 zV$&GdOBZ6*ZaGf{cMDdyE_*WAS>65m!OlOEyuNfzM0@u3JA;;mizxLSQIa>43D*Q zqG`npFD|8F=Rg4}4yhwVy6C+j9JrfA1AG*$i`Nv=eC}v1A8Xcj!&tmE7Vk2|AUI&} zG^Y$#!5(Yx-=260dW1|^oF;)6xh)%{IH+g%O#@M>SL^(zjFhW!un2#y_tf}P&xlvB zJtXRnL{a43uz~eqj@p`2C#wgegdQpH7J5p&DY*Oah7m>HbyEt^QDAf@Z9l?}ly?g~ zCEg%)SO$woeRl1q_0W&6AFlI~UxDqB@~|#6-9%4`S8$1}&DaH$SsLZA5AN$9mcoD1 zy~pk7xs*W&?c1;$Z;|4<-jV}JAtCR9EAqY_M?Xjt*`mHbJ}qT8i|#%;w7XBAA1-X> zy55Y~**o#36_P?0sRuTP!Fl|oIP4*C!mkf)JyyUwWsnB4HO=?L+8`x@3O!{@=tz0;C;0SBXcBKm3{s#jKejRqgUSK; zj&;+=i&WplWOw_jR6y=tJigFyU6-PWIJ9`ZXiHu%=rjv>Y-f`J$txB+T0)BVf;7Oh z#;04~jZd$>xDa_Lv}1UuZk}ttQiclEyV@zFD71Kyyn9r(Rbfvn>Ms1v0&H#}Y-pEX z1DxPD>j`H|RlTv~J&$!9@5>@z7e1=Yt%enFs9WgQGHJxo6lF9;EIhBvwy*nGk?knF z_TKqP2hn%~dGp7)c<-gs<<{x8M54jtCAsGs>>zKIvA6?{agYV+Am{by@ZD$8@^!9~pF$dADST| zFO_*g(s2h>5QQ(@f6tzPx$>|~UE=YZFf!mcYpbsNo8!NM?MDR}IG&3UZTEphZ*9fj zR=m7}l-y1bp?t5aHU-R!w^_cKVf#=!z*_a7End3tyMR_m|M(`)VpYu7{a)mJ(3GQBs95C3LP^>M0xP zf(Um@NveP|Neefi+-~94M!c@MoghDjm|A<+&R&8y97<$n0T-baGcd4gK=MeQJC*d1 z<9yT~UgIveuJ>81&L$p=vPyN=B7tyGA1xL|U{;;#M6DABVT&M>EPAY{U z{kRZXG_C^T>jor8Q@Bw?XA9ynQHKn8Otcm+ku@&_u$Vpwl0vvj9qX`+ zM(&pLPQk?Q)w=_s;9eMlB znn&-Utn{Hto6)z4mqsWhB3^{2{RsBM^O@j3PY+-DAoc?37k8%Qhs=wBLzsC4&xx+N zu6{+*1XD&H&mskn33#v#Evq)mpk>DXcCx7mz4uENOo22A1(RNI~eLt_vg!wtC z4T=(d0n%xn79^Db-)GH>synv+1K!D*iHj%bU2X7n+Bfu|;(-A_Se*MqHfGNJs0(A9 zgqFb)VaD{^Mqb_pn?!qkvBJ8mu@u*dCMQ{>!Y~Azwxce`OkF>Fr*##jZK+I?b)yQ2 zI#tNY1X5uj@MiSNU=LENy(@cL@k(1E*s>1|@SSMvFWhpT#+yO&#%wJfm=6B-`Oia` z^o81_;Dw5{TB3))P_kM!%lRS0l_K=JVx-55SBoHq^WF$0UafVK+nJ$o+!t*v5_6ux zmLk5u_Ul04(n6RAh7zxrI#_n1;ir~tA8}4(2*s1b^6Nmb64rt>^ys@wH0$iCdm064 zl*?47JDEC`X8MBGvK7WJ0tVlfqzeqR0xHe_3c3~F6QKx$V)i0l5cFhUMI5BPT@6=L z95avR_YcerY>Jm(sqkZ4k)|2$jZd$l#Z{;K7)MIKn{7Z0?oZ61%XxEwXoAIigo5Hf zi?<;yj4a+;j#fA1MR&IxO3NT6D$+f5QR5=WmFt{qj`~?eIm6)%2{hRb6?t~5r~LHT>kO}KhH3= zwxWzA?TqG+PvhD@+H1`Wi%c#YsL0uWDDE>e1xMZC7j8VvlrH)A;WkFB-W0TVnVY29 zLmZEZ$o;&M`+_YZHp2%l<(D8vZXS&0|C!(YBerJi!q7DGZ~%@DI(SE>7bt2O5#i`i z!I}B^$Kf|hwSR>=Ei(ZK9sLgwk;vk;>4m_ntd}GG1+f~Xjz;xII12xnzfRhA_}LH1 zJDWxxoC4f|4%QnSfhC2ghJ8GG$(EH`yL8Jf#yN~7)+B{JFNE;ya`x#I40<_c(iCuW zI#)gs#K;3W2Q{ggnM$~C6%2|R7q9H5ZMg9UV`GWe^Fr9hH^H#e2B90_w8mtdeRjT^ z-`SRmfS-(&Cp(?X-|$4(Xo`O5HQg3KsP&t1TRmgXu$6v0yJBpVdEukfjs`G;QF3GXFRxNUyF8LoRWLwPz-#Z;!8Fo-xTTaa z;ewldHX}ZChdtNREJ&Gl`)?5*d9TUij7Nqy;P^H>LU6C?6>%7Z>O# z`jlVzG8jVq5I7u-m>zKC4VqBpFYmx?M>QbX=qsD^%V%#-orVNR%(uZ8aB?YxwtuQm zJ4#NUzGk8ZEVbN%;~9`9kF-KW-QJ*y7>SM(2Np|7H6E{dB zqC{aS&&(cLxDffHiV!2zggZjgheWCm5_J_<7sNh^?CfSmt{{lN1gm6TA}2(AEv2IH zQ0rsoLX7mp!I)QB;6^jmH1izFA^p+uK!+G$+vS zuPvhIg{Ff3T6Mh>UxfSb{&JMV*k@o1qGgwyTIrKI#KE%)y6ijq1=%Ha9jqOuxw!@AIP6FntffdY3&Ysju!gw#RKA1-KJw7;8{ z*fwuw=sEFn$xSv!EPJaR3hiz1*zv9^*oCx)T)bIFstyETGxtTVnbpESSgg2giYk6$D)!e^y3qNT$i$INYMd3DPGx{wwn7QRwCAWt@$DJYSa~a zQoMpjl;~?K_vHm!`$d~<2?r;mSZTtMK7(G3xKNQlIsP*g6 zkn{Fg9tD`o=>AYo6U)Inb%=;K(eRfufa)5=$2aom@mg*xp1a7q zo3(fUng2wYXuirfVg#Zg{b4r_U7n4VXa3rczSsDVsGh=-CN#9t@0{zg=JKdKH#zTq zls@?oz;Twf!ehH^s=^p+czLdi_zuLR-_^tyR|fC~g#MYZCehZUkw-W2Tu0vBc)76H zIJvs25T|#YH`lyJ6#TKy!krzy@f*e(T{jTz(#N z+h>uBcOQ0yyzN#vrI7YT5t3}V{%0^JmpC8!C-qbvQb#x^E+Q&^ljwD~A8wudL+|gF o<>ch#d-e*gdg07*qoM6N<$f=pRTKL7v# literal 0 HcmV?d00001 diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json new file mode 100644 index 0000000..a23af4d --- /dev/null +++ b/sdk/dotnet/pulumi-plugin.json @@ -0,0 +1,4 @@ +{ + "resource": true, + "name": "rockset" +} diff --git a/sdk/go.mod b/sdk/go.mod index f120490..3b13525 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,5 +1,94 @@ -module github.com/pulumi/pulumi-xyz/sdk +module github.com/ddn0/pulumi-rockset/sdk go 1.17 -require github.com/pulumi/pulumi/sdk/v3 v3.38.0 +require ( + github.com/blang/semver v3.5.1+incompatible + github.com/pulumi/pulumi/sdk/v3 v3.96.1 +) + +require ( + dario.cat/mergo v1.0.0 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect + github.com/acomagu/bufpipe v1.0.4 // indirect + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.24.2 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cloudflare/circl v1.3.3 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-git/v5 v5.9.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v1.1.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/hcl/v2 v2.17.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.1 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pgavlin/fx v0.1.6 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/term v1.1.0 // indirect + github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect + github.com/pulumi/esc v0.5.6 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/sergi/go-diff v1.3.1 // indirect + github.com/skeema/knownhosts v1.2.0 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cobra v1.7.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/objx v0.5.0 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect + github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/zclconf/go-cty v1.13.2 // indirect + go.uber.org/atomic v1.9.0 // indirect + golang.org/x/crypto v0.14.0 // indirect + golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect + golang.org/x/mod v0.13.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/sync v0.4.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect + golang.org/x/tools v0.14.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/grpc v1.57.1 // indirect + google.golang.org/protobuf v1.31.0 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + lukechampine.com/frand v1.4.2 // indirect + pgregory.net/rapid v0.6.1 // indirect +) diff --git a/sdk/go.sum b/sdk/go.sum new file mode 100644 index 0000000..830e6f3 --- /dev/null +++ b/sdk/go.sum @@ -0,0 +1,4091 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.39.0/go.mod h1:rVLT6fkc8chs9sfPtFc1SBH6em7n+ZoXaG+87tDISts= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.61.0/go.mod h1:XukKJg4Y7QsUu0Hxg3qQKUWR4VuWivmyMK2+rUyxAqw= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.88.0/go.mod h1:dnKwfYbP9hQhefiUvpbcAyoGSHUrOxR20JVElLiUvEY= +cloud.google.com/go v0.89.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.92.2/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.92.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.0/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.103.0/go.mod h1:vwLx1nqLrzLX/fpwSMOXmFIqBOyHsvHbnAdbGSJ+mKk= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= +cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= +cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= +cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= +cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= +cloud.google.com/go/kms v0.1.0/go.mod h1:8Qp8PCAypHg4FdmlyW1QRAv09BGQ9Uzh7JnmIZxPk+c= +cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= +cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= +cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/monitoring v0.1.0/go.mod h1:Hpm3XfzJv+UTiXzCG5Ffp0wijzHTC7Cv4eR7o3x/fEE= +cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= +cloud.google.com/go/monitoring v1.5.0/go.mod h1:/o9y8NYX5j91JjD/JvGLYbi86kL11OjyJXq2XziLJu4= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= +cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= +cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.10.3/go.mod h1:FUcc28GpGxxACoklPsE1sCtbkY4Ix+ro7yvw+h82Jn4= +cloud.google.com/go/pubsub v1.16.0/go.mod h1:6A8EfoWZ/lUvCWStKGwAWauJZSiuV0Mkmu6WilK/TxQ= +cloud.google.com/go/pubsub v1.24.0/go.mod h1:rWv09Te1SsRpRGPiWOMDKraMQTJyJps4MkUCoMGUgqw= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= +cloud.google.com/go/secretmanager v0.1.0/go.mod h1:3nGKHvnzDUVit7U0S9KAKJ4aOsO1xtwRG+7ey5LK1bM= +cloud.google.com/go/secretmanager v1.5.0/go.mod h1:5C9kM+RwSpkURNovKySkNvGQLUaOgyoR5W0RUx2SyHQ= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= +cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.15.0/go.mod h1:mjjQMoxxyGH7Jr8K5qrx6N2O0AHsczI61sMNn03GIZI= +cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4= +cloud.google.com/go/storage v1.22.0/go.mod h1:GbaLEoMqbVm6sx3Z0R++gSiBlgMv6yUi2q1DeGFKQgE= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.24.0/go.mod h1:3xrJEFMXBsQLgxwThyjuD3aYlroL0TMRec1ypGUQ0KE= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= +cloud.google.com/go/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g= +cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= +cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= +cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= +code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= +contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= +contrib.go.opencensus.io/exporter/stackdriver v0.13.5/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= +contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= +contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= +contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= +github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= +github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= +github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v66.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.0.2/go.mod h1:LH9XQnMr2ZYxQdVdCrzLO9mxeDyrDFa6wbSI3x5zCZk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1/go.mod h1:eZ4g6GUvXiGulfIbbhh1Xr4XwUYaYaWMqzGD/284wCA= +github.com/Azure/azure-service-bus-go v0.10.11/go.mod h1:AWw9eTTWZVZyvgpPahD1ybz3a8/vT3GsJDS8KYex55U= +github.com/Azure/azure-service-bus-go v0.10.16/go.mod h1:MlkLwGGf1ewcx5jZadn0gUEty+tTg0RaElr6bPf+QhI= +github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= +github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= +github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= +github.com/Azure/go-amqp v0.13.4/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= +github.com/Azure/go-amqp v0.13.7/go.mod h1:wbpCKA8tR5MLgRyIu+bb+S6ECdIDdYJ0NlpFE9xsBPI= +github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= +github.com/Azure/go-amqp v0.17.0/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-amqp v0.17.5/go.mod h1:9YJ3RhxRT1gquYnzpZO1vcYMMpAdJT+QEg6fwmw9Zlg= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY= +github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= +github.com/Azure/go-autorest/autorest v0.11.25/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= +github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= +github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.7/go.mod h1:AkzUsqkrdmNhfP2i54HqINVQopw0CLDnvHpJ88Zz1eI= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.3/go.mod h1:yAQ2b6eP/CmLPnmLvxtT1ALIY3OR1oFcCqVBi8vHiTc= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= +github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= +github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.22.0/go.mod h1:mAm5O/zik2RFmcpigNjg6nMotDL8ZXJaxKzgGVcSMFA= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.24.0/go.mod h1:3tx938GhY4FC+E1KT/jNjDw7Z5qxAEtIiERJ2sXjnII= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= +github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= +github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= +github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.9.0/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= +github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= +github.com/aws/aws-sdk-go-v2 v1.17.3/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3/go.mod h1:gNsR5CaXKmQSSzrmGxmwmct/r+ZBfbxorAuXYsj/M5Y= +github.com/aws/aws-sdk-go-v2/config v1.7.0/go.mod h1:w9+nMZ7soXCe5nT46Ri354SNhXDQ6v+V5wqDjnZE+GY= +github.com/aws/aws-sdk-go-v2/config v1.15.15/go.mod h1:A1Lzyy/o21I5/s2FbyX5AevQfSVXpvvIDCoVFD0BC4E= +github.com/aws/aws-sdk-go-v2/credentials v1.4.0/go.mod h1:dgGR+Qq7Wjcd4AOAW5Rf5Tnv3+x7ed6kETXyS9WCuAY= +github.com/aws/aws-sdk-go-v2/credentials v1.12.10/go.mod h1:g5eIM5XRs/OzIIK81QMBl+dAuDyoLN0VYaLP+tBqEOk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.5.0/go.mod h1:CpNzHK9VEFUCknu50kkB8z58AH2B5DvPP7ea1LHve/Y= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.9/go.mod h1:KDCCm4ONIdHtUloDcFvK2+vshZvx4Zmj7UMDfusuz5s= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.21/go.mod h1:iIYPrQ2rYfZiB/iADYlhj9HHZ9TTi6PqKQPAqygohbE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.15/go.mod h1:pWrr2OoHlT7M/Pd2y4HV3gJyPb3qj5qMmnPkKSNPYK4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27/go.mod h1:a1/UpzeyBBerajpnP5nGZa9mGzsBn5cOKxm6NWQsvoI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.9/go.mod h1:08tUpeSGN33QKSO7fwxXczNfiwCpbj+GxK6XKwqWVv0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21/go.mod h1:+Gxn8jYn5k9ebfHEqlhrMirFjSW0v0C9fI+KN5vk2kE= +github.com/aws/aws-sdk-go-v2/internal/ini v1.2.2/go.mod h1:BQV0agm+JEhqR+2RT5e1XTFIDcAAV0eW6z2trp+iduw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/service/iam v1.19.0/go.mod h1:OyAuvpFeSVNppcSsp1hFOVQcaTRc1LE24YIR7pMbbAA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0/go.mod h1:R1KK+vY8AfalhG1AOu5e35pOD2SdoPKQCFLTvnxiohk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= +github.com/aws/aws-sdk-go-v2/service/kms v1.5.0/go.mod h1:w7JuP9Oq1IKMFQPkNe3V6s9rOssXzOVEMNEqK1L1bao= +github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.6.0/go.mod h1:B+7C5UKdVq1ylkI/A6O8wcurFtaux0R1njePNPtKwoA= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= +github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= +github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.10.0/go.mod h1:4dXS5YNqI3SNbetQ7X7vfsMlX6ZnboJA2dulBwJx7+g= +github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= +github.com/aws/aws-sdk-go-v2/service/sso v1.4.0/go.mod h1:+1fpWnL96DL23aXPpMGbsmKe8jLTEfbjuQoA4WS1VaA= +github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= +github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= +github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmclSfl4l7cySoay8vz7p/ce0E= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aymanbagabas/go-osc52 v1.0.3 h1:DTwqENW7X9arYimJrPeGZcV0ln14sGMt3pHZspWD+Mg= +github.com/aymanbagabas/go-osc52 v1.0.3/go.mod h1:zT8H+Rk4VSabYN90pWyugflM3ZhpTZNC7cASDfUCdT4= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= +github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +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/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/ccojocar/zxcvbn-go v1.0.1/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.24.1/go.mod h1:rK3g/2+T8vOSEkNHvtq40umJpeVYDn6bLaqbgzhL/hg= +github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= +github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= +github.com/charmbracelet/glamour v0.6.0/go.mod h1:taqWV4swIMMbWALc0m7AfE9JkPSU8om2538k9ITBxOc= +github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= +github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitalocean/godo v1.78.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/digitalocean/godo v1.81.0/go.mod h1:BPCqvwbjbGqxuUnIKB4EvS/AX7IDnNmt5fwvIkWo+ew= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= +github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= +github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= +github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.0.1/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= +github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= +github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.1.0/go.mod h1:ZKfuPUoY1ZqIG4QG9BDBh3G4gLM5zvPuSJAozQrZuyM= +github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-git/go-git/v5 v5.5.1/go.mod h1:uz5PQ3d0gz7mSgzZhSJToM6ALPaKCdSnl58/Xb5hzr8= +github.com/go-git/go-git/v5 v5.6.0/go.mod h1:6nmJ0tJ3N4noMV1Omv7rC5FG3/o8Cm51TB4CJp7mRmE= +github.com/go-git/go-git/v5 v5.9.0 h1:cD9SFA7sHVRdJ7AYck1ZaAa/yeuBvGPxwXDL8cxrObY= +github.com/go-git/go-git/v5 v5.9.0/go.mod h1:RKIqga24sWdMGZF+1Ekv9kylsDz6LzdTSI2s/OsZWE0= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= +github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= +github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/go-replayers/grpcreplay v1.0.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= +github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= +github.com/google/go-replayers/httpreplay v0.1.2/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= +github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= +github.com/google/go-replayers/httpreplay v1.1.1/go.mod h1:gN9GeLIs7l6NUoVaSSnv2RiqK1NiwAmD0MrKeC9IIks= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20220318212150-b2ab0324ddda/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= +github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3/go.mod h1:gSuNB+gJaOiQKLEZ+q+PK9Mq3SOzhRcw2GsGS/FhYDk= +github.com/google/pprof v0.0.0-20230406165453-00490a63f317/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= +github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= +github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gophercloud/gophercloud v0.24.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gophercloud/gophercloud v0.25.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.2/go.mod h1:chrfS3YoLAlKTRE5cFWvCbt8uGAjshktT4PveTUpsFQ= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= +github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs= +github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= +github.com/hashicorp/go-getter v1.4.2-0.20200106182914-9813cbd4eb02/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= +github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= +github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= +github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= +github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.5/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.6/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/mlock v0.1.2/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.2/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.5.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+TbOzkJJZ4vrXeI= +github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= +github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= +github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hcl/v2 v2.12.0/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.14.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.15.0/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= +github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= +github.com/hashicorp/terraform-exec v0.9.0/go.mod h1:tOT8j1J8rP05bZBGWXfMyU3HkLi1LWyqL3Bzsc3CJjo= +github.com/hashicorp/terraform-exec v0.17.2/go.mod h1:tuIbsL2l4MlwwIZx9HPM+LOV9vVyEfBYu2GsO1uH3/8= +github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-json v0.5.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= +github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= +github.com/hashicorp/terraform-plugin-go v0.12.0/go.mod h1:kwhmaWHNDvT1B3QiSJdAtrB/D4RaKSY/v3r2BuoWK4M= +github.com/hashicorp/terraform-plugin-go v0.14.1/go.mod h1:Bc/K6K26BQ2FHqIELPbpKtt2CzzbQou+0UQF3/0NsCQ= +github.com/hashicorp/terraform-plugin-log v0.6.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-log v0.7.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.0.2/go.mod h1:pVZLnLuSe/yv0XqTHFPb8xRGWPwgANT77jHeHqjXS5o= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0/go.mod h1:/WYikYjhKB7c2j1HmXZhRsAARldRb4M38bLCLOhC3so= +github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= +github.com/hashicorp/terraform-plugin-test/v2 v2.1.1/go.mod h1:HaW2G5cDTVyiEKt7PHC85YSM5BwvYl/rIko1g8Lg7qE= +github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c/go.mod h1:Wn3Na71knbXc1G8Lh+yu/dQWWJeFQEpDeJMtWMtlmNI= +github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= +github.com/hashicorp/vault/api v1.1.0/go.mod h1:R3Umvhlxi2TN7Ex2hzOowyeNb+SfbVWI973N+ctaFMk= +github.com/hashicorp/vault/api v1.1.1/go.mod h1:29UXcn/1cLOPHQNMWA7bCz2By4PSd0VKPAydKXS5yN0= +github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= +github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= +github.com/hashicorp/vault/sdk v0.2.0/go.mod h1:cAGI4nVnEfAyMeqt9oB+Mase8DNn3qA/LDNHURiwssY= +github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U= +github.com/hashicorp/vault/sdk v0.5.1/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.5.3/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= +github.com/hashicorp/vault/sdk v0.6.0/go.mod h1:+DRpzoXIdMvKc88R4qxr+edwy/RvH5QK8itmxLiDHLc= +github.com/hashicorp/vault/sdk v0.6.1/go.mod h1:Ck4JuAC6usTphfrrRJCRH+7/N7O2ozZzkm/fzQFt4uM= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME= +github.com/hetznercloud/hcloud-go v1.35.0/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= +github.com/hexops/autogold v0.8.1/go.mod h1:97HLDXyG23akzAoRYJh/2OBs3kd80eHyKPvZw0S5ZBY= +github.com/hexops/autogold v1.3.0/go.mod h1:d4hwi2rid66Sag+BVuHgwakW/EmaFr8vdTSbWDbrDRI= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= +github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20220517205856-0058ec4f073c/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ionos-cloud/sdk-go/v6 v6.1.0/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.12.1/go.mod h1:ZkhRC59Llhrq3oSfrikvwQ5NaxYExr6twkdkMLaKono= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.3.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.11.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.1.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linode/linodego v1.4.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= +github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/liquidgecka/testlib v0.0.0-20180123051607-561e6b271c63/go.mod h1:vwMPvLIhXhkJaBfsk/6l+eDuiQaIVHC0b6eCvUVBsB0= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM= +github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.1/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.4/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/moby v20.10.14+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v20.10.18+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v23.0.0+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby v23.0.3+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b h1:1XF24mVaiu7u+CFywTdcDo2ie1pzzhwjt6RHqzpMU34= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.13.0/go.mod h1:sP1+uffeLaEYpyOTb8pLCUctGcGLnoFjSn4YJK5e2bc= +github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs= +github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/mxschmitt/golang-combinations v1.0.0/go.mod h1:RbMhWvfCelHR6WROvT2bVfxJvZHoEvBj71SKe+H0MYU= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= +github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= +github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= +github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= +github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= +github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= +github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc= +github.com/onsi/ginkgo/v2 v2.9.0/go.mod h1:4xkjoL/tZv4SMWeww56BU5kAt19mVB47gTWxmrTcxyk= +github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= +github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= +github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= +github.com/onsi/ginkgo/v2 v2.9.7/go.mod h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+M/1uw0= +github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= +github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= +github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= +github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= +github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw= +github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/onsi/gomega v1.27.7/go.mod h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4= +github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e/go.mod h1:EHPiTAKtiFmrMldLUNswFwfZ2eJIYBHktdaUTZxYWRw= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e/go.mod h1:WGwlmuPAiQTGQUjxyAfP7j4JgbgiFvFpI/qRtsQtS/4= +github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= +github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f/go.mod h1:fk4+YyTLi0Ap0CsL1HA70/tAs6evqw3hbPGdR8rD/3E= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= +github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/alertmanager v0.24.0/go.mod h1:r6fy/D7FRuZh5YbnX6J3MBY0eI4Pb5yPYS7/bPSXXqI= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common/assets v0.1.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/assets v0.2.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= +github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= +github.com/prometheus/exporter-toolkit v0.7.1/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= +github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +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.4.0/go.mod h1:1QdAYTzMrYKoylwDsWTbr99Kj3T0eJjNDfT9MBdBvCk= +github.com/pulumi/esc v0.5.6 h1:4WV3X7OEVcChIwbSG+JxhZDdmq/q7lFPaSjHRYlPwmI= +github.com/pulumi/esc v0.5.6/go.mod h1:wpwNfVS5fV7Kd51j4dJ6FWYlKfxdqyppgp0gtkzqH04= +github.com/pulumi/pulumi-java/pkg v0.1.0/go.mod h1:Dw5klQSJCD6hHaHN4BcCoOW+KjC6NafdBtDsy6sY6uc= +github.com/pulumi/pulumi-java/pkg v0.2.0/go.mod h1:LUz8JGS7Lxn2EnPkxFhB6Rap0CwZyHTHmwLQ16NFIhc= +github.com/pulumi/pulumi-java/pkg v0.4.0/go.mod h1:j3qzYXomeNTibPcInXJVdsaBuHYwv0ISmwTgR6q0hU0= +github.com/pulumi/pulumi-java/pkg v0.4.1/go.mod h1:j3qzYXomeNTibPcInXJVdsaBuHYwv0ISmwTgR6q0hU0= +github.com/pulumi/pulumi-java/pkg v0.4.2-0.20220706212453-8046ed6407d4/go.mod h1:kvPN1g2gzkGPsXp16/3C4a/OKo+NmPtBolK2DXd0I5Q= +github.com/pulumi/pulumi-java/pkg v0.5.0/go.mod h1:NQafG/kIAAm2zGkIi2Dc5tcMTUikDOSp22NynwehBbM= +github.com/pulumi/pulumi-java/pkg v0.5.4/go.mod h1:leMQvQ5IR3APhejwcWSfwZnkHosKHygKRaWkIyhsvtw= +github.com/pulumi/pulumi-java/pkg v0.6.0/go.mod h1:xSK2B792P8zjwYZTHYapMM1RJdue2BpRFQNYObWO0C8= +github.com/pulumi/pulumi-java/pkg v0.7.1/go.mod h1:XdN2jYNlcQewr0MFecZfBnY3gnGcvV+WoPTzQqH48k4= +github.com/pulumi/pulumi-java/pkg v0.8.0/go.mod h1:x7/J1GCJ+hHFBEgnMr4QpsTfjXUNHccAHJ9gvFfmAFU= +github.com/pulumi/pulumi-java/pkg v0.9.0/go.mod h1:eHpNTbf4n5X3YvqoDI/+cbVIkQaycBFdsvQb/24ykpc= +github.com/pulumi/pulumi-java/pkg v0.9.2/go.mod h1:+5V4jggi3063hksi28zYvLm42UWVg3VqpR6qGZraIdM= +github.com/pulumi/pulumi-java/pkg v0.9.6/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= +github.com/pulumi/pulumi-java/pkg v0.9.8/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= +github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221104131001-330791e758b8/go.mod h1:J3Jy0quNlS1bNZIFQK3dxUz34AR4FyWlTvdp20gD74A= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221130185552-52ef9a815fb9/go.mod h1:KwuxFDO7k2h3ZH5eTmd/zs3eQ5KlRTliI8vbAIdLcLI= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.33.1-0.20221206123933-cdc390c674b1/go.mod h1:KzJrUQo9GsWoQ6WDVCbzjnYoHUvhkjo4DjYv5NWfdc0= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.34.1-0.20221214173921-8e65b1f9fdd5/go.mod h1:ba1dLETCVZnmdavrrVfg9goz5CjhsqgRfF/NPkLTr28= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.43.0/go.mod h1:tyvu1G9JH1kMNzYYpODtTv/7fgK+ko174AEHn+uSJ0o= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.48.1-0.20230527113951-a0f92e793f31/go.mod h1:8ufh6u3Pl7/Jl0WHAPyMRG2OXPlELPuNJBvfl23OgGM= +github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= +github.com/pulumi/pulumi-yaml v0.3.0/go.mod h1:6pQ0QcQqLYbq+i5vYjir/gDnpCvTkKcHqB5+mt0d3So= +github.com/pulumi/pulumi-yaml v0.5.2/go.mod h1:VTgGg3z1WFYDeiwnq9rS3Y4qAysHiQS3M4X67wqo0RM= +github.com/pulumi/pulumi-yaml v0.5.3/go.mod h1:DVllQAk4eYy9rtDqykGyV/6WiFjzpg/j/k87GZRwV7g= +github.com/pulumi/pulumi-yaml v0.5.4/go.mod h1:e8BcP30yunk/u3mLXDykhtEQf8tTItYgQzPHDmRvJcg= +github.com/pulumi/pulumi-yaml v0.5.5/go.mod h1:erKneF31b8HYQFuy+B3RileYsaIDSzl32zLQaN92+p8= +github.com/pulumi/pulumi-yaml v0.5.9/go.mod h1:rJCp0HXvJGG+hs40wII9yYxuCeBBr2+e8FytW0YnINM= +github.com/pulumi/pulumi-yaml v0.5.10/go.mod h1:vxV5TdH3Xk5HRHNftcDXSbsZFJcJY9ME6k4zD+xw9OY= +github.com/pulumi/pulumi-yaml v1.0.1/go.mod h1:vxV5TdH3Xk5HRHNftcDXSbsZFJcJY9ME6k4zD+xw9OY= +github.com/pulumi/pulumi-yaml v1.0.2/go.mod h1:FKly+y0x5onXHEZALNnFglr6ZZnro4Y/jlN4sYLKYeM= +github.com/pulumi/pulumi-yaml v1.0.3/go.mod h1:KLFTyADnoNoPU9djMyRvXymrTH2SCBg9wnXaapuggEA= +github.com/pulumi/pulumi-yaml v1.0.4/go.mod h1:Szj8ud4Vqyq3oO1n3kzIUfaP3AiCjYZM4FYjOVWwJn8= +github.com/pulumi/pulumi-yaml v1.1.1/go.mod h1:GhpdS6rFpwqvUtKdA+fQy8P28iNvncng39IXh5q68vE= +github.com/pulumi/pulumi-yaml v1.2.2/go.mod h1:EgakC7b/4+VBNnlgM1RZIea2gUstV8s/7bdFJZt0P64= +github.com/pulumi/pulumi/pkg/v3 v3.26.0/go.mod h1:L9E+MXe05AbrSmX1GjX3jIrVNpE2RrauKEjME+BNzi4= +github.com/pulumi/pulumi/pkg/v3 v3.31.1-0.20220429232336-81582c4dcb93/go.mod h1:bO/BHZJoG2Mm8C3dxP414vLPvjxFfsetPE3Ep7Ffgro= +github.com/pulumi/pulumi/pkg/v3 v3.32.1/go.mod h1:TNPDg+H4Mzy5ldOJNpkzqPYTuYH8ehorPFtnQd3pRUU= +github.com/pulumi/pulumi/pkg/v3 v3.33.2-0.20220523224435-36cbf572f457/go.mod h1:5dxG2MKx/TrYtMbQsCA5+9X52s+O7+mCJiYsyDZpRU8= +github.com/pulumi/pulumi/pkg/v3 v3.33.3-0.20220601044734-8c3b8ab96f3e/go.mod h1:L6pQPxfwzQ844F0xaPSwBTijOApmiLoGonpuphShQt4= +github.com/pulumi/pulumi/pkg/v3 v3.35.2/go.mod h1:iG3QYKolhUXYzevuHLCvA2AmdUbZ7cppZbtRf2NqZqY= +github.com/pulumi/pulumi/pkg/v3 v3.35.3/go.mod h1:/ItZHWjJ8l/HvuEQIFlbVAgl4Pi2TkwaaGk3tmKKIUg= +github.com/pulumi/pulumi/pkg/v3 v3.35.4-0.20220706194433-bf578c5d4a27/go.mod h1:YBsDAVIqMLmib0r4YjpgsKc91CszlS64Z6UUEaKtkCE= +github.com/pulumi/pulumi/pkg/v3 v3.35.4-0.20220707201547-515cf6191cb9/go.mod h1:ZOJG8uFLbc89MNIyLtXONhllRRhmTK0+WkF6hfrefd0= +github.com/pulumi/pulumi/pkg/v3 v3.36.1-0.20220725155140-d69eea638451/go.mod h1:W6+hMuAfpcsQONfi3e/El4yavNNeER7NDpGS29dQHVQ= +github.com/pulumi/pulumi/pkg/v3 v3.37.3-0.20220809202049-8441ea2eeefd/go.mod h1:fqioE6+15BcfbrwtMbatflfCSZtKtjJe2t+z6itTkt0= +github.com/pulumi/pulumi/pkg/v3 v3.38.1-0.20220825161912-0fc18cbafb78/go.mod h1:b1VnAnwsu+rLwFSZJ6Awxl8czGpypf1QeNCiBinLC00= +github.com/pulumi/pulumi/pkg/v3 v3.40.1/go.mod h1:Of6sFHjTHQGIFqUoXOu2fG/H+HzR4bQRDNTUZZrIvUY= +github.com/pulumi/pulumi/pkg/v3 v3.42.1-0.20221010121757-adef574983fa/go.mod h1:613f45hSUcSIc7Z3XpSyzFLk+SHZcE8tdffbs3D0xYY= +github.com/pulumi/pulumi/pkg/v3 v3.44.2/go.mod h1:ZPmdEFaa4IT0RWIvLxP61SidP91X+WRtpvIXP+fENkE= +github.com/pulumi/pulumi/pkg/v3 v3.46.0/go.mod h1:ac2TXo6SE0H+1iJyp3JttNE8wmuTU0XF/UcuAtYW3Rs= +github.com/pulumi/pulumi/pkg/v3 v3.46.1/go.mod h1:Rebr+SHHGtTu2w7VURQZDEUYDhtvjECoovIfh9TYHQU= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221129095827-e43e98e5a7ab/go.mod h1:9f7Mbv0amXUNDbvG6jHJ4SaGLMEhXseW2KwjDTqvRAo= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221205185749-86e7d56df231/go.mod h1:fCqwy4EYIamxchIckgUJBZIvQf3AA3JcLSUR2mWIho4= +github.com/pulumi/pulumi/pkg/v3 v3.48.1-0.20221207010559-e812f69ba562/go.mod h1:fCqwy4EYIamxchIckgUJBZIvQf3AA3JcLSUR2mWIho4= +github.com/pulumi/pulumi/pkg/v3 v3.49.0/go.mod h1:4metm4SXH718jHxL3kQwWTzyJMFEVARH4L5zF1qnCek= +github.com/pulumi/pulumi/pkg/v3 v3.49.1-0.20221210190028-cbf32d1940fa/go.mod h1:4metm4SXH718jHxL3kQwWTzyJMFEVARH4L5zF1qnCek= +github.com/pulumi/pulumi/pkg/v3 v3.53.1/go.mod h1:XqciW5mPO8RxBEbN2/My9XjO829UQ2cHuhVLfoKM/yE= +github.com/pulumi/pulumi/pkg/v3 v3.55.0/go.mod h1:uSh5p2+ZVvVT+SCddfla2g92ImHqBu2gZDCqmXI+r/8= +github.com/pulumi/pulumi/pkg/v3 v3.56.0/go.mod h1:l91pIemOEbGBX2tIoVb3r4YlIv3BoTBvyVpECFsVZ3c= +github.com/pulumi/pulumi/pkg/v3 v3.59.0/go.mod h1:whC7X+KJOqKcZtcUWypaOhYuQJitnF+32TQQAa5sgIU= +github.com/pulumi/pulumi/pkg/v3 v3.66.0/go.mod h1:Ns4GxBLXW8arENazM3gjRA++Gp5cPXFsF9obEEdomLU= +github.com/pulumi/pulumi/pkg/v3 v3.69.0/go.mod h1:GbsJqE2bGotPY+mj07LKlpps9ZzAlV7qRQ/u77kw9yk= +github.com/pulumi/pulumi/pkg/v3 v3.76.1/go.mod h1:DnDxyPUhLJv334MdPIIGYD0V7i7fVb7j9AvYf18MI6w= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20230926151835-2b44cf6ec1be/go.mod h1:jNgGFnA/dHm9jrd+ROeXMIBoWICS27U4EOjUqL8EP08= +github.com/pulumi/pulumi/pkg/v3 v3.78.2-0.20231010213836-fd8c4dd81928/go.mod h1:6Fcjl5pVXv4ctBuluuDIYdq8DHc9da3erQJ1NI+ha94= +github.com/pulumi/pulumi/sdk/v3 v3.26.0/go.mod h1:VsxW+TGv2VBLe/MeqsAr9r0zKzK/gbAhFT9QxYr24cY= +github.com/pulumi/pulumi/sdk/v3 v3.28.0/go.mod h1:Oe6AnW5MjJE5X2UJeqeXm1Al7qahdLVhIPeiKuoqxAw= +github.com/pulumi/pulumi/sdk/v3 v3.31.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.32.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.2-0.20220523224435-36cbf572f457/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.2/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.33.3-0.20220601044734-8c3b8ab96f3e/go.mod h1:sF9VfTkwRXYNk/gCR7ICd79VDC8WcsyVq37/sb8sV5A= +github.com/pulumi/pulumi/sdk/v3 v3.35.2/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.3/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.4-0.20220706194433-bf578c5d4a27/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.35.4-0.20220707201547-515cf6191cb9/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.36.0/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.36.1-0.20220725155140-d69eea638451/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.37.2/go.mod h1:e1xuPnh9aKzCesrFf96DEzcybLdRWRMhKeKVBmb2lm0= +github.com/pulumi/pulumi/sdk/v3 v3.37.3-0.20220809202049-8441ea2eeefd/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/pulumi/pulumi/sdk/v3 v3.38.0/go.mod h1:3/6Fr/c01n7Hw7mtAlO7X8WMBgLP5AVTyYe4CRfJQc4= +github.com/pulumi/pulumi/sdk/v3 v3.38.1-0.20220825161912-0fc18cbafb78/go.mod h1:Fw52iyR/4T9xWm7cTcshy4rGEXyPwhXKKEalczKZ8RY= +github.com/pulumi/pulumi/sdk/v3 v3.40.1/go.mod h1:tSNA8Z+GnEjMxH+qtrfcwpmOQj7mTPTAmJUhwvuox5I= +github.com/pulumi/pulumi/sdk/v3 v3.42.0/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.42.1-0.20221010121757-adef574983fa/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.44.2/go.mod h1:N5jL+cw5KiOeMn9bwvRuPQEAhbE3KPq2wSb/Kw+6HuY= +github.com/pulumi/pulumi/sdk/v3 v3.46.0/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.46.1/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.0/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221129095827-e43e98e5a7ab/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221205185749-86e7d56df231/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.48.1-0.20221207010559-e812f69ba562/go.mod h1:n5EPRVFDh+EFwYZ+oaZmEtwgVN1A6NnI82B7ks/bmTU= +github.com/pulumi/pulumi/sdk/v3 v3.49.0/go.mod h1:58NOiU6vEdA0S8KFiFt4/eqH7vKtWhDFsEGCUFRBovw= +github.com/pulumi/pulumi/sdk/v3 v3.49.1-0.20221210190028-cbf32d1940fa/go.mod h1:58NOiU6vEdA0S8KFiFt4/eqH7vKtWhDFsEGCUFRBovw= +github.com/pulumi/pulumi/sdk/v3 v3.53.1/go.mod h1:IYcBrkAwKEGRVq7R1ne3XJKB5bcux5eL3M/zqco7d6Y= +github.com/pulumi/pulumi/sdk/v3 v3.55.0/go.mod h1:sDKcGZ9ChAy1zHYtzEsHyXzD8AvgiKVyQUc8lgzuGhY= +github.com/pulumi/pulumi/sdk/v3 v3.56.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/pulumi/sdk/v3 v3.59.0/go.mod h1:Pb5H3OaRZg0n4TRIfY0pagR/NBIEvjp3lZe2Spr6Umc= +github.com/pulumi/pulumi/sdk/v3 v3.66.0/go.mod h1:hK2uQnf2SwwvCcaAco3l9+g5mGOkRfR7uqUaZpY/fD8= +github.com/pulumi/pulumi/sdk/v3 v3.69.0/go.mod h1:BUUBfQZsH0FPuznRfFHkR+b96VlXELnn+DgidFj4XSQ= +github.com/pulumi/pulumi/sdk/v3 v3.76.1/go.mod h1:HiE9Wf+DVrg8Em1D6bxRCdDMsNkj8//vLCST73xH2Hc= +github.com/pulumi/pulumi/sdk/v3 v3.85.0/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= +github.com/pulumi/pulumi/sdk/v3 v3.85.1-0.20230926151835-2b44cf6ec1be/go.mod h1:vexSGJ5L834l3T7Fo/KpdywjGAgZ2CvChuqGFl+ebS0= +github.com/pulumi/pulumi/sdk/v3 v3.88.0/go.mod h1:M2j1xLl93+NYHtyprVK9Tdyxbnjs4AivPuAKqm5goCo= +github.com/pulumi/pulumi/sdk/v3 v3.88.1-0.20231010213836-fd8c4dd81928/go.mod h1:M2j1xLl93+NYHtyprVK9Tdyxbnjs4AivPuAKqm5goCo= +github.com/pulumi/pulumi/sdk/v3 v3.96.1 h1:FNJmeV2hTsMTyAUe6IYafZIRT3aEUrqS0gMMWQTFAz8= +github.com/pulumi/pulumi/sdk/v3 v3.96.1/go.mod h1:yvD23IIRiqIXuo4kaZNe5zK/uT0nhO99wr6BVEqoi7A= +github.com/pulumi/schema-tools v0.1.0/go.mod h1:feL1siLWdcCNUm+irXoHyNHbGaqoX7pfYojpGZe2ziY= +github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= +github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shirou/gopsutil v3.21.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= +github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= +github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tklauser/go-sysconf v0.3.8/go.mod h1:z4zYWRS+X53WUKtBcmDg1comV3fPhdQnzasnIHUoLDU= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= +github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= +github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= +github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= +github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= +github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= +github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= +github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.5.2/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ= +github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= +github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.3.1/go.mod h1:YO23e2L18AG+ZYQfSobnY4G65nvwvprPCxBHkufUH1k= +github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.6.1/go.mod h1:NEu79Xo32iVb+0gVNV8PMd7GoWqnyDXRlj04yFjqz40= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.6.1/go.mod h1:YJ/JbY5ag/tSQFXzH3mtDmHqzF3aFn3DI/aB1n7pt4w= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.6.1/go.mod h1:UJJXJj0rltNIemDMwkOJyggsvyMG9QHfJeFH0HS5JjM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.6.1/go.mod h1:DAKwdo06hFLc0U88O10x4xnb5sc7dDRDqRuiN+io8JE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.7.0/go.mod h1:aFXT9Ng2seM9eizF+LfKiyPBGy8xIZKwhusC1gIu3hA= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.pennock.tech/tabular v1.1.3/go.mod h1:UzyxF5itNqTCS1ZGXfwDwbFgYj/lS+e67Fid68QOYZ0= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +gocloud.dev v0.23.0/go.mod h1:zklCCIIo1N9ELkU2S2E7tW8P8eeMU7oGLeQCXdDwx9Q= +gocloud.dev v0.24.0/go.mod h1:uA+als++iBX5ShuG4upQo/3Zoz49iIPlYUWHV5mM8w8= +gocloud.dev v0.27.0/go.mod h1:YlYKhYsY5/1JdHGWQDkAuqkezVKowu7qbe9aIeUF6p0= +gocloud.dev/secrets/hashivault v0.23.0/go.mod h1:JkedtcYw0IqNMru0glghf+dkoszG0WFjal3PCpucxBs= +gocloud.dev/secrets/hashivault v0.24.0/go.mod h1:I4EieZgy8VTp5iVK2jSPlTidjENujhKq2Y/wXz8r8V0= +gocloud.dev/secrets/hashivault v0.27.0/go.mod h1:offqsI5oj0B0bVHZdfk/88uIb3NnN93ia8py0yvRlHY= +golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/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.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= +golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210420210106-798c2154c571/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220628200809-02e64fa58f26/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210218084038-e8e29180ff58/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200608174601-1b747fd94509/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= +golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +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= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.37.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA= +google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.52.0/go.mod h1:Him/adpjt0sxtkWViy0b6xyKW/SD71CwdJ7HqJo7SrU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.86.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.91.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= +google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= +google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= +google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210420162539-3c870d7478d2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210423144448-3a41ef94ed2b/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210721163202-f1cecdd8b78a/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220802133213-ce4fa296bf78/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e h1:xIXmWJ303kJCuogpj0bHq+dcjcZHU+XFyc1I0Yl9cRg= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= +gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= +gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= +gopkg.in/telebot.v3 v3.0.0/go.mod h1:7rExV8/0mDDNu9epSrDm/8j22KLaActH1Tbee6YjzWg= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= +k8s.io/api v0.24.2/go.mod h1:AHqbSkTm6YrQ0ObxjO3Pmp/ubFF/KuM7jU+3khoBsOg= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apimachinery v0.24.2/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= +k8s.io/client-go v0.24.2/go.mod h1:zg4Xaoo+umDsfCWr4fCnmLEtQXyCNXCvJuSsglNcV30= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= +modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= +modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA= +modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0= +modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= +modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= +modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +mvdan.cc/editorconfig v0.2.0/go.mod h1:lvnnD3BNdBYkhq+B4uBuFFKatfp02eB6HixDvEz91C0= +mvdan.cc/gofumpt v0.0.0-20210107193838-d24d34e18d44/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/sh/v3 v3.7.0/go.mod h1:K2gwkaesF/D7av7Kxl0HbF5kGOd2ArupNTX3X44+8l8= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= +pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k= diff --git a/sdk/go/Pulumi.yaml b/sdk/go/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/go/rockset/alias.go b/sdk/go/rockset/alias.go new file mode 100644 index 0000000..05adc6e --- /dev/null +++ b/sdk/go/rockset/alias.go @@ -0,0 +1,267 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an alias for a set of collections. +type Alias struct { + pulumi.CustomResourceState + + // List of collections for this alias to refer to. + Collections pulumi.StringOutput `pulumi:"collections"` + // Text describing the alias. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the alias. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Name of the workspace the alias will be in. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewAlias registers a new resource with the given unique name, arguments, and options. +func NewAlias(ctx *pulumi.Context, + name string, args *AliasArgs, opts ...pulumi.ResourceOption) (*Alias, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Collections == nil { + return nil, errors.New("invalid value for required argument 'Collections'") + } + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Alias + err := ctx.RegisterResource("rockset:index/alias:Alias", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlias gets an existing Alias resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAlias(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AliasState, opts ...pulumi.ResourceOption) (*Alias, error) { + var resource Alias + err := ctx.ReadResource("rockset:index/alias:Alias", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Alias resources. +type aliasState struct { + // List of collections for this alias to refer to. + Collections *string `pulumi:"collections"` + // Text describing the alias. + Description *string `pulumi:"description"` + // Unique identifier for the alias. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Name of the workspace the alias will be in. + Workspace *string `pulumi:"workspace"` +} + +type AliasState struct { + // List of collections for this alias to refer to. + Collections pulumi.StringPtrInput + // Text describing the alias. + Description pulumi.StringPtrInput + // Unique identifier for the alias. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Name of the workspace the alias will be in. + Workspace pulumi.StringPtrInput +} + +func (AliasState) ElementType() reflect.Type { + return reflect.TypeOf((*aliasState)(nil)).Elem() +} + +type aliasArgs struct { + // List of collections for this alias to refer to. + Collections string `pulumi:"collections"` + // Text describing the alias. + Description *string `pulumi:"description"` + // Unique identifier for the alias. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Name of the workspace the alias will be in. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a Alias resource. +type AliasArgs struct { + // List of collections for this alias to refer to. + Collections pulumi.StringInput + // Text describing the alias. + Description pulumi.StringPtrInput + // Unique identifier for the alias. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Name of the workspace the alias will be in. + Workspace pulumi.StringInput +} + +func (AliasArgs) ElementType() reflect.Type { + return reflect.TypeOf((*aliasArgs)(nil)).Elem() +} + +type AliasInput interface { + pulumi.Input + + ToAliasOutput() AliasOutput + ToAliasOutputWithContext(ctx context.Context) AliasOutput +} + +func (*Alias) ElementType() reflect.Type { + return reflect.TypeOf((**Alias)(nil)).Elem() +} + +func (i *Alias) ToAliasOutput() AliasOutput { + return i.ToAliasOutputWithContext(context.Background()) +} + +func (i *Alias) ToAliasOutputWithContext(ctx context.Context) AliasOutput { + return pulumi.ToOutputWithContext(ctx, i).(AliasOutput) +} + +// AliasArrayInput is an input type that accepts AliasArray and AliasArrayOutput values. +// You can construct a concrete instance of `AliasArrayInput` via: +// +// AliasArray{ AliasArgs{...} } +type AliasArrayInput interface { + pulumi.Input + + ToAliasArrayOutput() AliasArrayOutput + ToAliasArrayOutputWithContext(context.Context) AliasArrayOutput +} + +type AliasArray []AliasInput + +func (AliasArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Alias)(nil)).Elem() +} + +func (i AliasArray) ToAliasArrayOutput() AliasArrayOutput { + return i.ToAliasArrayOutputWithContext(context.Background()) +} + +func (i AliasArray) ToAliasArrayOutputWithContext(ctx context.Context) AliasArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AliasArrayOutput) +} + +// AliasMapInput is an input type that accepts AliasMap and AliasMapOutput values. +// You can construct a concrete instance of `AliasMapInput` via: +// +// AliasMap{ "key": AliasArgs{...} } +type AliasMapInput interface { + pulumi.Input + + ToAliasMapOutput() AliasMapOutput + ToAliasMapOutputWithContext(context.Context) AliasMapOutput +} + +type AliasMap map[string]AliasInput + +func (AliasMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Alias)(nil)).Elem() +} + +func (i AliasMap) ToAliasMapOutput() AliasMapOutput { + return i.ToAliasMapOutputWithContext(context.Background()) +} + +func (i AliasMap) ToAliasMapOutputWithContext(ctx context.Context) AliasMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AliasMapOutput) +} + +type AliasOutput struct{ *pulumi.OutputState } + +func (AliasOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Alias)(nil)).Elem() +} + +func (o AliasOutput) ToAliasOutput() AliasOutput { + return o +} + +func (o AliasOutput) ToAliasOutputWithContext(ctx context.Context) AliasOutput { + return o +} + +// List of collections for this alias to refer to. +func (o AliasOutput) Collections() pulumi.StringOutput { + return o.ApplyT(func(v *Alias) pulumi.StringOutput { return v.Collections }).(pulumi.StringOutput) +} + +// Text describing the alias. +func (o AliasOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Alias) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the alias. Can contain alphanumeric or dash characters. +func (o AliasOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Alias) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the workspace the alias will be in. +func (o AliasOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *Alias) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type AliasArrayOutput struct{ *pulumi.OutputState } + +func (AliasArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Alias)(nil)).Elem() +} + +func (o AliasArrayOutput) ToAliasArrayOutput() AliasArrayOutput { + return o +} + +func (o AliasArrayOutput) ToAliasArrayOutputWithContext(ctx context.Context) AliasArrayOutput { + return o +} + +func (o AliasArrayOutput) Index(i pulumi.IntInput) AliasOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Alias { + return vs[0].([]*Alias)[vs[1].(int)] + }).(AliasOutput) +} + +type AliasMapOutput struct{ *pulumi.OutputState } + +func (AliasMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Alias)(nil)).Elem() +} + +func (o AliasMapOutput) ToAliasMapOutput() AliasMapOutput { + return o +} + +func (o AliasMapOutput) ToAliasMapOutputWithContext(ctx context.Context) AliasMapOutput { + return o +} + +func (o AliasMapOutput) MapIndex(k pulumi.StringInput) AliasOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Alias { + return vs[0].(map[string]*Alias)[vs[1].(string)] + }).(AliasOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AliasInput)(nil)).Elem(), &Alias{}) + pulumi.RegisterInputType(reflect.TypeOf((*AliasArrayInput)(nil)).Elem(), AliasArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AliasMapInput)(nil)).Elem(), AliasMap{}) + pulumi.RegisterOutputType(AliasOutput{}) + pulumi.RegisterOutputType(AliasArrayOutput{}) + pulumi.RegisterOutputType(AliasMapOutput{}) +} diff --git a/sdk/go/rockset/apiKey.go b/sdk/go/rockset/apiKey.go new file mode 100644 index 0000000..4b2bf78 --- /dev/null +++ b/sdk/go/rockset/apiKey.go @@ -0,0 +1,258 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manage a Rockset Api Key. +// +// Can be used together with roles to scope the actions the api key can take. +type ApiKey struct { + pulumi.CustomResourceState + + // The resulting Rockset api key. + Key pulumi.StringOutput `pulumi:"key"` + // Name of the api key. + Name pulumi.StringOutput `pulumi:"name"` + // The role the api key will use. If not specified, "All User Assigned Roles" will be used. + Role pulumi.StringPtrOutput `pulumi:"role"` + // The user the key is created for. + User pulumi.StringOutput `pulumi:"user"` +} + +// NewApiKey registers a new resource with the given unique name, arguments, and options. +func NewApiKey(ctx *pulumi.Context, + name string, args *ApiKeyArgs, opts ...pulumi.ResourceOption) (*ApiKey, error) { + if args == nil { + args = &ApiKeyArgs{} + } + + secrets := pulumi.AdditionalSecretOutputs([]string{ + "key", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ApiKey + err := ctx.RegisterResource("rockset:index/apiKey:ApiKey", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetApiKey gets an existing ApiKey resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetApiKey(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ApiKeyState, opts ...pulumi.ResourceOption) (*ApiKey, error) { + var resource ApiKey + err := ctx.ReadResource("rockset:index/apiKey:ApiKey", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ApiKey resources. +type apiKeyState struct { + // The resulting Rockset api key. + Key *string `pulumi:"key"` + // Name of the api key. + Name *string `pulumi:"name"` + // The role the api key will use. If not specified, "All User Assigned Roles" will be used. + Role *string `pulumi:"role"` + // The user the key is created for. + User *string `pulumi:"user"` +} + +type ApiKeyState struct { + // The resulting Rockset api key. + Key pulumi.StringPtrInput + // Name of the api key. + Name pulumi.StringPtrInput + // The role the api key will use. If not specified, "All User Assigned Roles" will be used. + Role pulumi.StringPtrInput + // The user the key is created for. + User pulumi.StringPtrInput +} + +func (ApiKeyState) ElementType() reflect.Type { + return reflect.TypeOf((*apiKeyState)(nil)).Elem() +} + +type apiKeyArgs struct { + // Name of the api key. + Name *string `pulumi:"name"` + // The role the api key will use. If not specified, "All User Assigned Roles" will be used. + Role *string `pulumi:"role"` +} + +// The set of arguments for constructing a ApiKey resource. +type ApiKeyArgs struct { + // Name of the api key. + Name pulumi.StringPtrInput + // The role the api key will use. If not specified, "All User Assigned Roles" will be used. + Role pulumi.StringPtrInput +} + +func (ApiKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*apiKeyArgs)(nil)).Elem() +} + +type ApiKeyInput interface { + pulumi.Input + + ToApiKeyOutput() ApiKeyOutput + ToApiKeyOutputWithContext(ctx context.Context) ApiKeyOutput +} + +func (*ApiKey) ElementType() reflect.Type { + return reflect.TypeOf((**ApiKey)(nil)).Elem() +} + +func (i *ApiKey) ToApiKeyOutput() ApiKeyOutput { + return i.ToApiKeyOutputWithContext(context.Background()) +} + +func (i *ApiKey) ToApiKeyOutputWithContext(ctx context.Context) ApiKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApiKeyOutput) +} + +// ApiKeyArrayInput is an input type that accepts ApiKeyArray and ApiKeyArrayOutput values. +// You can construct a concrete instance of `ApiKeyArrayInput` via: +// +// ApiKeyArray{ ApiKeyArgs{...} } +type ApiKeyArrayInput interface { + pulumi.Input + + ToApiKeyArrayOutput() ApiKeyArrayOutput + ToApiKeyArrayOutputWithContext(context.Context) ApiKeyArrayOutput +} + +type ApiKeyArray []ApiKeyInput + +func (ApiKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApiKey)(nil)).Elem() +} + +func (i ApiKeyArray) ToApiKeyArrayOutput() ApiKeyArrayOutput { + return i.ToApiKeyArrayOutputWithContext(context.Background()) +} + +func (i ApiKeyArray) ToApiKeyArrayOutputWithContext(ctx context.Context) ApiKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApiKeyArrayOutput) +} + +// ApiKeyMapInput is an input type that accepts ApiKeyMap and ApiKeyMapOutput values. +// You can construct a concrete instance of `ApiKeyMapInput` via: +// +// ApiKeyMap{ "key": ApiKeyArgs{...} } +type ApiKeyMapInput interface { + pulumi.Input + + ToApiKeyMapOutput() ApiKeyMapOutput + ToApiKeyMapOutputWithContext(context.Context) ApiKeyMapOutput +} + +type ApiKeyMap map[string]ApiKeyInput + +func (ApiKeyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApiKey)(nil)).Elem() +} + +func (i ApiKeyMap) ToApiKeyMapOutput() ApiKeyMapOutput { + return i.ToApiKeyMapOutputWithContext(context.Background()) +} + +func (i ApiKeyMap) ToApiKeyMapOutputWithContext(ctx context.Context) ApiKeyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApiKeyMapOutput) +} + +type ApiKeyOutput struct{ *pulumi.OutputState } + +func (ApiKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ApiKey)(nil)).Elem() +} + +func (o ApiKeyOutput) ToApiKeyOutput() ApiKeyOutput { + return o +} + +func (o ApiKeyOutput) ToApiKeyOutputWithContext(ctx context.Context) ApiKeyOutput { + return o +} + +// The resulting Rockset api key. +func (o ApiKeyOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v *ApiKey) pulumi.StringOutput { return v.Key }).(pulumi.StringOutput) +} + +// Name of the api key. +func (o ApiKeyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ApiKey) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The role the api key will use. If not specified, "All User Assigned Roles" will be used. +func (o ApiKeyOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApiKey) pulumi.StringPtrOutput { return v.Role }).(pulumi.StringPtrOutput) +} + +// The user the key is created for. +func (o ApiKeyOutput) User() pulumi.StringOutput { + return o.ApplyT(func(v *ApiKey) pulumi.StringOutput { return v.User }).(pulumi.StringOutput) +} + +type ApiKeyArrayOutput struct{ *pulumi.OutputState } + +func (ApiKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApiKey)(nil)).Elem() +} + +func (o ApiKeyArrayOutput) ToApiKeyArrayOutput() ApiKeyArrayOutput { + return o +} + +func (o ApiKeyArrayOutput) ToApiKeyArrayOutputWithContext(ctx context.Context) ApiKeyArrayOutput { + return o +} + +func (o ApiKeyArrayOutput) Index(i pulumi.IntInput) ApiKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ApiKey { + return vs[0].([]*ApiKey)[vs[1].(int)] + }).(ApiKeyOutput) +} + +type ApiKeyMapOutput struct{ *pulumi.OutputState } + +func (ApiKeyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApiKey)(nil)).Elem() +} + +func (o ApiKeyMapOutput) ToApiKeyMapOutput() ApiKeyMapOutput { + return o +} + +func (o ApiKeyMapOutput) ToApiKeyMapOutputWithContext(ctx context.Context) ApiKeyMapOutput { + return o +} + +func (o ApiKeyMapOutput) MapIndex(k pulumi.StringInput) ApiKeyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ApiKey { + return vs[0].(map[string]*ApiKey)[vs[1].(string)] + }).(ApiKeyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ApiKeyInput)(nil)).Elem(), &ApiKey{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApiKeyArrayInput)(nil)).Elem(), ApiKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApiKeyMapInput)(nil)).Elem(), ApiKeyMap{}) + pulumi.RegisterOutputType(ApiKeyOutput{}) + pulumi.RegisterOutputType(ApiKeyArrayOutput{}) + pulumi.RegisterOutputType(ApiKeyMapOutput{}) +} diff --git a/sdk/go/rockset/collection.go b/sdk/go/rockset/collection.go new file mode 100644 index 0000000..99c2c4c --- /dev/null +++ b/sdk/go/rockset/collection.go @@ -0,0 +1,309 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a basic collection with no sources. Usually used for the write api. +type Collection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewCollection registers a new resource with the given unique name, arguments, and options. +func NewCollection(ctx *pulumi.Context, + name string, args *CollectionArgs, opts ...pulumi.ResourceOption) (*Collection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Collection + err := ctx.RegisterResource("rockset:index/collection:Collection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCollection gets an existing Collection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCollection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CollectionState, opts ...pulumi.ResourceOption) (*Collection, error) { + var resource Collection + err := ctx.ReadResource("rockset:index/collection:Collection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Collection resources. +type collectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type CollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (CollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*collectionState)(nil)).Elem() +} + +type collectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a Collection resource. +type CollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (CollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*collectionArgs)(nil)).Elem() +} + +type CollectionInput interface { + pulumi.Input + + ToCollectionOutput() CollectionOutput + ToCollectionOutputWithContext(ctx context.Context) CollectionOutput +} + +func (*Collection) ElementType() reflect.Type { + return reflect.TypeOf((**Collection)(nil)).Elem() +} + +func (i *Collection) ToCollectionOutput() CollectionOutput { + return i.ToCollectionOutputWithContext(context.Background()) +} + +func (i *Collection) ToCollectionOutputWithContext(ctx context.Context) CollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollectionOutput) +} + +// CollectionArrayInput is an input type that accepts CollectionArray and CollectionArrayOutput values. +// You can construct a concrete instance of `CollectionArrayInput` via: +// +// CollectionArray{ CollectionArgs{...} } +type CollectionArrayInput interface { + pulumi.Input + + ToCollectionArrayOutput() CollectionArrayOutput + ToCollectionArrayOutputWithContext(context.Context) CollectionArrayOutput +} + +type CollectionArray []CollectionInput + +func (CollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Collection)(nil)).Elem() +} + +func (i CollectionArray) ToCollectionArrayOutput() CollectionArrayOutput { + return i.ToCollectionArrayOutputWithContext(context.Background()) +} + +func (i CollectionArray) ToCollectionArrayOutputWithContext(ctx context.Context) CollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollectionArrayOutput) +} + +// CollectionMapInput is an input type that accepts CollectionMap and CollectionMapOutput values. +// You can construct a concrete instance of `CollectionMapInput` via: +// +// CollectionMap{ "key": CollectionArgs{...} } +type CollectionMapInput interface { + pulumi.Input + + ToCollectionMapOutput() CollectionMapOutput + ToCollectionMapOutputWithContext(context.Context) CollectionMapOutput +} + +type CollectionMap map[string]CollectionInput + +func (CollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Collection)(nil)).Elem() +} + +func (i CollectionMap) ToCollectionMapOutput() CollectionMapOutput { + return i.ToCollectionMapOutputWithContext(context.Background()) +} + +func (i CollectionMap) ToCollectionMapOutputWithContext(ctx context.Context) CollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollectionMapOutput) +} + +type CollectionOutput struct{ *pulumi.OutputState } + +func (CollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Collection)(nil)).Elem() +} + +func (o CollectionOutput) ToCollectionOutput() CollectionOutput { + return o +} + +func (o CollectionOutput) ToCollectionOutputWithContext(ctx context.Context) CollectionOutput { + return o +} + +// Text describing the collection. +func (o CollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Collection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o CollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Collection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o CollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Collection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o CollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Collection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Wait until the collection is ready. +func (o CollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Collection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o CollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Collection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o CollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *Collection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type CollectionArrayOutput struct{ *pulumi.OutputState } + +func (CollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Collection)(nil)).Elem() +} + +func (o CollectionArrayOutput) ToCollectionArrayOutput() CollectionArrayOutput { + return o +} + +func (o CollectionArrayOutput) ToCollectionArrayOutputWithContext(ctx context.Context) CollectionArrayOutput { + return o +} + +func (o CollectionArrayOutput) Index(i pulumi.IntInput) CollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Collection { + return vs[0].([]*Collection)[vs[1].(int)] + }).(CollectionOutput) +} + +type CollectionMapOutput struct{ *pulumi.OutputState } + +func (CollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Collection)(nil)).Elem() +} + +func (o CollectionMapOutput) ToCollectionMapOutput() CollectionMapOutput { + return o +} + +func (o CollectionMapOutput) ToCollectionMapOutputWithContext(ctx context.Context) CollectionMapOutput { + return o +} + +func (o CollectionMapOutput) MapIndex(k pulumi.StringInput) CollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Collection { + return vs[0].(map[string]*Collection)[vs[1].(string)] + }).(CollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CollectionInput)(nil)).Elem(), &Collection{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollectionArrayInput)(nil)).Elem(), CollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollectionMapInput)(nil)).Elem(), CollectionMap{}) + pulumi.RegisterOutputType(CollectionOutput{}) + pulumi.RegisterOutputType(CollectionArrayOutput{}) + pulumi.RegisterOutputType(CollectionMapOutput{}) +} diff --git a/sdk/go/rockset/collectionMount.go b/sdk/go/rockset/collectionMount.go new file mode 100644 index 0000000..122a0e3 --- /dev/null +++ b/sdk/go/rockset/collectionMount.go @@ -0,0 +1,338 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection mount. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rockset.NewCollectionMount(ctx, "data", &rockset.CollectionMountArgs{ +// VirtualInstanceId: pulumi.Any(rockset_virtual_instance.Secondary.Id), +// Path: pulumi.String("commons.data"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// ```sh +// +// $ pulumi import rockset:index/collectionMount:CollectionMount demo 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 +// +// ``` +type CollectionMount struct { + pulumi.CustomResourceState + + // ISO 8601 date when the mount was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + LastRefreshTime pulumi.IntOutput `pulumi:"lastRefreshTime"` + // Collection path to be mounted, in the form workspace.collection + Path pulumi.StringOutput `pulumi:"path"` + // RRN of this mount. + Rrn pulumi.StringOutput `pulumi:"rrn"` + // UNIX timestamp in milliseconds when the snapshot expires. + SnapshotExpirationTime pulumi.IntOutput `pulumi:"snapshotExpirationTime"` + // Mount state. + State pulumi.StringOutput `pulumi:"state"` + // Virtual Instance id + VirtualInstanceId pulumi.StringOutput `pulumi:"virtualInstanceId"` + // Virtual Instance RRN + VirtualInstanceRrn pulumi.StringOutput `pulumi:"virtualInstanceRrn"` +} + +// NewCollectionMount registers a new resource with the given unique name, arguments, and options. +func NewCollectionMount(ctx *pulumi.Context, + name string, args *CollectionMountArgs, opts ...pulumi.ResourceOption) (*CollectionMount, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Path == nil { + return nil, errors.New("invalid value for required argument 'Path'") + } + if args.VirtualInstanceId == nil { + return nil, errors.New("invalid value for required argument 'VirtualInstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CollectionMount + err := ctx.RegisterResource("rockset:index/collectionMount:CollectionMount", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCollectionMount gets an existing CollectionMount resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCollectionMount(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CollectionMountState, opts ...pulumi.ResourceOption) (*CollectionMount, error) { + var resource CollectionMount + err := ctx.ReadResource("rockset:index/collectionMount:CollectionMount", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CollectionMount resources. +type collectionMountState struct { + // ISO 8601 date when the mount was created. + CreatedAt *string `pulumi:"createdAt"` + // UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + LastRefreshTime *int `pulumi:"lastRefreshTime"` + // Collection path to be mounted, in the form workspace.collection + Path *string `pulumi:"path"` + // RRN of this mount. + Rrn *string `pulumi:"rrn"` + // UNIX timestamp in milliseconds when the snapshot expires. + SnapshotExpirationTime *int `pulumi:"snapshotExpirationTime"` + // Mount state. + State *string `pulumi:"state"` + // Virtual Instance id + VirtualInstanceId *string `pulumi:"virtualInstanceId"` + // Virtual Instance RRN + VirtualInstanceRrn *string `pulumi:"virtualInstanceRrn"` +} + +type CollectionMountState struct { + // ISO 8601 date when the mount was created. + CreatedAt pulumi.StringPtrInput + // UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + LastRefreshTime pulumi.IntPtrInput + // Collection path to be mounted, in the form workspace.collection + Path pulumi.StringPtrInput + // RRN of this mount. + Rrn pulumi.StringPtrInput + // UNIX timestamp in milliseconds when the snapshot expires. + SnapshotExpirationTime pulumi.IntPtrInput + // Mount state. + State pulumi.StringPtrInput + // Virtual Instance id + VirtualInstanceId pulumi.StringPtrInput + // Virtual Instance RRN + VirtualInstanceRrn pulumi.StringPtrInput +} + +func (CollectionMountState) ElementType() reflect.Type { + return reflect.TypeOf((*collectionMountState)(nil)).Elem() +} + +type collectionMountArgs struct { + // Collection path to be mounted, in the form workspace.collection + Path string `pulumi:"path"` + // Virtual Instance id + VirtualInstanceId string `pulumi:"virtualInstanceId"` +} + +// The set of arguments for constructing a CollectionMount resource. +type CollectionMountArgs struct { + // Collection path to be mounted, in the form workspace.collection + Path pulumi.StringInput + // Virtual Instance id + VirtualInstanceId pulumi.StringInput +} + +func (CollectionMountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*collectionMountArgs)(nil)).Elem() +} + +type CollectionMountInput interface { + pulumi.Input + + ToCollectionMountOutput() CollectionMountOutput + ToCollectionMountOutputWithContext(ctx context.Context) CollectionMountOutput +} + +func (*CollectionMount) ElementType() reflect.Type { + return reflect.TypeOf((**CollectionMount)(nil)).Elem() +} + +func (i *CollectionMount) ToCollectionMountOutput() CollectionMountOutput { + return i.ToCollectionMountOutputWithContext(context.Background()) +} + +func (i *CollectionMount) ToCollectionMountOutputWithContext(ctx context.Context) CollectionMountOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollectionMountOutput) +} + +// CollectionMountArrayInput is an input type that accepts CollectionMountArray and CollectionMountArrayOutput values. +// You can construct a concrete instance of `CollectionMountArrayInput` via: +// +// CollectionMountArray{ CollectionMountArgs{...} } +type CollectionMountArrayInput interface { + pulumi.Input + + ToCollectionMountArrayOutput() CollectionMountArrayOutput + ToCollectionMountArrayOutputWithContext(context.Context) CollectionMountArrayOutput +} + +type CollectionMountArray []CollectionMountInput + +func (CollectionMountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CollectionMount)(nil)).Elem() +} + +func (i CollectionMountArray) ToCollectionMountArrayOutput() CollectionMountArrayOutput { + return i.ToCollectionMountArrayOutputWithContext(context.Background()) +} + +func (i CollectionMountArray) ToCollectionMountArrayOutputWithContext(ctx context.Context) CollectionMountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollectionMountArrayOutput) +} + +// CollectionMountMapInput is an input type that accepts CollectionMountMap and CollectionMountMapOutput values. +// You can construct a concrete instance of `CollectionMountMapInput` via: +// +// CollectionMountMap{ "key": CollectionMountArgs{...} } +type CollectionMountMapInput interface { + pulumi.Input + + ToCollectionMountMapOutput() CollectionMountMapOutput + ToCollectionMountMapOutputWithContext(context.Context) CollectionMountMapOutput +} + +type CollectionMountMap map[string]CollectionMountInput + +func (CollectionMountMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CollectionMount)(nil)).Elem() +} + +func (i CollectionMountMap) ToCollectionMountMapOutput() CollectionMountMapOutput { + return i.ToCollectionMountMapOutputWithContext(context.Background()) +} + +func (i CollectionMountMap) ToCollectionMountMapOutputWithContext(ctx context.Context) CollectionMountMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollectionMountMapOutput) +} + +type CollectionMountOutput struct{ *pulumi.OutputState } + +func (CollectionMountOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CollectionMount)(nil)).Elem() +} + +func (o CollectionMountOutput) ToCollectionMountOutput() CollectionMountOutput { + return o +} + +func (o CollectionMountOutput) ToCollectionMountOutputWithContext(ctx context.Context) CollectionMountOutput { + return o +} + +// ISO 8601 date when the mount was created. +func (o CollectionMountOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. +func (o CollectionMountOutput) LastRefreshTime() pulumi.IntOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.IntOutput { return v.LastRefreshTime }).(pulumi.IntOutput) +} + +// Collection path to be mounted, in the form workspace.collection +func (o CollectionMountOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput) +} + +// RRN of this mount. +func (o CollectionMountOutput) Rrn() pulumi.StringOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.StringOutput { return v.Rrn }).(pulumi.StringOutput) +} + +// UNIX timestamp in milliseconds when the snapshot expires. +func (o CollectionMountOutput) SnapshotExpirationTime() pulumi.IntOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.IntOutput { return v.SnapshotExpirationTime }).(pulumi.IntOutput) +} + +// Mount state. +func (o CollectionMountOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Virtual Instance id +func (o CollectionMountOutput) VirtualInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.StringOutput { return v.VirtualInstanceId }).(pulumi.StringOutput) +} + +// Virtual Instance RRN +func (o CollectionMountOutput) VirtualInstanceRrn() pulumi.StringOutput { + return o.ApplyT(func(v *CollectionMount) pulumi.StringOutput { return v.VirtualInstanceRrn }).(pulumi.StringOutput) +} + +type CollectionMountArrayOutput struct{ *pulumi.OutputState } + +func (CollectionMountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CollectionMount)(nil)).Elem() +} + +func (o CollectionMountArrayOutput) ToCollectionMountArrayOutput() CollectionMountArrayOutput { + return o +} + +func (o CollectionMountArrayOutput) ToCollectionMountArrayOutputWithContext(ctx context.Context) CollectionMountArrayOutput { + return o +} + +func (o CollectionMountArrayOutput) Index(i pulumi.IntInput) CollectionMountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CollectionMount { + return vs[0].([]*CollectionMount)[vs[1].(int)] + }).(CollectionMountOutput) +} + +type CollectionMountMapOutput struct{ *pulumi.OutputState } + +func (CollectionMountMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CollectionMount)(nil)).Elem() +} + +func (o CollectionMountMapOutput) ToCollectionMountMapOutput() CollectionMountMapOutput { + return o +} + +func (o CollectionMountMapOutput) ToCollectionMountMapOutputWithContext(ctx context.Context) CollectionMountMapOutput { + return o +} + +func (o CollectionMountMapOutput) MapIndex(k pulumi.StringInput) CollectionMountOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CollectionMount { + return vs[0].(map[string]*CollectionMount)[vs[1].(string)] + }).(CollectionMountOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CollectionMountInput)(nil)).Elem(), &CollectionMount{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollectionMountArrayInput)(nil)).Elem(), CollectionMountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollectionMountMapInput)(nil)).Elem(), CollectionMountMap{}) + pulumi.RegisterOutputType(CollectionMountOutput{}) + pulumi.RegisterOutputType(CollectionMountArrayOutput{}) + pulumi.RegisterOutputType(CollectionMountMapOutput{}) +} diff --git a/sdk/go/rockset/config/config.go b/sdk/go/rockset/config/config.go new file mode 100644 index 0000000..d05fac2 --- /dev/null +++ b/sdk/go/rockset/config/config.go @@ -0,0 +1,22 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package config + +import ( + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +) + +var _ = internal.GetEnvOrDefault + +// The API key used to access Rockset +func GetApiKey(ctx *pulumi.Context) string { + return config.Get(ctx, "rockset:apiKey") +} + +// The API server for accessing Rockset +func GetApiServer(ctx *pulumi.Context) string { + return config.Get(ctx, "rockset:apiServer") +} diff --git a/sdk/go/rockset/doc.go b/sdk/go/rockset/doc.go new file mode 100644 index 0000000..ceb8127 --- /dev/null +++ b/sdk/go/rockset/doc.go @@ -0,0 +1,2 @@ +// A Pulumi package for creating and managing rockset cloud resources. +package rockset diff --git a/sdk/go/rockset/dynamodbCollection.go b/sdk/go/rockset/dynamodbCollection.go new file mode 100644 index 0000000..2c88aec --- /dev/null +++ b/sdk/go/rockset/dynamodbCollection.go @@ -0,0 +1,324 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection with an DynamoDB source attached. +type DynamodbCollection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources DynamodbCollectionSourceArrayOutput `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewDynamodbCollection registers a new resource with the given unique name, arguments, and options. +func NewDynamodbCollection(ctx *pulumi.Context, + name string, args *DynamodbCollectionArgs, opts ...pulumi.ResourceOption) (*DynamodbCollection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DynamodbCollection + err := ctx.RegisterResource("rockset:index/dynamodbCollection:DynamodbCollection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDynamodbCollection gets an existing DynamodbCollection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetDynamodbCollection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DynamodbCollectionState, opts ...pulumi.ResourceOption) (*DynamodbCollection, error) { + var resource DynamodbCollection + err := ctx.ReadResource("rockset:index/dynamodbCollection:DynamodbCollection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DynamodbCollection resources. +type dynamodbCollectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []DynamodbCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type DynamodbCollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources DynamodbCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (DynamodbCollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*dynamodbCollectionState)(nil)).Elem() +} + +type dynamodbCollectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []DynamodbCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a DynamodbCollection resource. +type DynamodbCollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources DynamodbCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (DynamodbCollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dynamodbCollectionArgs)(nil)).Elem() +} + +type DynamodbCollectionInput interface { + pulumi.Input + + ToDynamodbCollectionOutput() DynamodbCollectionOutput + ToDynamodbCollectionOutputWithContext(ctx context.Context) DynamodbCollectionOutput +} + +func (*DynamodbCollection) ElementType() reflect.Type { + return reflect.TypeOf((**DynamodbCollection)(nil)).Elem() +} + +func (i *DynamodbCollection) ToDynamodbCollectionOutput() DynamodbCollectionOutput { + return i.ToDynamodbCollectionOutputWithContext(context.Background()) +} + +func (i *DynamodbCollection) ToDynamodbCollectionOutputWithContext(ctx context.Context) DynamodbCollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbCollectionOutput) +} + +// DynamodbCollectionArrayInput is an input type that accepts DynamodbCollectionArray and DynamodbCollectionArrayOutput values. +// You can construct a concrete instance of `DynamodbCollectionArrayInput` via: +// +// DynamodbCollectionArray{ DynamodbCollectionArgs{...} } +type DynamodbCollectionArrayInput interface { + pulumi.Input + + ToDynamodbCollectionArrayOutput() DynamodbCollectionArrayOutput + ToDynamodbCollectionArrayOutputWithContext(context.Context) DynamodbCollectionArrayOutput +} + +type DynamodbCollectionArray []DynamodbCollectionInput + +func (DynamodbCollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DynamodbCollection)(nil)).Elem() +} + +func (i DynamodbCollectionArray) ToDynamodbCollectionArrayOutput() DynamodbCollectionArrayOutput { + return i.ToDynamodbCollectionArrayOutputWithContext(context.Background()) +} + +func (i DynamodbCollectionArray) ToDynamodbCollectionArrayOutputWithContext(ctx context.Context) DynamodbCollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbCollectionArrayOutput) +} + +// DynamodbCollectionMapInput is an input type that accepts DynamodbCollectionMap and DynamodbCollectionMapOutput values. +// You can construct a concrete instance of `DynamodbCollectionMapInput` via: +// +// DynamodbCollectionMap{ "key": DynamodbCollectionArgs{...} } +type DynamodbCollectionMapInput interface { + pulumi.Input + + ToDynamodbCollectionMapOutput() DynamodbCollectionMapOutput + ToDynamodbCollectionMapOutputWithContext(context.Context) DynamodbCollectionMapOutput +} + +type DynamodbCollectionMap map[string]DynamodbCollectionInput + +func (DynamodbCollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DynamodbCollection)(nil)).Elem() +} + +func (i DynamodbCollectionMap) ToDynamodbCollectionMapOutput() DynamodbCollectionMapOutput { + return i.ToDynamodbCollectionMapOutputWithContext(context.Background()) +} + +func (i DynamodbCollectionMap) ToDynamodbCollectionMapOutputWithContext(ctx context.Context) DynamodbCollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbCollectionMapOutput) +} + +type DynamodbCollectionOutput struct{ *pulumi.OutputState } + +func (DynamodbCollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DynamodbCollection)(nil)).Elem() +} + +func (o DynamodbCollectionOutput) ToDynamodbCollectionOutput() DynamodbCollectionOutput { + return o +} + +func (o DynamodbCollectionOutput) ToDynamodbCollectionOutputWithContext(ctx context.Context) DynamodbCollectionOutput { + return o +} + +// Text describing the collection. +func (o DynamodbCollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o DynamodbCollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o DynamodbCollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o DynamodbCollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Defines a source for this collection. +func (o DynamodbCollectionOutput) Sources() DynamodbCollectionSourceArrayOutput { + return o.ApplyT(func(v *DynamodbCollection) DynamodbCollectionSourceArrayOutput { return v.Sources }).(DynamodbCollectionSourceArrayOutput) +} + +// Wait until the collection is ready. +func (o DynamodbCollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o DynamodbCollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o DynamodbCollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *DynamodbCollection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type DynamodbCollectionArrayOutput struct{ *pulumi.OutputState } + +func (DynamodbCollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DynamodbCollection)(nil)).Elem() +} + +func (o DynamodbCollectionArrayOutput) ToDynamodbCollectionArrayOutput() DynamodbCollectionArrayOutput { + return o +} + +func (o DynamodbCollectionArrayOutput) ToDynamodbCollectionArrayOutputWithContext(ctx context.Context) DynamodbCollectionArrayOutput { + return o +} + +func (o DynamodbCollectionArrayOutput) Index(i pulumi.IntInput) DynamodbCollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DynamodbCollection { + return vs[0].([]*DynamodbCollection)[vs[1].(int)] + }).(DynamodbCollectionOutput) +} + +type DynamodbCollectionMapOutput struct{ *pulumi.OutputState } + +func (DynamodbCollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DynamodbCollection)(nil)).Elem() +} + +func (o DynamodbCollectionMapOutput) ToDynamodbCollectionMapOutput() DynamodbCollectionMapOutput { + return o +} + +func (o DynamodbCollectionMapOutput) ToDynamodbCollectionMapOutputWithContext(ctx context.Context) DynamodbCollectionMapOutput { + return o +} + +func (o DynamodbCollectionMapOutput) MapIndex(k pulumi.StringInput) DynamodbCollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DynamodbCollection { + return vs[0].(map[string]*DynamodbCollection)[vs[1].(string)] + }).(DynamodbCollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbCollectionInput)(nil)).Elem(), &DynamodbCollection{}) + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbCollectionArrayInput)(nil)).Elem(), DynamodbCollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbCollectionMapInput)(nil)).Elem(), DynamodbCollectionMap{}) + pulumi.RegisterOutputType(DynamodbCollectionOutput{}) + pulumi.RegisterOutputType(DynamodbCollectionArrayOutput{}) + pulumi.RegisterOutputType(DynamodbCollectionMapOutput{}) +} diff --git a/sdk/go/rockset/dynamodbIntegration.go b/sdk/go/rockset/dynamodbIntegration.go new file mode 100644 index 0000000..a905df1 --- /dev/null +++ b/sdk/go/rockset/dynamodbIntegration.go @@ -0,0 +1,267 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset DynamoDB Integration. +type DynamodbIntegration struct { + pulumi.CustomResourceState + + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringOutput `pulumi:"awsRoleArn"` + // Text describing the integration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // AWS S3 bucket name used for exporting the DynamoDB tables. + S3ExportBucketName pulumi.StringOutput `pulumi:"s3ExportBucketName"` +} + +// NewDynamodbIntegration registers a new resource with the given unique name, arguments, and options. +func NewDynamodbIntegration(ctx *pulumi.Context, + name string, args *DynamodbIntegrationArgs, opts ...pulumi.ResourceOption) (*DynamodbIntegration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AwsRoleArn == nil { + return nil, errors.New("invalid value for required argument 'AwsRoleArn'") + } + if args.S3ExportBucketName == nil { + return nil, errors.New("invalid value for required argument 'S3ExportBucketName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DynamodbIntegration + err := ctx.RegisterResource("rockset:index/dynamodbIntegration:DynamodbIntegration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDynamodbIntegration gets an existing DynamodbIntegration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetDynamodbIntegration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DynamodbIntegrationState, opts ...pulumi.ResourceOption) (*DynamodbIntegration, error) { + var resource DynamodbIntegration + err := ctx.ReadResource("rockset:index/dynamodbIntegration:DynamodbIntegration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DynamodbIntegration resources. +type dynamodbIntegrationState struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn *string `pulumi:"awsRoleArn"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // AWS S3 bucket name used for exporting the DynamoDB tables. + S3ExportBucketName *string `pulumi:"s3ExportBucketName"` +} + +type DynamodbIntegrationState struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringPtrInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // AWS S3 bucket name used for exporting the DynamoDB tables. + S3ExportBucketName pulumi.StringPtrInput +} + +func (DynamodbIntegrationState) ElementType() reflect.Type { + return reflect.TypeOf((*dynamodbIntegrationState)(nil)).Elem() +} + +type dynamodbIntegrationArgs struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn string `pulumi:"awsRoleArn"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // AWS S3 bucket name used for exporting the DynamoDB tables. + S3ExportBucketName string `pulumi:"s3ExportBucketName"` +} + +// The set of arguments for constructing a DynamodbIntegration resource. +type DynamodbIntegrationArgs struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // AWS S3 bucket name used for exporting the DynamoDB tables. + S3ExportBucketName pulumi.StringInput +} + +func (DynamodbIntegrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dynamodbIntegrationArgs)(nil)).Elem() +} + +type DynamodbIntegrationInput interface { + pulumi.Input + + ToDynamodbIntegrationOutput() DynamodbIntegrationOutput + ToDynamodbIntegrationOutputWithContext(ctx context.Context) DynamodbIntegrationOutput +} + +func (*DynamodbIntegration) ElementType() reflect.Type { + return reflect.TypeOf((**DynamodbIntegration)(nil)).Elem() +} + +func (i *DynamodbIntegration) ToDynamodbIntegrationOutput() DynamodbIntegrationOutput { + return i.ToDynamodbIntegrationOutputWithContext(context.Background()) +} + +func (i *DynamodbIntegration) ToDynamodbIntegrationOutputWithContext(ctx context.Context) DynamodbIntegrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbIntegrationOutput) +} + +// DynamodbIntegrationArrayInput is an input type that accepts DynamodbIntegrationArray and DynamodbIntegrationArrayOutput values. +// You can construct a concrete instance of `DynamodbIntegrationArrayInput` via: +// +// DynamodbIntegrationArray{ DynamodbIntegrationArgs{...} } +type DynamodbIntegrationArrayInput interface { + pulumi.Input + + ToDynamodbIntegrationArrayOutput() DynamodbIntegrationArrayOutput + ToDynamodbIntegrationArrayOutputWithContext(context.Context) DynamodbIntegrationArrayOutput +} + +type DynamodbIntegrationArray []DynamodbIntegrationInput + +func (DynamodbIntegrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DynamodbIntegration)(nil)).Elem() +} + +func (i DynamodbIntegrationArray) ToDynamodbIntegrationArrayOutput() DynamodbIntegrationArrayOutput { + return i.ToDynamodbIntegrationArrayOutputWithContext(context.Background()) +} + +func (i DynamodbIntegrationArray) ToDynamodbIntegrationArrayOutputWithContext(ctx context.Context) DynamodbIntegrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbIntegrationArrayOutput) +} + +// DynamodbIntegrationMapInput is an input type that accepts DynamodbIntegrationMap and DynamodbIntegrationMapOutput values. +// You can construct a concrete instance of `DynamodbIntegrationMapInput` via: +// +// DynamodbIntegrationMap{ "key": DynamodbIntegrationArgs{...} } +type DynamodbIntegrationMapInput interface { + pulumi.Input + + ToDynamodbIntegrationMapOutput() DynamodbIntegrationMapOutput + ToDynamodbIntegrationMapOutputWithContext(context.Context) DynamodbIntegrationMapOutput +} + +type DynamodbIntegrationMap map[string]DynamodbIntegrationInput + +func (DynamodbIntegrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DynamodbIntegration)(nil)).Elem() +} + +func (i DynamodbIntegrationMap) ToDynamodbIntegrationMapOutput() DynamodbIntegrationMapOutput { + return i.ToDynamodbIntegrationMapOutputWithContext(context.Background()) +} + +func (i DynamodbIntegrationMap) ToDynamodbIntegrationMapOutputWithContext(ctx context.Context) DynamodbIntegrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbIntegrationMapOutput) +} + +type DynamodbIntegrationOutput struct{ *pulumi.OutputState } + +func (DynamodbIntegrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DynamodbIntegration)(nil)).Elem() +} + +func (o DynamodbIntegrationOutput) ToDynamodbIntegrationOutput() DynamodbIntegrationOutput { + return o +} + +func (o DynamodbIntegrationOutput) ToDynamodbIntegrationOutputWithContext(ctx context.Context) DynamodbIntegrationOutput { + return o +} + +// The AWS Role Arn to use for this integration. +func (o DynamodbIntegrationOutput) AwsRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *DynamodbIntegration) pulumi.StringOutput { return v.AwsRoleArn }).(pulumi.StringOutput) +} + +// Text describing the integration. +func (o DynamodbIntegrationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DynamodbIntegration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the integration. Can contain alphanumeric or dash characters. +func (o DynamodbIntegrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DynamodbIntegration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// AWS S3 bucket name used for exporting the DynamoDB tables. +func (o DynamodbIntegrationOutput) S3ExportBucketName() pulumi.StringOutput { + return o.ApplyT(func(v *DynamodbIntegration) pulumi.StringOutput { return v.S3ExportBucketName }).(pulumi.StringOutput) +} + +type DynamodbIntegrationArrayOutput struct{ *pulumi.OutputState } + +func (DynamodbIntegrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DynamodbIntegration)(nil)).Elem() +} + +func (o DynamodbIntegrationArrayOutput) ToDynamodbIntegrationArrayOutput() DynamodbIntegrationArrayOutput { + return o +} + +func (o DynamodbIntegrationArrayOutput) ToDynamodbIntegrationArrayOutputWithContext(ctx context.Context) DynamodbIntegrationArrayOutput { + return o +} + +func (o DynamodbIntegrationArrayOutput) Index(i pulumi.IntInput) DynamodbIntegrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DynamodbIntegration { + return vs[0].([]*DynamodbIntegration)[vs[1].(int)] + }).(DynamodbIntegrationOutput) +} + +type DynamodbIntegrationMapOutput struct{ *pulumi.OutputState } + +func (DynamodbIntegrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DynamodbIntegration)(nil)).Elem() +} + +func (o DynamodbIntegrationMapOutput) ToDynamodbIntegrationMapOutput() DynamodbIntegrationMapOutput { + return o +} + +func (o DynamodbIntegrationMapOutput) ToDynamodbIntegrationMapOutputWithContext(ctx context.Context) DynamodbIntegrationMapOutput { + return o +} + +func (o DynamodbIntegrationMapOutput) MapIndex(k pulumi.StringInput) DynamodbIntegrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DynamodbIntegration { + return vs[0].(map[string]*DynamodbIntegration)[vs[1].(string)] + }).(DynamodbIntegrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbIntegrationInput)(nil)).Elem(), &DynamodbIntegration{}) + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbIntegrationArrayInput)(nil)).Elem(), DynamodbIntegrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbIntegrationMapInput)(nil)).Elem(), DynamodbIntegrationMap{}) + pulumi.RegisterOutputType(DynamodbIntegrationOutput{}) + pulumi.RegisterOutputType(DynamodbIntegrationArrayOutput{}) + pulumi.RegisterOutputType(DynamodbIntegrationMapOutput{}) +} diff --git a/sdk/go/rockset/gcsCollection.go b/sdk/go/rockset/gcsCollection.go new file mode 100644 index 0000000..ae985d0 --- /dev/null +++ b/sdk/go/rockset/gcsCollection.go @@ -0,0 +1,324 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection with an GCS source attached. +type GcsCollection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources GcsCollectionSourceArrayOutput `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewGcsCollection registers a new resource with the given unique name, arguments, and options. +func NewGcsCollection(ctx *pulumi.Context, + name string, args *GcsCollectionArgs, opts ...pulumi.ResourceOption) (*GcsCollection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GcsCollection + err := ctx.RegisterResource("rockset:index/gcsCollection:GcsCollection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGcsCollection gets an existing GcsCollection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGcsCollection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GcsCollectionState, opts ...pulumi.ResourceOption) (*GcsCollection, error) { + var resource GcsCollection + err := ctx.ReadResource("rockset:index/gcsCollection:GcsCollection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GcsCollection resources. +type gcsCollectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []GcsCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type GcsCollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources GcsCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (GcsCollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*gcsCollectionState)(nil)).Elem() +} + +type gcsCollectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []GcsCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a GcsCollection resource. +type GcsCollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources GcsCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (GcsCollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*gcsCollectionArgs)(nil)).Elem() +} + +type GcsCollectionInput interface { + pulumi.Input + + ToGcsCollectionOutput() GcsCollectionOutput + ToGcsCollectionOutputWithContext(ctx context.Context) GcsCollectionOutput +} + +func (*GcsCollection) ElementType() reflect.Type { + return reflect.TypeOf((**GcsCollection)(nil)).Elem() +} + +func (i *GcsCollection) ToGcsCollectionOutput() GcsCollectionOutput { + return i.ToGcsCollectionOutputWithContext(context.Background()) +} + +func (i *GcsCollection) ToGcsCollectionOutputWithContext(ctx context.Context) GcsCollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionOutput) +} + +// GcsCollectionArrayInput is an input type that accepts GcsCollectionArray and GcsCollectionArrayOutput values. +// You can construct a concrete instance of `GcsCollectionArrayInput` via: +// +// GcsCollectionArray{ GcsCollectionArgs{...} } +type GcsCollectionArrayInput interface { + pulumi.Input + + ToGcsCollectionArrayOutput() GcsCollectionArrayOutput + ToGcsCollectionArrayOutputWithContext(context.Context) GcsCollectionArrayOutput +} + +type GcsCollectionArray []GcsCollectionInput + +func (GcsCollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GcsCollection)(nil)).Elem() +} + +func (i GcsCollectionArray) ToGcsCollectionArrayOutput() GcsCollectionArrayOutput { + return i.ToGcsCollectionArrayOutputWithContext(context.Background()) +} + +func (i GcsCollectionArray) ToGcsCollectionArrayOutputWithContext(ctx context.Context) GcsCollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionArrayOutput) +} + +// GcsCollectionMapInput is an input type that accepts GcsCollectionMap and GcsCollectionMapOutput values. +// You can construct a concrete instance of `GcsCollectionMapInput` via: +// +// GcsCollectionMap{ "key": GcsCollectionArgs{...} } +type GcsCollectionMapInput interface { + pulumi.Input + + ToGcsCollectionMapOutput() GcsCollectionMapOutput + ToGcsCollectionMapOutputWithContext(context.Context) GcsCollectionMapOutput +} + +type GcsCollectionMap map[string]GcsCollectionInput + +func (GcsCollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GcsCollection)(nil)).Elem() +} + +func (i GcsCollectionMap) ToGcsCollectionMapOutput() GcsCollectionMapOutput { + return i.ToGcsCollectionMapOutputWithContext(context.Background()) +} + +func (i GcsCollectionMap) ToGcsCollectionMapOutputWithContext(ctx context.Context) GcsCollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionMapOutput) +} + +type GcsCollectionOutput struct{ *pulumi.OutputState } + +func (GcsCollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GcsCollection)(nil)).Elem() +} + +func (o GcsCollectionOutput) ToGcsCollectionOutput() GcsCollectionOutput { + return o +} + +func (o GcsCollectionOutput) ToGcsCollectionOutputWithContext(ctx context.Context) GcsCollectionOutput { + return o +} + +// Text describing the collection. +func (o GcsCollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o GcsCollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o GcsCollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o GcsCollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Defines a source for this collection. +func (o GcsCollectionOutput) Sources() GcsCollectionSourceArrayOutput { + return o.ApplyT(func(v *GcsCollection) GcsCollectionSourceArrayOutput { return v.Sources }).(GcsCollectionSourceArrayOutput) +} + +// Wait until the collection is ready. +func (o GcsCollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o GcsCollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o GcsCollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *GcsCollection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type GcsCollectionArrayOutput struct{ *pulumi.OutputState } + +func (GcsCollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GcsCollection)(nil)).Elem() +} + +func (o GcsCollectionArrayOutput) ToGcsCollectionArrayOutput() GcsCollectionArrayOutput { + return o +} + +func (o GcsCollectionArrayOutput) ToGcsCollectionArrayOutputWithContext(ctx context.Context) GcsCollectionArrayOutput { + return o +} + +func (o GcsCollectionArrayOutput) Index(i pulumi.IntInput) GcsCollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GcsCollection { + return vs[0].([]*GcsCollection)[vs[1].(int)] + }).(GcsCollectionOutput) +} + +type GcsCollectionMapOutput struct{ *pulumi.OutputState } + +func (GcsCollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GcsCollection)(nil)).Elem() +} + +func (o GcsCollectionMapOutput) ToGcsCollectionMapOutput() GcsCollectionMapOutput { + return o +} + +func (o GcsCollectionMapOutput) ToGcsCollectionMapOutputWithContext(ctx context.Context) GcsCollectionMapOutput { + return o +} + +func (o GcsCollectionMapOutput) MapIndex(k pulumi.StringInput) GcsCollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GcsCollection { + return vs[0].(map[string]*GcsCollection)[vs[1].(string)] + }).(GcsCollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionInput)(nil)).Elem(), &GcsCollection{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionArrayInput)(nil)).Elem(), GcsCollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionMapInput)(nil)).Elem(), GcsCollectionMap{}) + pulumi.RegisterOutputType(GcsCollectionOutput{}) + pulumi.RegisterOutputType(GcsCollectionArrayOutput{}) + pulumi.RegisterOutputType(GcsCollectionMapOutput{}) +} diff --git a/sdk/go/rockset/gcsIntegration.go b/sdk/go/rockset/gcsIntegration.go new file mode 100644 index 0000000..c1eb37b --- /dev/null +++ b/sdk/go/rockset/gcsIntegration.go @@ -0,0 +1,249 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset GCS Integration. +type GcsIntegration struct { + pulumi.CustomResourceState + + // Text describing the integration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // The GCP service account key JSON. + ServiceAccountKey pulumi.StringOutput `pulumi:"serviceAccountKey"` +} + +// NewGcsIntegration registers a new resource with the given unique name, arguments, and options. +func NewGcsIntegration(ctx *pulumi.Context, + name string, args *GcsIntegrationArgs, opts ...pulumi.ResourceOption) (*GcsIntegration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ServiceAccountKey == nil { + return nil, errors.New("invalid value for required argument 'ServiceAccountKey'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GcsIntegration + err := ctx.RegisterResource("rockset:index/gcsIntegration:GcsIntegration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGcsIntegration gets an existing GcsIntegration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetGcsIntegration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GcsIntegrationState, opts ...pulumi.ResourceOption) (*GcsIntegration, error) { + var resource GcsIntegration + err := ctx.ReadResource("rockset:index/gcsIntegration:GcsIntegration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GcsIntegration resources. +type gcsIntegrationState struct { + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // The GCP service account key JSON. + ServiceAccountKey *string `pulumi:"serviceAccountKey"` +} + +type GcsIntegrationState struct { + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // The GCP service account key JSON. + ServiceAccountKey pulumi.StringPtrInput +} + +func (GcsIntegrationState) ElementType() reflect.Type { + return reflect.TypeOf((*gcsIntegrationState)(nil)).Elem() +} + +type gcsIntegrationArgs struct { + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // The GCP service account key JSON. + ServiceAccountKey string `pulumi:"serviceAccountKey"` +} + +// The set of arguments for constructing a GcsIntegration resource. +type GcsIntegrationArgs struct { + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // The GCP service account key JSON. + ServiceAccountKey pulumi.StringInput +} + +func (GcsIntegrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*gcsIntegrationArgs)(nil)).Elem() +} + +type GcsIntegrationInput interface { + pulumi.Input + + ToGcsIntegrationOutput() GcsIntegrationOutput + ToGcsIntegrationOutputWithContext(ctx context.Context) GcsIntegrationOutput +} + +func (*GcsIntegration) ElementType() reflect.Type { + return reflect.TypeOf((**GcsIntegration)(nil)).Elem() +} + +func (i *GcsIntegration) ToGcsIntegrationOutput() GcsIntegrationOutput { + return i.ToGcsIntegrationOutputWithContext(context.Background()) +} + +func (i *GcsIntegration) ToGcsIntegrationOutputWithContext(ctx context.Context) GcsIntegrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsIntegrationOutput) +} + +// GcsIntegrationArrayInput is an input type that accepts GcsIntegrationArray and GcsIntegrationArrayOutput values. +// You can construct a concrete instance of `GcsIntegrationArrayInput` via: +// +// GcsIntegrationArray{ GcsIntegrationArgs{...} } +type GcsIntegrationArrayInput interface { + pulumi.Input + + ToGcsIntegrationArrayOutput() GcsIntegrationArrayOutput + ToGcsIntegrationArrayOutputWithContext(context.Context) GcsIntegrationArrayOutput +} + +type GcsIntegrationArray []GcsIntegrationInput + +func (GcsIntegrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GcsIntegration)(nil)).Elem() +} + +func (i GcsIntegrationArray) ToGcsIntegrationArrayOutput() GcsIntegrationArrayOutput { + return i.ToGcsIntegrationArrayOutputWithContext(context.Background()) +} + +func (i GcsIntegrationArray) ToGcsIntegrationArrayOutputWithContext(ctx context.Context) GcsIntegrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsIntegrationArrayOutput) +} + +// GcsIntegrationMapInput is an input type that accepts GcsIntegrationMap and GcsIntegrationMapOutput values. +// You can construct a concrete instance of `GcsIntegrationMapInput` via: +// +// GcsIntegrationMap{ "key": GcsIntegrationArgs{...} } +type GcsIntegrationMapInput interface { + pulumi.Input + + ToGcsIntegrationMapOutput() GcsIntegrationMapOutput + ToGcsIntegrationMapOutputWithContext(context.Context) GcsIntegrationMapOutput +} + +type GcsIntegrationMap map[string]GcsIntegrationInput + +func (GcsIntegrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GcsIntegration)(nil)).Elem() +} + +func (i GcsIntegrationMap) ToGcsIntegrationMapOutput() GcsIntegrationMapOutput { + return i.ToGcsIntegrationMapOutputWithContext(context.Background()) +} + +func (i GcsIntegrationMap) ToGcsIntegrationMapOutputWithContext(ctx context.Context) GcsIntegrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsIntegrationMapOutput) +} + +type GcsIntegrationOutput struct{ *pulumi.OutputState } + +func (GcsIntegrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GcsIntegration)(nil)).Elem() +} + +func (o GcsIntegrationOutput) ToGcsIntegrationOutput() GcsIntegrationOutput { + return o +} + +func (o GcsIntegrationOutput) ToGcsIntegrationOutputWithContext(ctx context.Context) GcsIntegrationOutput { + return o +} + +// Text describing the integration. +func (o GcsIntegrationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsIntegration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the integration. Can contain alphanumeric or dash characters. +func (o GcsIntegrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *GcsIntegration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The GCP service account key JSON. +func (o GcsIntegrationOutput) ServiceAccountKey() pulumi.StringOutput { + return o.ApplyT(func(v *GcsIntegration) pulumi.StringOutput { return v.ServiceAccountKey }).(pulumi.StringOutput) +} + +type GcsIntegrationArrayOutput struct{ *pulumi.OutputState } + +func (GcsIntegrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GcsIntegration)(nil)).Elem() +} + +func (o GcsIntegrationArrayOutput) ToGcsIntegrationArrayOutput() GcsIntegrationArrayOutput { + return o +} + +func (o GcsIntegrationArrayOutput) ToGcsIntegrationArrayOutputWithContext(ctx context.Context) GcsIntegrationArrayOutput { + return o +} + +func (o GcsIntegrationArrayOutput) Index(i pulumi.IntInput) GcsIntegrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GcsIntegration { + return vs[0].([]*GcsIntegration)[vs[1].(int)] + }).(GcsIntegrationOutput) +} + +type GcsIntegrationMapOutput struct{ *pulumi.OutputState } + +func (GcsIntegrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GcsIntegration)(nil)).Elem() +} + +func (o GcsIntegrationMapOutput) ToGcsIntegrationMapOutput() GcsIntegrationMapOutput { + return o +} + +func (o GcsIntegrationMapOutput) ToGcsIntegrationMapOutputWithContext(ctx context.Context) GcsIntegrationMapOutput { + return o +} + +func (o GcsIntegrationMapOutput) MapIndex(k pulumi.StringInput) GcsIntegrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GcsIntegration { + return vs[0].(map[string]*GcsIntegration)[vs[1].(string)] + }).(GcsIntegrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GcsIntegrationInput)(nil)).Elem(), &GcsIntegration{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsIntegrationArrayInput)(nil)).Elem(), GcsIntegrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsIntegrationMapInput)(nil)).Elem(), GcsIntegrationMap{}) + pulumi.RegisterOutputType(GcsIntegrationOutput{}) + pulumi.RegisterOutputType(GcsIntegrationArrayOutput{}) + pulumi.RegisterOutputType(GcsIntegrationMapOutput{}) +} diff --git a/sdk/go/rockset/getAccount.go b/sdk/go/rockset/getAccount.go new file mode 100644 index 0000000..946aa51 --- /dev/null +++ b/sdk/go/rockset/getAccount.go @@ -0,0 +1,99 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Gets information about the Rockset deployment for the specified api server. +func GetAccount(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetAccountResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetAccountResult + err := ctx.Invoke("rockset:index/getAccount:getAccount", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getAccount. +type GetAccountResult struct { + // The AWS account ID to reference in AWS policies. + AccountId string `pulumi:"accountId"` + // The Rockset clusters available to this API key. + Clusters []GetAccountCluster `pulumi:"clusters"` + // The external ID to use in AWS trust policies. + ExternalId string `pulumi:"externalId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The name of the organization for the API key. + Organization string `pulumi:"organization"` + // The name of the Rockset user used for AWS trust policies. + RocksetUser string `pulumi:"rocksetUser"` +} + +func GetAccountOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetAccountResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetAccountResult, error) { + r, err := GetAccount(ctx, opts...) + var s GetAccountResult + if r != nil { + s = *r + } + return s, err + }).(GetAccountResultOutput) +} + +// A collection of values returned by getAccount. +type GetAccountResultOutput struct{ *pulumi.OutputState } + +func (GetAccountResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountResult)(nil)).Elem() +} + +func (o GetAccountResultOutput) ToGetAccountResultOutput() GetAccountResultOutput { + return o +} + +func (o GetAccountResultOutput) ToGetAccountResultOutputWithContext(ctx context.Context) GetAccountResultOutput { + return o +} + +// The AWS account ID to reference in AWS policies. +func (o GetAccountResultOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountResult) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The Rockset clusters available to this API key. +func (o GetAccountResultOutput) Clusters() GetAccountClusterArrayOutput { + return o.ApplyT(func(v GetAccountResult) []GetAccountCluster { return v.Clusters }).(GetAccountClusterArrayOutput) +} + +// The external ID to use in AWS trust policies. +func (o GetAccountResultOutput) ExternalId() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountResult) string { return v.ExternalId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetAccountResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The name of the organization for the API key. +func (o GetAccountResultOutput) Organization() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountResult) string { return v.Organization }).(pulumi.StringOutput) +} + +// The name of the Rockset user used for AWS trust policies. +func (o GetAccountResultOutput) RocksetUser() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountResult) string { return v.RocksetUser }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetAccountResultOutput{}) +} diff --git a/sdk/go/rockset/getQueryLambdaTag.go b/sdk/go/rockset/getQueryLambdaTag.go new file mode 100644 index 0000000..58c6fa4 --- /dev/null +++ b/sdk/go/rockset/getQueryLambdaTag.go @@ -0,0 +1,138 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupQueryLambdaTag(ctx *pulumi.Context, args *LookupQueryLambdaTagArgs, opts ...pulumi.InvokeOption) (*LookupQueryLambdaTagResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupQueryLambdaTagResult + err := ctx.Invoke("rockset:index/getQueryLambdaTag:getQueryLambdaTag", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getQueryLambdaTag. +type LookupQueryLambdaTagArgs struct { + // Name of the query lambda. + Name string `pulumi:"name"` + // Tag name. + Tag string `pulumi:"tag"` + // Workspace the query lambda resides in. + Workspace string `pulumi:"workspace"` +} + +// A collection of values returned by getQueryLambdaTag. +type LookupQueryLambdaTagResult struct { + // Description of the query lambda. + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Last time the query lambda was executed. + LastExecuted string `pulumi:"lastExecuted"` + // Name of the query lambda. + Name string `pulumi:"name"` + // Query lambda SQL. + Sql string `pulumi:"sql"` + // Tag name. + Tag string `pulumi:"tag"` + // Query lambda tag version. + Version string `pulumi:"version"` + // Workspace the query lambda resides in. + Workspace string `pulumi:"workspace"` +} + +func LookupQueryLambdaTagOutput(ctx *pulumi.Context, args LookupQueryLambdaTagOutputArgs, opts ...pulumi.InvokeOption) LookupQueryLambdaTagResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupQueryLambdaTagResult, error) { + args := v.(LookupQueryLambdaTagArgs) + r, err := LookupQueryLambdaTag(ctx, &args, opts...) + var s LookupQueryLambdaTagResult + if r != nil { + s = *r + } + return s, err + }).(LookupQueryLambdaTagResultOutput) +} + +// A collection of arguments for invoking getQueryLambdaTag. +type LookupQueryLambdaTagOutputArgs struct { + // Name of the query lambda. + Name pulumi.StringInput `pulumi:"name"` + // Tag name. + Tag pulumi.StringInput `pulumi:"tag"` + // Workspace the query lambda resides in. + Workspace pulumi.StringInput `pulumi:"workspace"` +} + +func (LookupQueryLambdaTagOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupQueryLambdaTagArgs)(nil)).Elem() +} + +// A collection of values returned by getQueryLambdaTag. +type LookupQueryLambdaTagResultOutput struct{ *pulumi.OutputState } + +func (LookupQueryLambdaTagResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupQueryLambdaTagResult)(nil)).Elem() +} + +func (o LookupQueryLambdaTagResultOutput) ToLookupQueryLambdaTagResultOutput() LookupQueryLambdaTagResultOutput { + return o +} + +func (o LookupQueryLambdaTagResultOutput) ToLookupQueryLambdaTagResultOutputWithContext(ctx context.Context) LookupQueryLambdaTagResultOutput { + return o +} + +// Description of the query lambda. +func (o LookupQueryLambdaTagResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupQueryLambdaTagResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Last time the query lambda was executed. +func (o LookupQueryLambdaTagResultOutput) LastExecuted() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.LastExecuted }).(pulumi.StringOutput) +} + +// Name of the query lambda. +func (o LookupQueryLambdaTagResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Query lambda SQL. +func (o LookupQueryLambdaTagResultOutput) Sql() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Sql }).(pulumi.StringOutput) +} + +// Tag name. +func (o LookupQueryLambdaTagResultOutput) Tag() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Tag }).(pulumi.StringOutput) +} + +// Query lambda tag version. +func (o LookupQueryLambdaTagResultOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Version }).(pulumi.StringOutput) +} + +// Workspace the query lambda resides in. +func (o LookupQueryLambdaTagResultOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v LookupQueryLambdaTagResult) string { return v.Workspace }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupQueryLambdaTagResultOutput{}) +} diff --git a/sdk/go/rockset/getUser.go b/sdk/go/rockset/getUser.go new file mode 100644 index 0000000..d760ebe --- /dev/null +++ b/sdk/go/rockset/getUser.go @@ -0,0 +1,143 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// This data source can be used to fetch information about a specific user. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rockset.LookupUser(ctx, &rockset.LookupUserArgs{ +// Email: "pme@rockset.com", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupUserResult + err := ctx.Invoke("rockset:index/getUser:getUser", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getUser. +type LookupUserArgs struct { + // User email. + Email string `pulumi:"email"` +} + +// A collection of values returned by getUser. +type LookupUserResult struct { + // User email. + Email string `pulumi:"email"` + // User's first name. + FirstName string `pulumi:"firstName"` + // The user ID, in the form of the `email`. + Id string `pulumi:"id"` + // User's last name. + LastName string `pulumi:"lastName"` + // List of roles for the user. E.g. 'admin', 'member', 'read-only'. + Roles []string `pulumi:"roles"` + // State of the user, either NEW or ACTIVE. + State string `pulumi:"state"` +} + +func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pulumi.InvokeOption) LookupUserResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupUserResult, error) { + args := v.(LookupUserArgs) + r, err := LookupUser(ctx, &args, opts...) + var s LookupUserResult + if r != nil { + s = *r + } + return s, err + }).(LookupUserResultOutput) +} + +// A collection of arguments for invoking getUser. +type LookupUserOutputArgs struct { + // User email. + Email pulumi.StringInput `pulumi:"email"` +} + +func (LookupUserOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupUserArgs)(nil)).Elem() +} + +// A collection of values returned by getUser. +type LookupUserResultOutput struct{ *pulumi.OutputState } + +func (LookupUserResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupUserResult)(nil)).Elem() +} + +func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput { + return o +} + +func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput { + return o +} + +// User email. +func (o LookupUserResultOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v LookupUserResult) string { return v.Email }).(pulumi.StringOutput) +} + +// User's first name. +func (o LookupUserResultOutput) FirstName() pulumi.StringOutput { + return o.ApplyT(func(v LookupUserResult) string { return v.FirstName }).(pulumi.StringOutput) +} + +// The user ID, in the form of the `email`. +func (o LookupUserResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupUserResult) string { return v.Id }).(pulumi.StringOutput) +} + +// User's last name. +func (o LookupUserResultOutput) LastName() pulumi.StringOutput { + return o.ApplyT(func(v LookupUserResult) string { return v.LastName }).(pulumi.StringOutput) +} + +// List of roles for the user. E.g. 'admin', 'member', 'read-only'. +func (o LookupUserResultOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupUserResult) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// State of the user, either NEW or ACTIVE. +func (o LookupUserResultOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v LookupUserResult) string { return v.State }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupUserResultOutput{}) +} diff --git a/sdk/go/rockset/getVirtualInstance.go b/sdk/go/rockset/getVirtualInstance.go new file mode 100644 index 0000000..7e97b4f --- /dev/null +++ b/sdk/go/rockset/getVirtualInstance.go @@ -0,0 +1,180 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +func LookupVirtualInstance(ctx *pulumi.Context, args *LookupVirtualInstanceArgs, opts ...pulumi.InvokeOption) (*LookupVirtualInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVirtualInstanceResult + err := ctx.Invoke("rockset:index/getVirtualInstance:getVirtualInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVirtualInstance. +type LookupVirtualInstanceArgs struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds *int `pulumi:"autoSuspendSeconds"` + // Virtual Instance current size. + CurrentSize *string `pulumi:"currentSize"` + // Virtual Instance name. + Default *bool `pulumi:"default"` + // Virtual Instance description. + Description *string `pulumi:"description"` + // Virtual Instance desired size. + DesiredSize *string `pulumi:"desiredSize"` + // When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + EnableRemountOnResume *bool `pulumi:"enableRemountOnResume"` + // Virtual Instance id. + Id string `pulumi:"id"` + // Number of seconds between data refreshes for mounts on this Virtual Instance. + MountRefreshIntervalSeconds *int `pulumi:"mountRefreshIntervalSeconds"` + // Virtual Instance name. + Name *string `pulumi:"name"` + // Virtual Instance state. + State *string `pulumi:"state"` +} + +// A collection of values returned by getVirtualInstance. +type LookupVirtualInstanceResult struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds *int `pulumi:"autoSuspendSeconds"` + // Virtual Instance current size. + CurrentSize *string `pulumi:"currentSize"` + // Virtual Instance name. + Default *bool `pulumi:"default"` + // Virtual Instance description. + Description *string `pulumi:"description"` + // Virtual Instance desired size. + DesiredSize *string `pulumi:"desiredSize"` + // When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + EnableRemountOnResume *bool `pulumi:"enableRemountOnResume"` + // Virtual Instance id. + Id string `pulumi:"id"` + // Number of seconds between data refreshes for mounts on this Virtual Instance. + MountRefreshIntervalSeconds *int `pulumi:"mountRefreshIntervalSeconds"` + // Virtual Instance name. + Name *string `pulumi:"name"` + // Virtual Instance state. + State *string `pulumi:"state"` +} + +func LookupVirtualInstanceOutput(ctx *pulumi.Context, args LookupVirtualInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupVirtualInstanceResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVirtualInstanceResult, error) { + args := v.(LookupVirtualInstanceArgs) + r, err := LookupVirtualInstance(ctx, &args, opts...) + var s LookupVirtualInstanceResult + if r != nil { + s = *r + } + return s, err + }).(LookupVirtualInstanceResultOutput) +} + +// A collection of arguments for invoking getVirtualInstance. +type LookupVirtualInstanceOutputArgs struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds pulumi.IntPtrInput `pulumi:"autoSuspendSeconds"` + // Virtual Instance current size. + CurrentSize pulumi.StringPtrInput `pulumi:"currentSize"` + // Virtual Instance name. + Default pulumi.BoolPtrInput `pulumi:"default"` + // Virtual Instance description. + Description pulumi.StringPtrInput `pulumi:"description"` + // Virtual Instance desired size. + DesiredSize pulumi.StringPtrInput `pulumi:"desiredSize"` + // When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + EnableRemountOnResume pulumi.BoolPtrInput `pulumi:"enableRemountOnResume"` + // Virtual Instance id. + Id pulumi.StringInput `pulumi:"id"` + // Number of seconds between data refreshes for mounts on this Virtual Instance. + MountRefreshIntervalSeconds pulumi.IntPtrInput `pulumi:"mountRefreshIntervalSeconds"` + // Virtual Instance name. + Name pulumi.StringPtrInput `pulumi:"name"` + // Virtual Instance state. + State pulumi.StringPtrInput `pulumi:"state"` +} + +func (LookupVirtualInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVirtualInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getVirtualInstance. +type LookupVirtualInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupVirtualInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVirtualInstanceResult)(nil)).Elem() +} + +func (o LookupVirtualInstanceResultOutput) ToLookupVirtualInstanceResultOutput() LookupVirtualInstanceResultOutput { + return o +} + +func (o LookupVirtualInstanceResultOutput) ToLookupVirtualInstanceResultOutputWithContext(ctx context.Context) LookupVirtualInstanceResultOutput { + return o +} + +// Number of seconds without queries after which the Virtual Instance is suspended. +func (o LookupVirtualInstanceResultOutput) AutoSuspendSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *int { return v.AutoSuspendSeconds }).(pulumi.IntPtrOutput) +} + +// Virtual Instance current size. +func (o LookupVirtualInstanceResultOutput) CurrentSize() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *string { return v.CurrentSize }).(pulumi.StringPtrOutput) +} + +// Virtual Instance name. +func (o LookupVirtualInstanceResultOutput) Default() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *bool { return v.Default }).(pulumi.BoolPtrOutput) +} + +// Virtual Instance description. +func (o LookupVirtualInstanceResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Virtual Instance desired size. +func (o LookupVirtualInstanceResultOutput) DesiredSize() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *string { return v.DesiredSize }).(pulumi.StringPtrOutput) +} + +// When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. +func (o LookupVirtualInstanceResultOutput) EnableRemountOnResume() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *bool { return v.EnableRemountOnResume }).(pulumi.BoolPtrOutput) +} + +// Virtual Instance id. +func (o LookupVirtualInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Number of seconds between data refreshes for mounts on this Virtual Instance. +func (o LookupVirtualInstanceResultOutput) MountRefreshIntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *int { return v.MountRefreshIntervalSeconds }).(pulumi.IntPtrOutput) +} + +// Virtual Instance name. +func (o LookupVirtualInstanceResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Virtual Instance state. +func (o LookupVirtualInstanceResultOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVirtualInstanceResult) *string { return v.State }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVirtualInstanceResultOutput{}) +} diff --git a/sdk/go/rockset/getWorkspace.go b/sdk/go/rockset/getWorkspace.go new file mode 100644 index 0000000..928479d --- /dev/null +++ b/sdk/go/rockset/getWorkspace.go @@ -0,0 +1,143 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Gets information about a workspace. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rockset.LookupWorkspace(ctx, &rockset.LookupWorkspaceArgs{ +// Name: "demo", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupWorkspace(ctx *pulumi.Context, args *LookupWorkspaceArgs, opts ...pulumi.InvokeOption) (*LookupWorkspaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupWorkspaceResult + err := ctx.Invoke("rockset:index/getWorkspace:getWorkspace", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getWorkspace. +type LookupWorkspaceArgs struct { + // Workspace name. + Name string `pulumi:"name"` +} + +// A collection of values returned by getWorkspace. +type LookupWorkspaceResult struct { + // Number of collections in the workspace. + CollectionCount int `pulumi:"collectionCount"` + // Created at in ISO-8601. + CreatedAt string `pulumi:"createdAt"` + // Created by. + CreatedBy string `pulumi:"createdBy"` + // Workspace description. + Description string `pulumi:"description"` + // The workspace `name`. + Id string `pulumi:"id"` + // Workspace name. + Name string `pulumi:"name"` +} + +func LookupWorkspaceOutput(ctx *pulumi.Context, args LookupWorkspaceOutputArgs, opts ...pulumi.InvokeOption) LookupWorkspaceResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupWorkspaceResult, error) { + args := v.(LookupWorkspaceArgs) + r, err := LookupWorkspace(ctx, &args, opts...) + var s LookupWorkspaceResult + if r != nil { + s = *r + } + return s, err + }).(LookupWorkspaceResultOutput) +} + +// A collection of arguments for invoking getWorkspace. +type LookupWorkspaceOutputArgs struct { + // Workspace name. + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupWorkspaceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupWorkspaceArgs)(nil)).Elem() +} + +// A collection of values returned by getWorkspace. +type LookupWorkspaceResultOutput struct{ *pulumi.OutputState } + +func (LookupWorkspaceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupWorkspaceResult)(nil)).Elem() +} + +func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutput() LookupWorkspaceResultOutput { + return o +} + +func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutputWithContext(ctx context.Context) LookupWorkspaceResultOutput { + return o +} + +// Number of collections in the workspace. +func (o LookupWorkspaceResultOutput) CollectionCount() pulumi.IntOutput { + return o.ApplyT(func(v LookupWorkspaceResult) int { return v.CollectionCount }).(pulumi.IntOutput) +} + +// Created at in ISO-8601. +func (o LookupWorkspaceResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupWorkspaceResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Created by. +func (o LookupWorkspaceResultOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v LookupWorkspaceResult) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Workspace description. +func (o LookupWorkspaceResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupWorkspaceResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The workspace `name`. +func (o LookupWorkspaceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupWorkspaceResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Workspace name. +func (o LookupWorkspaceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupWorkspaceResult) string { return v.Name }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupWorkspaceResultOutput{}) +} diff --git a/sdk/go/rockset/init.go b/sdk/go/rockset/init.go new file mode 100644 index 0000000..aef4616 --- /dev/null +++ b/sdk/go/rockset/init.go @@ -0,0 +1,220 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "rockset:index/alias:Alias": + r = &Alias{} + case "rockset:index/apiKey:ApiKey": + r = &ApiKey{} + case "rockset:index/collection:Collection": + r = &Collection{} + case "rockset:index/collectionMount:CollectionMount": + r = &CollectionMount{} + case "rockset:index/dynamodbCollection:DynamodbCollection": + r = &DynamodbCollection{} + case "rockset:index/dynamodbIntegration:DynamodbIntegration": + r = &DynamodbIntegration{} + case "rockset:index/gcsCollection:GcsCollection": + r = &GcsCollection{} + case "rockset:index/gcsIntegration:GcsIntegration": + r = &GcsIntegration{} + case "rockset:index/kafkaCollection:KafkaCollection": + r = &KafkaCollection{} + case "rockset:index/kafkaIntegration:KafkaIntegration": + r = &KafkaIntegration{} + case "rockset:index/kinesisCollection:KinesisCollection": + r = &KinesisCollection{} + case "rockset:index/kinesisIntegration:KinesisIntegration": + r = &KinesisIntegration{} + case "rockset:index/mongodbCollection:MongodbCollection": + r = &MongodbCollection{} + case "rockset:index/mongodbIntegration:MongodbIntegration": + r = &MongodbIntegration{} + case "rockset:index/queryLambda:QueryLambda": + r = &QueryLambda{} + case "rockset:index/queryLambdaTag:QueryLambdaTag": + r = &QueryLambdaTag{} + case "rockset:index/role:Role": + r = &Role{} + case "rockset:index/s3Collection:S3Collection": + r = &S3Collection{} + case "rockset:index/s3Integration:S3Integration": + r = &S3Integration{} + case "rockset:index/user:User": + r = &User{} + case "rockset:index/view:View": + r = &View{} + case "rockset:index/virtualInstance:VirtualInstance": + r = &VirtualInstance{} + case "rockset:index/workspace:Workspace": + r = &Workspace{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +type pkg struct { + version semver.Version +} + +func (p *pkg) Version() semver.Version { + return p.version +} + +func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) { + if typ != "pulumi:providers:rockset" { + return nil, fmt.Errorf("unknown provider type: %s", typ) + } + + r := &Provider{} + err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return r, err +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "rockset", + "index/alias", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/apiKey", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/collection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/collectionMount", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/dynamodbCollection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/dynamodbIntegration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/gcsCollection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/gcsIntegration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/kafkaCollection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/kafkaIntegration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/kinesisCollection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/kinesisIntegration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/mongodbCollection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/mongodbIntegration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/queryLambda", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/queryLambdaTag", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/role", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/s3Collection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/s3Integration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/user", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/view", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/virtualInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "rockset", + "index/workspace", + &module{version}, + ) + pulumi.RegisterResourcePackage( + "rockset", + &pkg{version}, + ) +} diff --git a/sdk/go/rockset/internal/pulumiUtilities.go b/sdk/go/rockset/internal/pulumiUtilities.go new file mode 100644 index 0000000..8ef03c7 --- /dev/null +++ b/sdk/go/rockset/internal/pulumiUtilities.go @@ -0,0 +1,184 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "fmt" + "os" + "reflect" + "regexp" + "strconv" + "strings" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +import ( + "github.com/pulumi/pulumi/sdk/v3/go/pulumi/internals" +) + +type envParser func(v string) interface{} + +func ParseEnvBool(v string) interface{} { + b, err := strconv.ParseBool(v) + if err != nil { + return nil + } + return b +} + +func ParseEnvInt(v string) interface{} { + i, err := strconv.ParseInt(v, 0, 0) + if err != nil { + return nil + } + return int(i) +} + +func ParseEnvFloat(v string) interface{} { + f, err := strconv.ParseFloat(v, 64) + if err != nil { + return nil + } + return f +} + +func ParseEnvStringArray(v string) interface{} { + var result pulumi.StringArray + for _, item := range strings.Split(v, ";") { + result = append(result, pulumi.String(item)) + } + return result +} + +func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { + for _, v := range vars { + if value, ok := os.LookupEnv(v); ok { + if parser != nil { + return parser(value) + } + return value + } + } + return def +} + +// PkgVersion uses reflection to determine the version of the current package. +// If a version cannot be determined, v1 will be assumed. The second return +// value is always nil. +func PkgVersion() (semver.Version, error) { + // emptyVersion defaults to v0.0.0 + if !SdkVersion.Equals(semver.Version{}) { + return SdkVersion, nil + } + type sentinal struct{} + pkgPath := reflect.TypeOf(sentinal{}).PkgPath() + re := regexp.MustCompile("^.*/pulumi-rockset/sdk(/v\\d+)?") + if match := re.FindStringSubmatch(pkgPath); match != nil { + vStr := match[1] + if len(vStr) == 0 { // If the version capture group was empty, default to v1. + return semver.Version{Major: 1}, nil + } + return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil + } + return semver.Version{Major: 1}, nil +} + +// isZero is a null safe check for if a value is it's types zero value. +func IsZero(v interface{}) bool { + if v == nil { + return true + } + return reflect.ValueOf(v).IsZero() +} + +func CallPlain( + ctx *pulumi.Context, + tok string, + args pulumi.Input, + output pulumi.Output, + self pulumi.Resource, + property string, + resultPtr reflect.Value, + errorPtr *error, + opts ...pulumi.InvokeOption, +) { + res, err := callPlainInner(ctx, tok, args, output, self, opts...) + if err != nil { + *errorPtr = err + return + } + + v := reflect.ValueOf(res) + + // extract res.property field if asked to do so + if property != "" { + v = v.FieldByName("Res") + } + + // return by setting the result pointer; this style of returns shortens the generated code without generics + resultPtr.Elem().Set(v) +} + +func callPlainInner( + ctx *pulumi.Context, + tok string, + args pulumi.Input, + output pulumi.Output, + self pulumi.Resource, + opts ...pulumi.InvokeOption, +) (any, error) { + o, err := ctx.Call(tok, args, output, self, opts...) + if err != nil { + return nil, err + } + + outputData, err := internals.UnsafeAwaitOutput(ctx.Context(), o) + if err != nil { + return nil, err + } + + // Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. + known := outputData.Known + value := outputData.Value + secret := outputData.Secret + + problem := "" + if !known { + problem = "an unknown value" + } else if secret { + problem = "a secret value" + } + + if problem != "" { + return nil, fmt.Errorf("Plain resource method %q incorrectly returned %s. "+ + "This is an error in the provider, please report this to the provider developer.", + tok, problem) + } + + return value, nil +} + +// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource. +func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { + defaults := []pulumi.ResourceOption{} + + version := SdkVersion + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} + +// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. +func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { + defaults := []pulumi.InvokeOption{} + + version := SdkVersion + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} diff --git a/sdk/go/rockset/internal/pulumiVersion.go b/sdk/go/rockset/internal/pulumiVersion.go new file mode 100644 index 0000000..d591687 --- /dev/null +++ b/sdk/go/rockset/internal/pulumiVersion.go @@ -0,0 +1,11 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "github.com/blang/semver" +) + +var SdkVersion semver.Version = semver.Version{} +var pluginDownloadURL string = "" diff --git a/sdk/go/rockset/kafkaCollection.go b/sdk/go/rockset/kafkaCollection.go new file mode 100644 index 0000000..e4ac1c6 --- /dev/null +++ b/sdk/go/rockset/kafkaCollection.go @@ -0,0 +1,383 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection created from a Kafka source. The `useV3` field must match the integration which the collection is created from. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// bootstrapServers := cfg.RequireObject("bootstrapServers") +// apikey := cfg.RequireObject("apikey") +// secret := cfg.RequireObject("secret") +// confluentKafkaIntegration, err := rockset.NewKafkaIntegration(ctx, "confluentKafkaIntegration", &rockset.KafkaIntegrationArgs{ +// Description: pulumi.String("Integration to ingest documents from Confluent Cloud"), +// UseV3: pulumi.Bool(true), +// BootstrapServers: pulumi.Any(bootstrapServers), +// SecurityConfig: pulumi.StringMap{ +// "api_key": pulumi.Any(apikey), +// "secret": pulumi.Any(secret), +// }, +// }) +// if err != nil { +// return err +// } +// confluentWorkspace, err := rockset.NewWorkspace(ctx, "confluentWorkspace", &rockset.WorkspaceArgs{ +// Description: pulumi.String("Collections from Confluent Cloud topics."), +// }) +// if err != nil { +// return err +// } +// _, err = rockset.NewKafkaCollection(ctx, "test", &rockset.KafkaCollectionArgs{ +// Workspace: confluentWorkspace.Name, +// Description: pulumi.String("Collection from a Confluent Cloud topic."), +// RetentionSecs: pulumi.Int(3600), +// Sources: rockset.KafkaCollectionSourceArray{ +// &rockset.KafkaCollectionSourceArgs{ +// IntegrationName: confluentKafkaIntegration.Name, +// UseV3: pulumi.Bool(true), +// TopicName: pulumi.String("test_json"), +// OffsetResetPolicy: pulumi.String("EARLIEST"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type KafkaCollection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources KafkaCollectionSourceArrayOutput `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewKafkaCollection registers a new resource with the given unique name, arguments, and options. +func NewKafkaCollection(ctx *pulumi.Context, + name string, args *KafkaCollectionArgs, opts ...pulumi.ResourceOption) (*KafkaCollection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource KafkaCollection + err := ctx.RegisterResource("rockset:index/kafkaCollection:KafkaCollection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKafkaCollection gets an existing KafkaCollection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetKafkaCollection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KafkaCollectionState, opts ...pulumi.ResourceOption) (*KafkaCollection, error) { + var resource KafkaCollection + err := ctx.ReadResource("rockset:index/kafkaCollection:KafkaCollection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KafkaCollection resources. +type kafkaCollectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []KafkaCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type KafkaCollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources KafkaCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (KafkaCollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*kafkaCollectionState)(nil)).Elem() +} + +type kafkaCollectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []KafkaCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a KafkaCollection resource. +type KafkaCollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources KafkaCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (KafkaCollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*kafkaCollectionArgs)(nil)).Elem() +} + +type KafkaCollectionInput interface { + pulumi.Input + + ToKafkaCollectionOutput() KafkaCollectionOutput + ToKafkaCollectionOutputWithContext(ctx context.Context) KafkaCollectionOutput +} + +func (*KafkaCollection) ElementType() reflect.Type { + return reflect.TypeOf((**KafkaCollection)(nil)).Elem() +} + +func (i *KafkaCollection) ToKafkaCollectionOutput() KafkaCollectionOutput { + return i.ToKafkaCollectionOutputWithContext(context.Background()) +} + +func (i *KafkaCollection) ToKafkaCollectionOutputWithContext(ctx context.Context) KafkaCollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionOutput) +} + +// KafkaCollectionArrayInput is an input type that accepts KafkaCollectionArray and KafkaCollectionArrayOutput values. +// You can construct a concrete instance of `KafkaCollectionArrayInput` via: +// +// KafkaCollectionArray{ KafkaCollectionArgs{...} } +type KafkaCollectionArrayInput interface { + pulumi.Input + + ToKafkaCollectionArrayOutput() KafkaCollectionArrayOutput + ToKafkaCollectionArrayOutputWithContext(context.Context) KafkaCollectionArrayOutput +} + +type KafkaCollectionArray []KafkaCollectionInput + +func (KafkaCollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KafkaCollection)(nil)).Elem() +} + +func (i KafkaCollectionArray) ToKafkaCollectionArrayOutput() KafkaCollectionArrayOutput { + return i.ToKafkaCollectionArrayOutputWithContext(context.Background()) +} + +func (i KafkaCollectionArray) ToKafkaCollectionArrayOutputWithContext(ctx context.Context) KafkaCollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionArrayOutput) +} + +// KafkaCollectionMapInput is an input type that accepts KafkaCollectionMap and KafkaCollectionMapOutput values. +// You can construct a concrete instance of `KafkaCollectionMapInput` via: +// +// KafkaCollectionMap{ "key": KafkaCollectionArgs{...} } +type KafkaCollectionMapInput interface { + pulumi.Input + + ToKafkaCollectionMapOutput() KafkaCollectionMapOutput + ToKafkaCollectionMapOutputWithContext(context.Context) KafkaCollectionMapOutput +} + +type KafkaCollectionMap map[string]KafkaCollectionInput + +func (KafkaCollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KafkaCollection)(nil)).Elem() +} + +func (i KafkaCollectionMap) ToKafkaCollectionMapOutput() KafkaCollectionMapOutput { + return i.ToKafkaCollectionMapOutputWithContext(context.Background()) +} + +func (i KafkaCollectionMap) ToKafkaCollectionMapOutputWithContext(ctx context.Context) KafkaCollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionMapOutput) +} + +type KafkaCollectionOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KafkaCollection)(nil)).Elem() +} + +func (o KafkaCollectionOutput) ToKafkaCollectionOutput() KafkaCollectionOutput { + return o +} + +func (o KafkaCollectionOutput) ToKafkaCollectionOutputWithContext(ctx context.Context) KafkaCollectionOutput { + return o +} + +// Text describing the collection. +func (o KafkaCollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o KafkaCollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o KafkaCollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o KafkaCollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Defines a source for this collection. +func (o KafkaCollectionOutput) Sources() KafkaCollectionSourceArrayOutput { + return o.ApplyT(func(v *KafkaCollection) KafkaCollectionSourceArrayOutput { return v.Sources }).(KafkaCollectionSourceArrayOutput) +} + +// Wait until the collection is ready. +func (o KafkaCollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o KafkaCollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o KafkaCollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *KafkaCollection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type KafkaCollectionArrayOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KafkaCollection)(nil)).Elem() +} + +func (o KafkaCollectionArrayOutput) ToKafkaCollectionArrayOutput() KafkaCollectionArrayOutput { + return o +} + +func (o KafkaCollectionArrayOutput) ToKafkaCollectionArrayOutputWithContext(ctx context.Context) KafkaCollectionArrayOutput { + return o +} + +func (o KafkaCollectionArrayOutput) Index(i pulumi.IntInput) KafkaCollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KafkaCollection { + return vs[0].([]*KafkaCollection)[vs[1].(int)] + }).(KafkaCollectionOutput) +} + +type KafkaCollectionMapOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KafkaCollection)(nil)).Elem() +} + +func (o KafkaCollectionMapOutput) ToKafkaCollectionMapOutput() KafkaCollectionMapOutput { + return o +} + +func (o KafkaCollectionMapOutput) ToKafkaCollectionMapOutputWithContext(ctx context.Context) KafkaCollectionMapOutput { + return o +} + +func (o KafkaCollectionMapOutput) MapIndex(k pulumi.StringInput) KafkaCollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KafkaCollection { + return vs[0].(map[string]*KafkaCollection)[vs[1].(string)] + }).(KafkaCollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionInput)(nil)).Elem(), &KafkaCollection{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionArrayInput)(nil)).Elem(), KafkaCollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionMapInput)(nil)).Elem(), KafkaCollectionMap{}) + pulumi.RegisterOutputType(KafkaCollectionOutput{}) + pulumi.RegisterOutputType(KafkaCollectionArrayOutput{}) + pulumi.RegisterOutputType(KafkaCollectionMapOutput{}) +} diff --git a/sdk/go/rockset/kafkaIntegration.go b/sdk/go/rockset/kafkaIntegration.go new file mode 100644 index 0000000..7cd65b4 --- /dev/null +++ b/sdk/go/rockset/kafkaIntegration.go @@ -0,0 +1,400 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi-null/sdk/go/null" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// rocksetApiserver := "https://api.usw2a1.rockset.com" +// if param := cfg.Get("rocksetApiserver"); param != "" { +// rocksetApiserver = param +// } +// kafkaConnect := "localhost:8083" +// if param := cfg.Get("kafkaConnect"); param != "" { +// kafkaConnect = param +// } +// topics := cfg.RequireObject("topics") +// maxTasks := float64(10) +// if param := cfg.GetFloat64("maxTasks"); param != 0 { +// maxTasks = param +// } +// _, err := rockset.NewKafkaIntegration(ctx, "local", &rockset.KafkaIntegrationArgs{ +// Description: pulumi.String("Integration to ingest from a local kafka."), +// KafkaDataFormat: pulumi.String("JSON"), +// KafkaTopicNames: pulumi.StringArray{ +// pulumi.String("foo"), +// pulumi.String("bar"), +// }, +// WaitForIntegration: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// _, err = null.NewResource(ctx, "configure-kafka-connect", nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type KafkaIntegration struct { + pulumi.CustomResourceState + + // The Kafka bootstrap server url(s). Required only for V3 integration. + BootstrapServers pulumi.StringPtrOutput `pulumi:"bootstrapServers"` + // Kafka connection string. + ConnectionString pulumi.StringOutput `pulumi:"connectionString"` + // Text describing the integration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + KafkaDataFormat pulumi.StringPtrOutput `pulumi:"kafkaDataFormat"` + // Kafka topics to tail. + KafkaTopicNames pulumi.StringArrayOutput `pulumi:"kafkaTopicNames"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Kafka configuration for schema registry. Required only for V3 integration. + SchemaRegistryConfig pulumi.StringMapOutput `pulumi:"schemaRegistryConfig"` + // Kafka security configurations. Required only for V3 integration. + SecurityConfig pulumi.StringMapOutput `pulumi:"securityConfig"` + // Use v3 for Confluent Cloud. + UseV3 pulumi.BoolPtrOutput `pulumi:"useV3"` + // Wait until the integration is active. + WaitForIntegration pulumi.BoolPtrOutput `pulumi:"waitForIntegration"` +} + +// NewKafkaIntegration registers a new resource with the given unique name, arguments, and options. +func NewKafkaIntegration(ctx *pulumi.Context, + name string, args *KafkaIntegrationArgs, opts ...pulumi.ResourceOption) (*KafkaIntegration, error) { + if args == nil { + args = &KafkaIntegrationArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource KafkaIntegration + err := ctx.RegisterResource("rockset:index/kafkaIntegration:KafkaIntegration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKafkaIntegration gets an existing KafkaIntegration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetKafkaIntegration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KafkaIntegrationState, opts ...pulumi.ResourceOption) (*KafkaIntegration, error) { + var resource KafkaIntegration + err := ctx.ReadResource("rockset:index/kafkaIntegration:KafkaIntegration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KafkaIntegration resources. +type kafkaIntegrationState struct { + // The Kafka bootstrap server url(s). Required only for V3 integration. + BootstrapServers *string `pulumi:"bootstrapServers"` + // Kafka connection string. + ConnectionString *string `pulumi:"connectionString"` + // Text describing the integration. + Description *string `pulumi:"description"` + // The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + KafkaDataFormat *string `pulumi:"kafkaDataFormat"` + // Kafka topics to tail. + KafkaTopicNames []string `pulumi:"kafkaTopicNames"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Kafka configuration for schema registry. Required only for V3 integration. + SchemaRegistryConfig map[string]string `pulumi:"schemaRegistryConfig"` + // Kafka security configurations. Required only for V3 integration. + SecurityConfig map[string]string `pulumi:"securityConfig"` + // Use v3 for Confluent Cloud. + UseV3 *bool `pulumi:"useV3"` + // Wait until the integration is active. + WaitForIntegration *bool `pulumi:"waitForIntegration"` +} + +type KafkaIntegrationState struct { + // The Kafka bootstrap server url(s). Required only for V3 integration. + BootstrapServers pulumi.StringPtrInput + // Kafka connection string. + ConnectionString pulumi.StringPtrInput + // Text describing the integration. + Description pulumi.StringPtrInput + // The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + KafkaDataFormat pulumi.StringPtrInput + // Kafka topics to tail. + KafkaTopicNames pulumi.StringArrayInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Kafka configuration for schema registry. Required only for V3 integration. + SchemaRegistryConfig pulumi.StringMapInput + // Kafka security configurations. Required only for V3 integration. + SecurityConfig pulumi.StringMapInput + // Use v3 for Confluent Cloud. + UseV3 pulumi.BoolPtrInput + // Wait until the integration is active. + WaitForIntegration pulumi.BoolPtrInput +} + +func (KafkaIntegrationState) ElementType() reflect.Type { + return reflect.TypeOf((*kafkaIntegrationState)(nil)).Elem() +} + +type kafkaIntegrationArgs struct { + // The Kafka bootstrap server url(s). Required only for V3 integration. + BootstrapServers *string `pulumi:"bootstrapServers"` + // Kafka connection string. + ConnectionString *string `pulumi:"connectionString"` + // Text describing the integration. + Description *string `pulumi:"description"` + // The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + KafkaDataFormat *string `pulumi:"kafkaDataFormat"` + // Kafka topics to tail. + KafkaTopicNames []string `pulumi:"kafkaTopicNames"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Kafka configuration for schema registry. Required only for V3 integration. + SchemaRegistryConfig map[string]string `pulumi:"schemaRegistryConfig"` + // Kafka security configurations. Required only for V3 integration. + SecurityConfig map[string]string `pulumi:"securityConfig"` + // Use v3 for Confluent Cloud. + UseV3 *bool `pulumi:"useV3"` + // Wait until the integration is active. + WaitForIntegration *bool `pulumi:"waitForIntegration"` +} + +// The set of arguments for constructing a KafkaIntegration resource. +type KafkaIntegrationArgs struct { + // The Kafka bootstrap server url(s). Required only for V3 integration. + BootstrapServers pulumi.StringPtrInput + // Kafka connection string. + ConnectionString pulumi.StringPtrInput + // Text describing the integration. + Description pulumi.StringPtrInput + // The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + KafkaDataFormat pulumi.StringPtrInput + // Kafka topics to tail. + KafkaTopicNames pulumi.StringArrayInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Kafka configuration for schema registry. Required only for V3 integration. + SchemaRegistryConfig pulumi.StringMapInput + // Kafka security configurations. Required only for V3 integration. + SecurityConfig pulumi.StringMapInput + // Use v3 for Confluent Cloud. + UseV3 pulumi.BoolPtrInput + // Wait until the integration is active. + WaitForIntegration pulumi.BoolPtrInput +} + +func (KafkaIntegrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*kafkaIntegrationArgs)(nil)).Elem() +} + +type KafkaIntegrationInput interface { + pulumi.Input + + ToKafkaIntegrationOutput() KafkaIntegrationOutput + ToKafkaIntegrationOutputWithContext(ctx context.Context) KafkaIntegrationOutput +} + +func (*KafkaIntegration) ElementType() reflect.Type { + return reflect.TypeOf((**KafkaIntegration)(nil)).Elem() +} + +func (i *KafkaIntegration) ToKafkaIntegrationOutput() KafkaIntegrationOutput { + return i.ToKafkaIntegrationOutputWithContext(context.Background()) +} + +func (i *KafkaIntegration) ToKafkaIntegrationOutputWithContext(ctx context.Context) KafkaIntegrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaIntegrationOutput) +} + +// KafkaIntegrationArrayInput is an input type that accepts KafkaIntegrationArray and KafkaIntegrationArrayOutput values. +// You can construct a concrete instance of `KafkaIntegrationArrayInput` via: +// +// KafkaIntegrationArray{ KafkaIntegrationArgs{...} } +type KafkaIntegrationArrayInput interface { + pulumi.Input + + ToKafkaIntegrationArrayOutput() KafkaIntegrationArrayOutput + ToKafkaIntegrationArrayOutputWithContext(context.Context) KafkaIntegrationArrayOutput +} + +type KafkaIntegrationArray []KafkaIntegrationInput + +func (KafkaIntegrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KafkaIntegration)(nil)).Elem() +} + +func (i KafkaIntegrationArray) ToKafkaIntegrationArrayOutput() KafkaIntegrationArrayOutput { + return i.ToKafkaIntegrationArrayOutputWithContext(context.Background()) +} + +func (i KafkaIntegrationArray) ToKafkaIntegrationArrayOutputWithContext(ctx context.Context) KafkaIntegrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaIntegrationArrayOutput) +} + +// KafkaIntegrationMapInput is an input type that accepts KafkaIntegrationMap and KafkaIntegrationMapOutput values. +// You can construct a concrete instance of `KafkaIntegrationMapInput` via: +// +// KafkaIntegrationMap{ "key": KafkaIntegrationArgs{...} } +type KafkaIntegrationMapInput interface { + pulumi.Input + + ToKafkaIntegrationMapOutput() KafkaIntegrationMapOutput + ToKafkaIntegrationMapOutputWithContext(context.Context) KafkaIntegrationMapOutput +} + +type KafkaIntegrationMap map[string]KafkaIntegrationInput + +func (KafkaIntegrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KafkaIntegration)(nil)).Elem() +} + +func (i KafkaIntegrationMap) ToKafkaIntegrationMapOutput() KafkaIntegrationMapOutput { + return i.ToKafkaIntegrationMapOutputWithContext(context.Background()) +} + +func (i KafkaIntegrationMap) ToKafkaIntegrationMapOutputWithContext(ctx context.Context) KafkaIntegrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaIntegrationMapOutput) +} + +type KafkaIntegrationOutput struct{ *pulumi.OutputState } + +func (KafkaIntegrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KafkaIntegration)(nil)).Elem() +} + +func (o KafkaIntegrationOutput) ToKafkaIntegrationOutput() KafkaIntegrationOutput { + return o +} + +func (o KafkaIntegrationOutput) ToKafkaIntegrationOutputWithContext(ctx context.Context) KafkaIntegrationOutput { + return o +} + +// The Kafka bootstrap server url(s). Required only for V3 integration. +func (o KafkaIntegrationOutput) BootstrapServers() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringPtrOutput { return v.BootstrapServers }).(pulumi.StringPtrOutput) +} + +// Kafka connection string. +func (o KafkaIntegrationOutput) ConnectionString() pulumi.StringOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringOutput { return v.ConnectionString }).(pulumi.StringOutput) +} + +// Text describing the integration. +func (o KafkaIntegrationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The format of the Kafka topics being tailed. Possible values: JSON, AVRO. +func (o KafkaIntegrationOutput) KafkaDataFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringPtrOutput { return v.KafkaDataFormat }).(pulumi.StringPtrOutput) +} + +// Kafka topics to tail. +func (o KafkaIntegrationOutput) KafkaTopicNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringArrayOutput { return v.KafkaTopicNames }).(pulumi.StringArrayOutput) +} + +// Unique identifier for the integration. Can contain alphanumeric or dash characters. +func (o KafkaIntegrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Kafka configuration for schema registry. Required only for V3 integration. +func (o KafkaIntegrationOutput) SchemaRegistryConfig() pulumi.StringMapOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringMapOutput { return v.SchemaRegistryConfig }).(pulumi.StringMapOutput) +} + +// Kafka security configurations. Required only for V3 integration. +func (o KafkaIntegrationOutput) SecurityConfig() pulumi.StringMapOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.StringMapOutput { return v.SecurityConfig }).(pulumi.StringMapOutput) +} + +// Use v3 for Confluent Cloud. +func (o KafkaIntegrationOutput) UseV3() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.BoolPtrOutput { return v.UseV3 }).(pulumi.BoolPtrOutput) +} + +// Wait until the integration is active. +func (o KafkaIntegrationOutput) WaitForIntegration() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *KafkaIntegration) pulumi.BoolPtrOutput { return v.WaitForIntegration }).(pulumi.BoolPtrOutput) +} + +type KafkaIntegrationArrayOutput struct{ *pulumi.OutputState } + +func (KafkaIntegrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KafkaIntegration)(nil)).Elem() +} + +func (o KafkaIntegrationArrayOutput) ToKafkaIntegrationArrayOutput() KafkaIntegrationArrayOutput { + return o +} + +func (o KafkaIntegrationArrayOutput) ToKafkaIntegrationArrayOutputWithContext(ctx context.Context) KafkaIntegrationArrayOutput { + return o +} + +func (o KafkaIntegrationArrayOutput) Index(i pulumi.IntInput) KafkaIntegrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KafkaIntegration { + return vs[0].([]*KafkaIntegration)[vs[1].(int)] + }).(KafkaIntegrationOutput) +} + +type KafkaIntegrationMapOutput struct{ *pulumi.OutputState } + +func (KafkaIntegrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KafkaIntegration)(nil)).Elem() +} + +func (o KafkaIntegrationMapOutput) ToKafkaIntegrationMapOutput() KafkaIntegrationMapOutput { + return o +} + +func (o KafkaIntegrationMapOutput) ToKafkaIntegrationMapOutputWithContext(ctx context.Context) KafkaIntegrationMapOutput { + return o +} + +func (o KafkaIntegrationMapOutput) MapIndex(k pulumi.StringInput) KafkaIntegrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KafkaIntegration { + return vs[0].(map[string]*KafkaIntegration)[vs[1].(string)] + }).(KafkaIntegrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KafkaIntegrationInput)(nil)).Elem(), &KafkaIntegration{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaIntegrationArrayInput)(nil)).Elem(), KafkaIntegrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaIntegrationMapInput)(nil)).Elem(), KafkaIntegrationMap{}) + pulumi.RegisterOutputType(KafkaIntegrationOutput{}) + pulumi.RegisterOutputType(KafkaIntegrationArrayOutput{}) + pulumi.RegisterOutputType(KafkaIntegrationMapOutput{}) +} diff --git a/sdk/go/rockset/kinesisCollection.go b/sdk/go/rockset/kinesisCollection.go new file mode 100644 index 0000000..ca68201 --- /dev/null +++ b/sdk/go/rockset/kinesisCollection.go @@ -0,0 +1,324 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection with an Kinesis source attached. +type KinesisCollection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources KinesisCollectionSourceArrayOutput `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewKinesisCollection registers a new resource with the given unique name, arguments, and options. +func NewKinesisCollection(ctx *pulumi.Context, + name string, args *KinesisCollectionArgs, opts ...pulumi.ResourceOption) (*KinesisCollection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource KinesisCollection + err := ctx.RegisterResource("rockset:index/kinesisCollection:KinesisCollection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKinesisCollection gets an existing KinesisCollection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetKinesisCollection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KinesisCollectionState, opts ...pulumi.ResourceOption) (*KinesisCollection, error) { + var resource KinesisCollection + err := ctx.ReadResource("rockset:index/kinesisCollection:KinesisCollection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KinesisCollection resources. +type kinesisCollectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []KinesisCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type KinesisCollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources KinesisCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (KinesisCollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*kinesisCollectionState)(nil)).Elem() +} + +type kinesisCollectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []KinesisCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a KinesisCollection resource. +type KinesisCollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources KinesisCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (KinesisCollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*kinesisCollectionArgs)(nil)).Elem() +} + +type KinesisCollectionInput interface { + pulumi.Input + + ToKinesisCollectionOutput() KinesisCollectionOutput + ToKinesisCollectionOutputWithContext(ctx context.Context) KinesisCollectionOutput +} + +func (*KinesisCollection) ElementType() reflect.Type { + return reflect.TypeOf((**KinesisCollection)(nil)).Elem() +} + +func (i *KinesisCollection) ToKinesisCollectionOutput() KinesisCollectionOutput { + return i.ToKinesisCollectionOutputWithContext(context.Background()) +} + +func (i *KinesisCollection) ToKinesisCollectionOutputWithContext(ctx context.Context) KinesisCollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisCollectionOutput) +} + +// KinesisCollectionArrayInput is an input type that accepts KinesisCollectionArray and KinesisCollectionArrayOutput values. +// You can construct a concrete instance of `KinesisCollectionArrayInput` via: +// +// KinesisCollectionArray{ KinesisCollectionArgs{...} } +type KinesisCollectionArrayInput interface { + pulumi.Input + + ToKinesisCollectionArrayOutput() KinesisCollectionArrayOutput + ToKinesisCollectionArrayOutputWithContext(context.Context) KinesisCollectionArrayOutput +} + +type KinesisCollectionArray []KinesisCollectionInput + +func (KinesisCollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KinesisCollection)(nil)).Elem() +} + +func (i KinesisCollectionArray) ToKinesisCollectionArrayOutput() KinesisCollectionArrayOutput { + return i.ToKinesisCollectionArrayOutputWithContext(context.Background()) +} + +func (i KinesisCollectionArray) ToKinesisCollectionArrayOutputWithContext(ctx context.Context) KinesisCollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisCollectionArrayOutput) +} + +// KinesisCollectionMapInput is an input type that accepts KinesisCollectionMap and KinesisCollectionMapOutput values. +// You can construct a concrete instance of `KinesisCollectionMapInput` via: +// +// KinesisCollectionMap{ "key": KinesisCollectionArgs{...} } +type KinesisCollectionMapInput interface { + pulumi.Input + + ToKinesisCollectionMapOutput() KinesisCollectionMapOutput + ToKinesisCollectionMapOutputWithContext(context.Context) KinesisCollectionMapOutput +} + +type KinesisCollectionMap map[string]KinesisCollectionInput + +func (KinesisCollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KinesisCollection)(nil)).Elem() +} + +func (i KinesisCollectionMap) ToKinesisCollectionMapOutput() KinesisCollectionMapOutput { + return i.ToKinesisCollectionMapOutputWithContext(context.Background()) +} + +func (i KinesisCollectionMap) ToKinesisCollectionMapOutputWithContext(ctx context.Context) KinesisCollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisCollectionMapOutput) +} + +type KinesisCollectionOutput struct{ *pulumi.OutputState } + +func (KinesisCollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KinesisCollection)(nil)).Elem() +} + +func (o KinesisCollectionOutput) ToKinesisCollectionOutput() KinesisCollectionOutput { + return o +} + +func (o KinesisCollectionOutput) ToKinesisCollectionOutputWithContext(ctx context.Context) KinesisCollectionOutput { + return o +} + +// Text describing the collection. +func (o KinesisCollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o KinesisCollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o KinesisCollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o KinesisCollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Defines a source for this collection. +func (o KinesisCollectionOutput) Sources() KinesisCollectionSourceArrayOutput { + return o.ApplyT(func(v *KinesisCollection) KinesisCollectionSourceArrayOutput { return v.Sources }).(KinesisCollectionSourceArrayOutput) +} + +// Wait until the collection is ready. +func (o KinesisCollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o KinesisCollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o KinesisCollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *KinesisCollection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type KinesisCollectionArrayOutput struct{ *pulumi.OutputState } + +func (KinesisCollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KinesisCollection)(nil)).Elem() +} + +func (o KinesisCollectionArrayOutput) ToKinesisCollectionArrayOutput() KinesisCollectionArrayOutput { + return o +} + +func (o KinesisCollectionArrayOutput) ToKinesisCollectionArrayOutputWithContext(ctx context.Context) KinesisCollectionArrayOutput { + return o +} + +func (o KinesisCollectionArrayOutput) Index(i pulumi.IntInput) KinesisCollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KinesisCollection { + return vs[0].([]*KinesisCollection)[vs[1].(int)] + }).(KinesisCollectionOutput) +} + +type KinesisCollectionMapOutput struct{ *pulumi.OutputState } + +func (KinesisCollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KinesisCollection)(nil)).Elem() +} + +func (o KinesisCollectionMapOutput) ToKinesisCollectionMapOutput() KinesisCollectionMapOutput { + return o +} + +func (o KinesisCollectionMapOutput) ToKinesisCollectionMapOutputWithContext(ctx context.Context) KinesisCollectionMapOutput { + return o +} + +func (o KinesisCollectionMapOutput) MapIndex(k pulumi.StringInput) KinesisCollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KinesisCollection { + return vs[0].(map[string]*KinesisCollection)[vs[1].(string)] + }).(KinesisCollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KinesisCollectionInput)(nil)).Elem(), &KinesisCollection{}) + pulumi.RegisterInputType(reflect.TypeOf((*KinesisCollectionArrayInput)(nil)).Elem(), KinesisCollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KinesisCollectionMapInput)(nil)).Elem(), KinesisCollectionMap{}) + pulumi.RegisterOutputType(KinesisCollectionOutput{}) + pulumi.RegisterOutputType(KinesisCollectionArrayOutput{}) + pulumi.RegisterOutputType(KinesisCollectionMapOutput{}) +} diff --git a/sdk/go/rockset/kinesisIntegration.go b/sdk/go/rockset/kinesisIntegration.go new file mode 100644 index 0000000..595792e --- /dev/null +++ b/sdk/go/rockset/kinesisIntegration.go @@ -0,0 +1,249 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset Kinesis Integration. +type KinesisIntegration struct { + pulumi.CustomResourceState + + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringOutput `pulumi:"awsRoleArn"` + // Text describing the integration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewKinesisIntegration registers a new resource with the given unique name, arguments, and options. +func NewKinesisIntegration(ctx *pulumi.Context, + name string, args *KinesisIntegrationArgs, opts ...pulumi.ResourceOption) (*KinesisIntegration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AwsRoleArn == nil { + return nil, errors.New("invalid value for required argument 'AwsRoleArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource KinesisIntegration + err := ctx.RegisterResource("rockset:index/kinesisIntegration:KinesisIntegration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKinesisIntegration gets an existing KinesisIntegration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetKinesisIntegration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KinesisIntegrationState, opts ...pulumi.ResourceOption) (*KinesisIntegration, error) { + var resource KinesisIntegration + err := ctx.ReadResource("rockset:index/kinesisIntegration:KinesisIntegration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KinesisIntegration resources. +type kinesisIntegrationState struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn *string `pulumi:"awsRoleArn"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +type KinesisIntegrationState struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringPtrInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (KinesisIntegrationState) ElementType() reflect.Type { + return reflect.TypeOf((*kinesisIntegrationState)(nil)).Elem() +} + +type kinesisIntegrationArgs struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn string `pulumi:"awsRoleArn"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a KinesisIntegration resource. +type KinesisIntegrationArgs struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (KinesisIntegrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*kinesisIntegrationArgs)(nil)).Elem() +} + +type KinesisIntegrationInput interface { + pulumi.Input + + ToKinesisIntegrationOutput() KinesisIntegrationOutput + ToKinesisIntegrationOutputWithContext(ctx context.Context) KinesisIntegrationOutput +} + +func (*KinesisIntegration) ElementType() reflect.Type { + return reflect.TypeOf((**KinesisIntegration)(nil)).Elem() +} + +func (i *KinesisIntegration) ToKinesisIntegrationOutput() KinesisIntegrationOutput { + return i.ToKinesisIntegrationOutputWithContext(context.Background()) +} + +func (i *KinesisIntegration) ToKinesisIntegrationOutputWithContext(ctx context.Context) KinesisIntegrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisIntegrationOutput) +} + +// KinesisIntegrationArrayInput is an input type that accepts KinesisIntegrationArray and KinesisIntegrationArrayOutput values. +// You can construct a concrete instance of `KinesisIntegrationArrayInput` via: +// +// KinesisIntegrationArray{ KinesisIntegrationArgs{...} } +type KinesisIntegrationArrayInput interface { + pulumi.Input + + ToKinesisIntegrationArrayOutput() KinesisIntegrationArrayOutput + ToKinesisIntegrationArrayOutputWithContext(context.Context) KinesisIntegrationArrayOutput +} + +type KinesisIntegrationArray []KinesisIntegrationInput + +func (KinesisIntegrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KinesisIntegration)(nil)).Elem() +} + +func (i KinesisIntegrationArray) ToKinesisIntegrationArrayOutput() KinesisIntegrationArrayOutput { + return i.ToKinesisIntegrationArrayOutputWithContext(context.Background()) +} + +func (i KinesisIntegrationArray) ToKinesisIntegrationArrayOutputWithContext(ctx context.Context) KinesisIntegrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisIntegrationArrayOutput) +} + +// KinesisIntegrationMapInput is an input type that accepts KinesisIntegrationMap and KinesisIntegrationMapOutput values. +// You can construct a concrete instance of `KinesisIntegrationMapInput` via: +// +// KinesisIntegrationMap{ "key": KinesisIntegrationArgs{...} } +type KinesisIntegrationMapInput interface { + pulumi.Input + + ToKinesisIntegrationMapOutput() KinesisIntegrationMapOutput + ToKinesisIntegrationMapOutputWithContext(context.Context) KinesisIntegrationMapOutput +} + +type KinesisIntegrationMap map[string]KinesisIntegrationInput + +func (KinesisIntegrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KinesisIntegration)(nil)).Elem() +} + +func (i KinesisIntegrationMap) ToKinesisIntegrationMapOutput() KinesisIntegrationMapOutput { + return i.ToKinesisIntegrationMapOutputWithContext(context.Background()) +} + +func (i KinesisIntegrationMap) ToKinesisIntegrationMapOutputWithContext(ctx context.Context) KinesisIntegrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisIntegrationMapOutput) +} + +type KinesisIntegrationOutput struct{ *pulumi.OutputState } + +func (KinesisIntegrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KinesisIntegration)(nil)).Elem() +} + +func (o KinesisIntegrationOutput) ToKinesisIntegrationOutput() KinesisIntegrationOutput { + return o +} + +func (o KinesisIntegrationOutput) ToKinesisIntegrationOutputWithContext(ctx context.Context) KinesisIntegrationOutput { + return o +} + +// The AWS Role Arn to use for this integration. +func (o KinesisIntegrationOutput) AwsRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *KinesisIntegration) pulumi.StringOutput { return v.AwsRoleArn }).(pulumi.StringOutput) +} + +// Text describing the integration. +func (o KinesisIntegrationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KinesisIntegration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the integration. Can contain alphanumeric or dash characters. +func (o KinesisIntegrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *KinesisIntegration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type KinesisIntegrationArrayOutput struct{ *pulumi.OutputState } + +func (KinesisIntegrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KinesisIntegration)(nil)).Elem() +} + +func (o KinesisIntegrationArrayOutput) ToKinesisIntegrationArrayOutput() KinesisIntegrationArrayOutput { + return o +} + +func (o KinesisIntegrationArrayOutput) ToKinesisIntegrationArrayOutputWithContext(ctx context.Context) KinesisIntegrationArrayOutput { + return o +} + +func (o KinesisIntegrationArrayOutput) Index(i pulumi.IntInput) KinesisIntegrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KinesisIntegration { + return vs[0].([]*KinesisIntegration)[vs[1].(int)] + }).(KinesisIntegrationOutput) +} + +type KinesisIntegrationMapOutput struct{ *pulumi.OutputState } + +func (KinesisIntegrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KinesisIntegration)(nil)).Elem() +} + +func (o KinesisIntegrationMapOutput) ToKinesisIntegrationMapOutput() KinesisIntegrationMapOutput { + return o +} + +func (o KinesisIntegrationMapOutput) ToKinesisIntegrationMapOutputWithContext(ctx context.Context) KinesisIntegrationMapOutput { + return o +} + +func (o KinesisIntegrationMapOutput) MapIndex(k pulumi.StringInput) KinesisIntegrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KinesisIntegration { + return vs[0].(map[string]*KinesisIntegration)[vs[1].(string)] + }).(KinesisIntegrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KinesisIntegrationInput)(nil)).Elem(), &KinesisIntegration{}) + pulumi.RegisterInputType(reflect.TypeOf((*KinesisIntegrationArrayInput)(nil)).Elem(), KinesisIntegrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KinesisIntegrationMapInput)(nil)).Elem(), KinesisIntegrationMap{}) + pulumi.RegisterOutputType(KinesisIntegrationOutput{}) + pulumi.RegisterOutputType(KinesisIntegrationArrayOutput{}) + pulumi.RegisterOutputType(KinesisIntegrationMapOutput{}) +} diff --git a/sdk/go/rockset/mongodbCollection.go b/sdk/go/rockset/mongodbCollection.go new file mode 100644 index 0000000..00ccfb8 --- /dev/null +++ b/sdk/go/rockset/mongodbCollection.go @@ -0,0 +1,324 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection with an MongoDB source attached. +type MongodbCollection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources MongodbCollectionSourceArrayOutput `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewMongodbCollection registers a new resource with the given unique name, arguments, and options. +func NewMongodbCollection(ctx *pulumi.Context, + name string, args *MongodbCollectionArgs, opts ...pulumi.ResourceOption) (*MongodbCollection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource MongodbCollection + err := ctx.RegisterResource("rockset:index/mongodbCollection:MongodbCollection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMongodbCollection gets an existing MongodbCollection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetMongodbCollection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MongodbCollectionState, opts ...pulumi.ResourceOption) (*MongodbCollection, error) { + var resource MongodbCollection + err := ctx.ReadResource("rockset:index/mongodbCollection:MongodbCollection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MongodbCollection resources. +type mongodbCollectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []MongodbCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type MongodbCollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources MongodbCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (MongodbCollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*mongodbCollectionState)(nil)).Elem() +} + +type mongodbCollectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []MongodbCollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a MongodbCollection resource. +type MongodbCollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources MongodbCollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (MongodbCollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*mongodbCollectionArgs)(nil)).Elem() +} + +type MongodbCollectionInput interface { + pulumi.Input + + ToMongodbCollectionOutput() MongodbCollectionOutput + ToMongodbCollectionOutputWithContext(ctx context.Context) MongodbCollectionOutput +} + +func (*MongodbCollection) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbCollection)(nil)).Elem() +} + +func (i *MongodbCollection) ToMongodbCollectionOutput() MongodbCollectionOutput { + return i.ToMongodbCollectionOutputWithContext(context.Background()) +} + +func (i *MongodbCollection) ToMongodbCollectionOutputWithContext(ctx context.Context) MongodbCollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbCollectionOutput) +} + +// MongodbCollectionArrayInput is an input type that accepts MongodbCollectionArray and MongodbCollectionArrayOutput values. +// You can construct a concrete instance of `MongodbCollectionArrayInput` via: +// +// MongodbCollectionArray{ MongodbCollectionArgs{...} } +type MongodbCollectionArrayInput interface { + pulumi.Input + + ToMongodbCollectionArrayOutput() MongodbCollectionArrayOutput + ToMongodbCollectionArrayOutputWithContext(context.Context) MongodbCollectionArrayOutput +} + +type MongodbCollectionArray []MongodbCollectionInput + +func (MongodbCollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MongodbCollection)(nil)).Elem() +} + +func (i MongodbCollectionArray) ToMongodbCollectionArrayOutput() MongodbCollectionArrayOutput { + return i.ToMongodbCollectionArrayOutputWithContext(context.Background()) +} + +func (i MongodbCollectionArray) ToMongodbCollectionArrayOutputWithContext(ctx context.Context) MongodbCollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbCollectionArrayOutput) +} + +// MongodbCollectionMapInput is an input type that accepts MongodbCollectionMap and MongodbCollectionMapOutput values. +// You can construct a concrete instance of `MongodbCollectionMapInput` via: +// +// MongodbCollectionMap{ "key": MongodbCollectionArgs{...} } +type MongodbCollectionMapInput interface { + pulumi.Input + + ToMongodbCollectionMapOutput() MongodbCollectionMapOutput + ToMongodbCollectionMapOutputWithContext(context.Context) MongodbCollectionMapOutput +} + +type MongodbCollectionMap map[string]MongodbCollectionInput + +func (MongodbCollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MongodbCollection)(nil)).Elem() +} + +func (i MongodbCollectionMap) ToMongodbCollectionMapOutput() MongodbCollectionMapOutput { + return i.ToMongodbCollectionMapOutputWithContext(context.Background()) +} + +func (i MongodbCollectionMap) ToMongodbCollectionMapOutputWithContext(ctx context.Context) MongodbCollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbCollectionMapOutput) +} + +type MongodbCollectionOutput struct{ *pulumi.OutputState } + +func (MongodbCollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbCollection)(nil)).Elem() +} + +func (o MongodbCollectionOutput) ToMongodbCollectionOutput() MongodbCollectionOutput { + return o +} + +func (o MongodbCollectionOutput) ToMongodbCollectionOutputWithContext(ctx context.Context) MongodbCollectionOutput { + return o +} + +// Text describing the collection. +func (o MongodbCollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o MongodbCollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o MongodbCollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o MongodbCollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Defines a source for this collection. +func (o MongodbCollectionOutput) Sources() MongodbCollectionSourceArrayOutput { + return o.ApplyT(func(v *MongodbCollection) MongodbCollectionSourceArrayOutput { return v.Sources }).(MongodbCollectionSourceArrayOutput) +} + +// Wait until the collection is ready. +func (o MongodbCollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o MongodbCollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o MongodbCollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *MongodbCollection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type MongodbCollectionArrayOutput struct{ *pulumi.OutputState } + +func (MongodbCollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MongodbCollection)(nil)).Elem() +} + +func (o MongodbCollectionArrayOutput) ToMongodbCollectionArrayOutput() MongodbCollectionArrayOutput { + return o +} + +func (o MongodbCollectionArrayOutput) ToMongodbCollectionArrayOutputWithContext(ctx context.Context) MongodbCollectionArrayOutput { + return o +} + +func (o MongodbCollectionArrayOutput) Index(i pulumi.IntInput) MongodbCollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MongodbCollection { + return vs[0].([]*MongodbCollection)[vs[1].(int)] + }).(MongodbCollectionOutput) +} + +type MongodbCollectionMapOutput struct{ *pulumi.OutputState } + +func (MongodbCollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MongodbCollection)(nil)).Elem() +} + +func (o MongodbCollectionMapOutput) ToMongodbCollectionMapOutput() MongodbCollectionMapOutput { + return o +} + +func (o MongodbCollectionMapOutput) ToMongodbCollectionMapOutputWithContext(ctx context.Context) MongodbCollectionMapOutput { + return o +} + +func (o MongodbCollectionMapOutput) MapIndex(k pulumi.StringInput) MongodbCollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MongodbCollection { + return vs[0].(map[string]*MongodbCollection)[vs[1].(string)] + }).(MongodbCollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MongodbCollectionInput)(nil)).Elem(), &MongodbCollection{}) + pulumi.RegisterInputType(reflect.TypeOf((*MongodbCollectionArrayInput)(nil)).Elem(), MongodbCollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MongodbCollectionMapInput)(nil)).Elem(), MongodbCollectionMap{}) + pulumi.RegisterOutputType(MongodbCollectionOutput{}) + pulumi.RegisterOutputType(MongodbCollectionArrayOutput{}) + pulumi.RegisterOutputType(MongodbCollectionMapOutput{}) +} diff --git a/sdk/go/rockset/mongodbIntegration.go b/sdk/go/rockset/mongodbIntegration.go new file mode 100644 index 0000000..4ce90cd --- /dev/null +++ b/sdk/go/rockset/mongodbIntegration.go @@ -0,0 +1,256 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset MongoDB Integration. +type MongodbIntegration struct { + pulumi.CustomResourceState + + // MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + ConnectionUri pulumi.StringOutput `pulumi:"connectionUri"` + // Text describing the integration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewMongodbIntegration registers a new resource with the given unique name, arguments, and options. +func NewMongodbIntegration(ctx *pulumi.Context, + name string, args *MongodbIntegrationArgs, opts ...pulumi.ResourceOption) (*MongodbIntegration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConnectionUri == nil { + return nil, errors.New("invalid value for required argument 'ConnectionUri'") + } + if args.ConnectionUri != nil { + args.ConnectionUri = pulumi.ToSecret(args.ConnectionUri).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "connectionUri", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource MongodbIntegration + err := ctx.RegisterResource("rockset:index/mongodbIntegration:MongodbIntegration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMongodbIntegration gets an existing MongodbIntegration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetMongodbIntegration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MongodbIntegrationState, opts ...pulumi.ResourceOption) (*MongodbIntegration, error) { + var resource MongodbIntegration + err := ctx.ReadResource("rockset:index/mongodbIntegration:MongodbIntegration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MongodbIntegration resources. +type mongodbIntegrationState struct { + // MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + ConnectionUri *string `pulumi:"connectionUri"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +type MongodbIntegrationState struct { + // MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + ConnectionUri pulumi.StringPtrInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (MongodbIntegrationState) ElementType() reflect.Type { + return reflect.TypeOf((*mongodbIntegrationState)(nil)).Elem() +} + +type mongodbIntegrationArgs struct { + // MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + ConnectionUri string `pulumi:"connectionUri"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a MongodbIntegration resource. +type MongodbIntegrationArgs struct { + // MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + ConnectionUri pulumi.StringInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (MongodbIntegrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*mongodbIntegrationArgs)(nil)).Elem() +} + +type MongodbIntegrationInput interface { + pulumi.Input + + ToMongodbIntegrationOutput() MongodbIntegrationOutput + ToMongodbIntegrationOutputWithContext(ctx context.Context) MongodbIntegrationOutput +} + +func (*MongodbIntegration) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbIntegration)(nil)).Elem() +} + +func (i *MongodbIntegration) ToMongodbIntegrationOutput() MongodbIntegrationOutput { + return i.ToMongodbIntegrationOutputWithContext(context.Background()) +} + +func (i *MongodbIntegration) ToMongodbIntegrationOutputWithContext(ctx context.Context) MongodbIntegrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbIntegrationOutput) +} + +// MongodbIntegrationArrayInput is an input type that accepts MongodbIntegrationArray and MongodbIntegrationArrayOutput values. +// You can construct a concrete instance of `MongodbIntegrationArrayInput` via: +// +// MongodbIntegrationArray{ MongodbIntegrationArgs{...} } +type MongodbIntegrationArrayInput interface { + pulumi.Input + + ToMongodbIntegrationArrayOutput() MongodbIntegrationArrayOutput + ToMongodbIntegrationArrayOutputWithContext(context.Context) MongodbIntegrationArrayOutput +} + +type MongodbIntegrationArray []MongodbIntegrationInput + +func (MongodbIntegrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MongodbIntegration)(nil)).Elem() +} + +func (i MongodbIntegrationArray) ToMongodbIntegrationArrayOutput() MongodbIntegrationArrayOutput { + return i.ToMongodbIntegrationArrayOutputWithContext(context.Background()) +} + +func (i MongodbIntegrationArray) ToMongodbIntegrationArrayOutputWithContext(ctx context.Context) MongodbIntegrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbIntegrationArrayOutput) +} + +// MongodbIntegrationMapInput is an input type that accepts MongodbIntegrationMap and MongodbIntegrationMapOutput values. +// You can construct a concrete instance of `MongodbIntegrationMapInput` via: +// +// MongodbIntegrationMap{ "key": MongodbIntegrationArgs{...} } +type MongodbIntegrationMapInput interface { + pulumi.Input + + ToMongodbIntegrationMapOutput() MongodbIntegrationMapOutput + ToMongodbIntegrationMapOutputWithContext(context.Context) MongodbIntegrationMapOutput +} + +type MongodbIntegrationMap map[string]MongodbIntegrationInput + +func (MongodbIntegrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MongodbIntegration)(nil)).Elem() +} + +func (i MongodbIntegrationMap) ToMongodbIntegrationMapOutput() MongodbIntegrationMapOutput { + return i.ToMongodbIntegrationMapOutputWithContext(context.Background()) +} + +func (i MongodbIntegrationMap) ToMongodbIntegrationMapOutputWithContext(ctx context.Context) MongodbIntegrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbIntegrationMapOutput) +} + +type MongodbIntegrationOutput struct{ *pulumi.OutputState } + +func (MongodbIntegrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbIntegration)(nil)).Elem() +} + +func (o MongodbIntegrationOutput) ToMongodbIntegrationOutput() MongodbIntegrationOutput { + return o +} + +func (o MongodbIntegrationOutput) ToMongodbIntegrationOutputWithContext(ctx context.Context) MongodbIntegrationOutput { + return o +} + +// MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. +func (o MongodbIntegrationOutput) ConnectionUri() pulumi.StringOutput { + return o.ApplyT(func(v *MongodbIntegration) pulumi.StringOutput { return v.ConnectionUri }).(pulumi.StringOutput) +} + +// Text describing the integration. +func (o MongodbIntegrationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbIntegration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the integration. Can contain alphanumeric or dash characters. +func (o MongodbIntegrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *MongodbIntegration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type MongodbIntegrationArrayOutput struct{ *pulumi.OutputState } + +func (MongodbIntegrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MongodbIntegration)(nil)).Elem() +} + +func (o MongodbIntegrationArrayOutput) ToMongodbIntegrationArrayOutput() MongodbIntegrationArrayOutput { + return o +} + +func (o MongodbIntegrationArrayOutput) ToMongodbIntegrationArrayOutputWithContext(ctx context.Context) MongodbIntegrationArrayOutput { + return o +} + +func (o MongodbIntegrationArrayOutput) Index(i pulumi.IntInput) MongodbIntegrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MongodbIntegration { + return vs[0].([]*MongodbIntegration)[vs[1].(int)] + }).(MongodbIntegrationOutput) +} + +type MongodbIntegrationMapOutput struct{ *pulumi.OutputState } + +func (MongodbIntegrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MongodbIntegration)(nil)).Elem() +} + +func (o MongodbIntegrationMapOutput) ToMongodbIntegrationMapOutput() MongodbIntegrationMapOutput { + return o +} + +func (o MongodbIntegrationMapOutput) ToMongodbIntegrationMapOutputWithContext(ctx context.Context) MongodbIntegrationMapOutput { + return o +} + +func (o MongodbIntegrationMapOutput) MapIndex(k pulumi.StringInput) MongodbIntegrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MongodbIntegration { + return vs[0].(map[string]*MongodbIntegration)[vs[1].(string)] + }).(MongodbIntegrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MongodbIntegrationInput)(nil)).Elem(), &MongodbIntegration{}) + pulumi.RegisterInputType(reflect.TypeOf((*MongodbIntegrationArrayInput)(nil)).Elem(), MongodbIntegrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MongodbIntegrationMapInput)(nil)).Elem(), MongodbIntegrationMap{}) + pulumi.RegisterOutputType(MongodbIntegrationOutput{}) + pulumi.RegisterOutputType(MongodbIntegrationArrayOutput{}) + pulumi.RegisterOutputType(MongodbIntegrationMapOutput{}) +} diff --git a/sdk/go/rockset/provider.go b/sdk/go/rockset/provider.go new file mode 100644 index 0000000..bc97f4c --- /dev/null +++ b/sdk/go/rockset/provider.go @@ -0,0 +1,115 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The provider type for the rockset package. By default, resources use package-wide configuration +// settings, however an explicit `Provider` instance may be created and passed during resource +// construction to achieve fine-grained programmatic control over provider settings. See the +// [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. +type Provider struct { + pulumi.ProviderResourceState + + // The API key used to access Rockset + ApiKey pulumi.StringPtrOutput `pulumi:"apiKey"` + // The API server for accessing Rockset + ApiServer pulumi.StringPtrOutput `pulumi:"apiServer"` +} + +// NewProvider registers a new resource with the given unique name, arguments, and options. +func NewProvider(ctx *pulumi.Context, + name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { + if args == nil { + args = &ProviderArgs{} + } + + if args.ApiKey != nil { + args.ApiKey = pulumi.ToSecret(args.ApiKey).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "apiKey", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Provider + err := ctx.RegisterResource("pulumi:providers:rockset", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +type providerArgs struct { + // The API key used to access Rockset + ApiKey *string `pulumi:"apiKey"` + // The API server for accessing Rockset + ApiServer *string `pulumi:"apiServer"` +} + +// The set of arguments for constructing a Provider resource. +type ProviderArgs struct { + // The API key used to access Rockset + ApiKey pulumi.StringPtrInput + // The API server for accessing Rockset + ApiServer pulumi.StringPtrInput +} + +func (ProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*providerArgs)(nil)).Elem() +} + +type ProviderInput interface { + pulumi.Input + + ToProviderOutput() ProviderOutput + ToProviderOutputWithContext(ctx context.Context) ProviderOutput +} + +func (*Provider) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (i *Provider) ToProviderOutput() ProviderOutput { + return i.ToProviderOutputWithContext(context.Background()) +} + +func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) +} + +type ProviderOutput struct{ *pulumi.OutputState } + +func (ProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Provider)(nil)).Elem() +} + +func (o ProviderOutput) ToProviderOutput() ProviderOutput { + return o +} + +func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { + return o +} + +// The API key used to access Rockset +func (o ProviderOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ApiKey }).(pulumi.StringPtrOutput) +} + +// The API server for accessing Rockset +func (o ProviderOutput) ApiServer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ApiServer }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) + pulumi.RegisterOutputType(ProviderOutput{}) +} diff --git a/sdk/go/rockset/pulumi-plugin.json b/sdk/go/rockset/pulumi-plugin.json new file mode 100644 index 0000000..a23af4d --- /dev/null +++ b/sdk/go/rockset/pulumi-plugin.json @@ -0,0 +1,4 @@ +{ + "resource": true, + "name": "rockset" +} diff --git a/sdk/go/rockset/pulumiTypes.go b/sdk/go/rockset/pulumiTypes.go new file mode 100644 index 0000000..3f02a30 --- /dev/null +++ b/sdk/go/rockset/pulumiTypes.go @@ -0,0 +1,2620 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type DynamodbCollectionSource struct { + // AWS region name of DynamoDB table, by default us-west-2 is used. + AwsRegion *string `pulumi:"awsRegion"` + // The name of the Rockset DynamoDB integration. + IntegrationName string `pulumi:"integrationName"` + // Max RCU usage for scan. + Rcu *int `pulumi:"rcu"` + // DynamoDB scan end time. + ScanEndTime *string `pulumi:"scanEndTime"` + // Number of records inserted using scan. + ScanRecordsProcessed *int `pulumi:"scanRecordsProcessed"` + // DynamoDB scan start time. + ScanStartTime *string `pulumi:"scanStartTime"` + // Number of records in DynamoDB table at time of scan. + ScanTotalRecords *int `pulumi:"scanTotalRecords"` + // State of current ingest for this table. + State *string `pulumi:"state"` + // ISO-8601 date when source was last processed. + StreamLastProcessedAt *string `pulumi:"streamLastProcessedAt"` + // Name of DynamoDB table containing data. + TableName string `pulumi:"tableName"` + // Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + UseScanApi *bool `pulumi:"useScanApi"` +} + +// DynamodbCollectionSourceInput is an input type that accepts DynamodbCollectionSourceArgs and DynamodbCollectionSourceOutput values. +// You can construct a concrete instance of `DynamodbCollectionSourceInput` via: +// +// DynamodbCollectionSourceArgs{...} +type DynamodbCollectionSourceInput interface { + pulumi.Input + + ToDynamodbCollectionSourceOutput() DynamodbCollectionSourceOutput + ToDynamodbCollectionSourceOutputWithContext(context.Context) DynamodbCollectionSourceOutput +} + +type DynamodbCollectionSourceArgs struct { + // AWS region name of DynamoDB table, by default us-west-2 is used. + AwsRegion pulumi.StringPtrInput `pulumi:"awsRegion"` + // The name of the Rockset DynamoDB integration. + IntegrationName pulumi.StringInput `pulumi:"integrationName"` + // Max RCU usage for scan. + Rcu pulumi.IntPtrInput `pulumi:"rcu"` + // DynamoDB scan end time. + ScanEndTime pulumi.StringPtrInput `pulumi:"scanEndTime"` + // Number of records inserted using scan. + ScanRecordsProcessed pulumi.IntPtrInput `pulumi:"scanRecordsProcessed"` + // DynamoDB scan start time. + ScanStartTime pulumi.StringPtrInput `pulumi:"scanStartTime"` + // Number of records in DynamoDB table at time of scan. + ScanTotalRecords pulumi.IntPtrInput `pulumi:"scanTotalRecords"` + // State of current ingest for this table. + State pulumi.StringPtrInput `pulumi:"state"` + // ISO-8601 date when source was last processed. + StreamLastProcessedAt pulumi.StringPtrInput `pulumi:"streamLastProcessedAt"` + // Name of DynamoDB table containing data. + TableName pulumi.StringInput `pulumi:"tableName"` + // Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + UseScanApi pulumi.BoolPtrInput `pulumi:"useScanApi"` +} + +func (DynamodbCollectionSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DynamodbCollectionSource)(nil)).Elem() +} + +func (i DynamodbCollectionSourceArgs) ToDynamodbCollectionSourceOutput() DynamodbCollectionSourceOutput { + return i.ToDynamodbCollectionSourceOutputWithContext(context.Background()) +} + +func (i DynamodbCollectionSourceArgs) ToDynamodbCollectionSourceOutputWithContext(ctx context.Context) DynamodbCollectionSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbCollectionSourceOutput) +} + +// DynamodbCollectionSourceArrayInput is an input type that accepts DynamodbCollectionSourceArray and DynamodbCollectionSourceArrayOutput values. +// You can construct a concrete instance of `DynamodbCollectionSourceArrayInput` via: +// +// DynamodbCollectionSourceArray{ DynamodbCollectionSourceArgs{...} } +type DynamodbCollectionSourceArrayInput interface { + pulumi.Input + + ToDynamodbCollectionSourceArrayOutput() DynamodbCollectionSourceArrayOutput + ToDynamodbCollectionSourceArrayOutputWithContext(context.Context) DynamodbCollectionSourceArrayOutput +} + +type DynamodbCollectionSourceArray []DynamodbCollectionSourceInput + +func (DynamodbCollectionSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DynamodbCollectionSource)(nil)).Elem() +} + +func (i DynamodbCollectionSourceArray) ToDynamodbCollectionSourceArrayOutput() DynamodbCollectionSourceArrayOutput { + return i.ToDynamodbCollectionSourceArrayOutputWithContext(context.Background()) +} + +func (i DynamodbCollectionSourceArray) ToDynamodbCollectionSourceArrayOutputWithContext(ctx context.Context) DynamodbCollectionSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DynamodbCollectionSourceArrayOutput) +} + +type DynamodbCollectionSourceOutput struct{ *pulumi.OutputState } + +func (DynamodbCollectionSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DynamodbCollectionSource)(nil)).Elem() +} + +func (o DynamodbCollectionSourceOutput) ToDynamodbCollectionSourceOutput() DynamodbCollectionSourceOutput { + return o +} + +func (o DynamodbCollectionSourceOutput) ToDynamodbCollectionSourceOutputWithContext(ctx context.Context) DynamodbCollectionSourceOutput { + return o +} + +// AWS region name of DynamoDB table, by default us-west-2 is used. +func (o DynamodbCollectionSourceOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *string { return v.AwsRegion }).(pulumi.StringPtrOutput) +} + +// The name of the Rockset DynamoDB integration. +func (o DynamodbCollectionSourceOutput) IntegrationName() pulumi.StringOutput { + return o.ApplyT(func(v DynamodbCollectionSource) string { return v.IntegrationName }).(pulumi.StringOutput) +} + +// Max RCU usage for scan. +func (o DynamodbCollectionSourceOutput) Rcu() pulumi.IntPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *int { return v.Rcu }).(pulumi.IntPtrOutput) +} + +// DynamoDB scan end time. +func (o DynamodbCollectionSourceOutput) ScanEndTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *string { return v.ScanEndTime }).(pulumi.StringPtrOutput) +} + +// Number of records inserted using scan. +func (o DynamodbCollectionSourceOutput) ScanRecordsProcessed() pulumi.IntPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *int { return v.ScanRecordsProcessed }).(pulumi.IntPtrOutput) +} + +// DynamoDB scan start time. +func (o DynamodbCollectionSourceOutput) ScanStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *string { return v.ScanStartTime }).(pulumi.StringPtrOutput) +} + +// Number of records in DynamoDB table at time of scan. +func (o DynamodbCollectionSourceOutput) ScanTotalRecords() pulumi.IntPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *int { return v.ScanTotalRecords }).(pulumi.IntPtrOutput) +} + +// State of current ingest for this table. +func (o DynamodbCollectionSourceOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *string { return v.State }).(pulumi.StringPtrOutput) +} + +// ISO-8601 date when source was last processed. +func (o DynamodbCollectionSourceOutput) StreamLastProcessedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *string { return v.StreamLastProcessedAt }).(pulumi.StringPtrOutput) +} + +// Name of DynamoDB table containing data. +func (o DynamodbCollectionSourceOutput) TableName() pulumi.StringOutput { + return o.ApplyT(func(v DynamodbCollectionSource) string { return v.TableName }).(pulumi.StringOutput) +} + +// Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. +func (o DynamodbCollectionSourceOutput) UseScanApi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DynamodbCollectionSource) *bool { return v.UseScanApi }).(pulumi.BoolPtrOutput) +} + +type DynamodbCollectionSourceArrayOutput struct{ *pulumi.OutputState } + +func (DynamodbCollectionSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DynamodbCollectionSource)(nil)).Elem() +} + +func (o DynamodbCollectionSourceArrayOutput) ToDynamodbCollectionSourceArrayOutput() DynamodbCollectionSourceArrayOutput { + return o +} + +func (o DynamodbCollectionSourceArrayOutput) ToDynamodbCollectionSourceArrayOutputWithContext(ctx context.Context) DynamodbCollectionSourceArrayOutput { + return o +} + +func (o DynamodbCollectionSourceArrayOutput) Index(i pulumi.IntInput) DynamodbCollectionSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DynamodbCollectionSource { + return vs[0].([]DynamodbCollectionSource)[vs[1].(int)] + }).(DynamodbCollectionSourceOutput) +} + +type GcsCollectionSource struct { + // GCS bucket containing the target data. + Bucket string `pulumi:"bucket"` + Csv *GcsCollectionSourceCsv `pulumi:"csv"` + // Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + Format string `pulumi:"format"` + // The name of the Rockset GCS integration. + IntegrationName string `pulumi:"integrationName"` + // Simple path prefix to GCS key. + Prefix *string `pulumi:"prefix"` + Xml *GcsCollectionSourceXml `pulumi:"xml"` +} + +// GcsCollectionSourceInput is an input type that accepts GcsCollectionSourceArgs and GcsCollectionSourceOutput values. +// You can construct a concrete instance of `GcsCollectionSourceInput` via: +// +// GcsCollectionSourceArgs{...} +type GcsCollectionSourceInput interface { + pulumi.Input + + ToGcsCollectionSourceOutput() GcsCollectionSourceOutput + ToGcsCollectionSourceOutputWithContext(context.Context) GcsCollectionSourceOutput +} + +type GcsCollectionSourceArgs struct { + // GCS bucket containing the target data. + Bucket pulumi.StringInput `pulumi:"bucket"` + Csv GcsCollectionSourceCsvPtrInput `pulumi:"csv"` + // Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + Format pulumi.StringInput `pulumi:"format"` + // The name of the Rockset GCS integration. + IntegrationName pulumi.StringInput `pulumi:"integrationName"` + // Simple path prefix to GCS key. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Xml GcsCollectionSourceXmlPtrInput `pulumi:"xml"` +} + +func (GcsCollectionSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GcsCollectionSource)(nil)).Elem() +} + +func (i GcsCollectionSourceArgs) ToGcsCollectionSourceOutput() GcsCollectionSourceOutput { + return i.ToGcsCollectionSourceOutputWithContext(context.Background()) +} + +func (i GcsCollectionSourceArgs) ToGcsCollectionSourceOutputWithContext(ctx context.Context) GcsCollectionSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceOutput) +} + +// GcsCollectionSourceArrayInput is an input type that accepts GcsCollectionSourceArray and GcsCollectionSourceArrayOutput values. +// You can construct a concrete instance of `GcsCollectionSourceArrayInput` via: +// +// GcsCollectionSourceArray{ GcsCollectionSourceArgs{...} } +type GcsCollectionSourceArrayInput interface { + pulumi.Input + + ToGcsCollectionSourceArrayOutput() GcsCollectionSourceArrayOutput + ToGcsCollectionSourceArrayOutputWithContext(context.Context) GcsCollectionSourceArrayOutput +} + +type GcsCollectionSourceArray []GcsCollectionSourceInput + +func (GcsCollectionSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GcsCollectionSource)(nil)).Elem() +} + +func (i GcsCollectionSourceArray) ToGcsCollectionSourceArrayOutput() GcsCollectionSourceArrayOutput { + return i.ToGcsCollectionSourceArrayOutputWithContext(context.Background()) +} + +func (i GcsCollectionSourceArray) ToGcsCollectionSourceArrayOutputWithContext(ctx context.Context) GcsCollectionSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceArrayOutput) +} + +type GcsCollectionSourceOutput struct{ *pulumi.OutputState } + +func (GcsCollectionSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GcsCollectionSource)(nil)).Elem() +} + +func (o GcsCollectionSourceOutput) ToGcsCollectionSourceOutput() GcsCollectionSourceOutput { + return o +} + +func (o GcsCollectionSourceOutput) ToGcsCollectionSourceOutputWithContext(ctx context.Context) GcsCollectionSourceOutput { + return o +} + +// GCS bucket containing the target data. +func (o GcsCollectionSourceOutput) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v GcsCollectionSource) string { return v.Bucket }).(pulumi.StringOutput) +} + +func (o GcsCollectionSourceOutput) Csv() GcsCollectionSourceCsvPtrOutput { + return o.ApplyT(func(v GcsCollectionSource) *GcsCollectionSourceCsv { return v.Csv }).(GcsCollectionSourceCsvPtrOutput) +} + +// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. +func (o GcsCollectionSourceOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v GcsCollectionSource) string { return v.Format }).(pulumi.StringOutput) +} + +// The name of the Rockset GCS integration. +func (o GcsCollectionSourceOutput) IntegrationName() pulumi.StringOutput { + return o.ApplyT(func(v GcsCollectionSource) string { return v.IntegrationName }).(pulumi.StringOutput) +} + +// Simple path prefix to GCS key. +func (o GcsCollectionSourceOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSource) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o GcsCollectionSourceOutput) Xml() GcsCollectionSourceXmlPtrOutput { + return o.ApplyT(func(v GcsCollectionSource) *GcsCollectionSourceXml { return v.Xml }).(GcsCollectionSourceXmlPtrOutput) +} + +type GcsCollectionSourceArrayOutput struct{ *pulumi.OutputState } + +func (GcsCollectionSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GcsCollectionSource)(nil)).Elem() +} + +func (o GcsCollectionSourceArrayOutput) ToGcsCollectionSourceArrayOutput() GcsCollectionSourceArrayOutput { + return o +} + +func (o GcsCollectionSourceArrayOutput) ToGcsCollectionSourceArrayOutputWithContext(ctx context.Context) GcsCollectionSourceArrayOutput { + return o +} + +func (o GcsCollectionSourceArrayOutput) Index(i pulumi.IntInput) GcsCollectionSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GcsCollectionSource { + return vs[0].([]GcsCollectionSource)[vs[1].(int)] + }).(GcsCollectionSourceOutput) +} + +type GcsCollectionSourceCsv struct { + // The names of the columns. + ColumnNames []string `pulumi:"columnNames"` + // The types of the columns. + ColumnTypes []string `pulumi:"columnTypes"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding *string `pulumi:"encoding"` + // Escape character removes any special meaning from the character that follows it. Defaults to backslash. + EscapeChar *string `pulumi:"escapeChar"` + // If the first line in every object specifies the column names. + FirstLineAsColumnNames *bool `pulumi:"firstLineAsColumnNames"` + // Character within which a cell value is enclosed. Defaults to double quote. + QuoteChar *string `pulumi:"quoteChar"` + // A single character that is the column separator. + Separator *string `pulumi:"separator"` +} + +// GcsCollectionSourceCsvInput is an input type that accepts GcsCollectionSourceCsvArgs and GcsCollectionSourceCsvOutput values. +// You can construct a concrete instance of `GcsCollectionSourceCsvInput` via: +// +// GcsCollectionSourceCsvArgs{...} +type GcsCollectionSourceCsvInput interface { + pulumi.Input + + ToGcsCollectionSourceCsvOutput() GcsCollectionSourceCsvOutput + ToGcsCollectionSourceCsvOutputWithContext(context.Context) GcsCollectionSourceCsvOutput +} + +type GcsCollectionSourceCsvArgs struct { + // The names of the columns. + ColumnNames pulumi.StringArrayInput `pulumi:"columnNames"` + // The types of the columns. + ColumnTypes pulumi.StringArrayInput `pulumi:"columnTypes"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + // Escape character removes any special meaning from the character that follows it. Defaults to backslash. + EscapeChar pulumi.StringPtrInput `pulumi:"escapeChar"` + // If the first line in every object specifies the column names. + FirstLineAsColumnNames pulumi.BoolPtrInput `pulumi:"firstLineAsColumnNames"` + // Character within which a cell value is enclosed. Defaults to double quote. + QuoteChar pulumi.StringPtrInput `pulumi:"quoteChar"` + // A single character that is the column separator. + Separator pulumi.StringPtrInput `pulumi:"separator"` +} + +func (GcsCollectionSourceCsvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GcsCollectionSourceCsv)(nil)).Elem() +} + +func (i GcsCollectionSourceCsvArgs) ToGcsCollectionSourceCsvOutput() GcsCollectionSourceCsvOutput { + return i.ToGcsCollectionSourceCsvOutputWithContext(context.Background()) +} + +func (i GcsCollectionSourceCsvArgs) ToGcsCollectionSourceCsvOutputWithContext(ctx context.Context) GcsCollectionSourceCsvOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceCsvOutput) +} + +func (i GcsCollectionSourceCsvArgs) ToGcsCollectionSourceCsvPtrOutput() GcsCollectionSourceCsvPtrOutput { + return i.ToGcsCollectionSourceCsvPtrOutputWithContext(context.Background()) +} + +func (i GcsCollectionSourceCsvArgs) ToGcsCollectionSourceCsvPtrOutputWithContext(ctx context.Context) GcsCollectionSourceCsvPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceCsvOutput).ToGcsCollectionSourceCsvPtrOutputWithContext(ctx) +} + +// GcsCollectionSourceCsvPtrInput is an input type that accepts GcsCollectionSourceCsvArgs, GcsCollectionSourceCsvPtr and GcsCollectionSourceCsvPtrOutput values. +// You can construct a concrete instance of `GcsCollectionSourceCsvPtrInput` via: +// +// GcsCollectionSourceCsvArgs{...} +// +// or: +// +// nil +type GcsCollectionSourceCsvPtrInput interface { + pulumi.Input + + ToGcsCollectionSourceCsvPtrOutput() GcsCollectionSourceCsvPtrOutput + ToGcsCollectionSourceCsvPtrOutputWithContext(context.Context) GcsCollectionSourceCsvPtrOutput +} + +type gcsCollectionSourceCsvPtrType GcsCollectionSourceCsvArgs + +func GcsCollectionSourceCsvPtr(v *GcsCollectionSourceCsvArgs) GcsCollectionSourceCsvPtrInput { + return (*gcsCollectionSourceCsvPtrType)(v) +} + +func (*gcsCollectionSourceCsvPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GcsCollectionSourceCsv)(nil)).Elem() +} + +func (i *gcsCollectionSourceCsvPtrType) ToGcsCollectionSourceCsvPtrOutput() GcsCollectionSourceCsvPtrOutput { + return i.ToGcsCollectionSourceCsvPtrOutputWithContext(context.Background()) +} + +func (i *gcsCollectionSourceCsvPtrType) ToGcsCollectionSourceCsvPtrOutputWithContext(ctx context.Context) GcsCollectionSourceCsvPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceCsvPtrOutput) +} + +type GcsCollectionSourceCsvOutput struct{ *pulumi.OutputState } + +func (GcsCollectionSourceCsvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GcsCollectionSourceCsv)(nil)).Elem() +} + +func (o GcsCollectionSourceCsvOutput) ToGcsCollectionSourceCsvOutput() GcsCollectionSourceCsvOutput { + return o +} + +func (o GcsCollectionSourceCsvOutput) ToGcsCollectionSourceCsvOutputWithContext(ctx context.Context) GcsCollectionSourceCsvOutput { + return o +} + +func (o GcsCollectionSourceCsvOutput) ToGcsCollectionSourceCsvPtrOutput() GcsCollectionSourceCsvPtrOutput { + return o.ToGcsCollectionSourceCsvPtrOutputWithContext(context.Background()) +} + +func (o GcsCollectionSourceCsvOutput) ToGcsCollectionSourceCsvPtrOutputWithContext(ctx context.Context) GcsCollectionSourceCsvPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GcsCollectionSourceCsv) *GcsCollectionSourceCsv { + return &v + }).(GcsCollectionSourceCsvPtrOutput) +} + +// The names of the columns. +func (o GcsCollectionSourceCsvOutput) ColumnNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) []string { return v.ColumnNames }).(pulumi.StringArrayOutput) +} + +// The types of the columns. +func (o GcsCollectionSourceCsvOutput) ColumnTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) []string { return v.ColumnTypes }).(pulumi.StringArrayOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o GcsCollectionSourceCsvOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +// Escape character removes any special meaning from the character that follows it. Defaults to backslash. +func (o GcsCollectionSourceCsvOutput) EscapeChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) *string { return v.EscapeChar }).(pulumi.StringPtrOutput) +} + +// If the first line in every object specifies the column names. +func (o GcsCollectionSourceCsvOutput) FirstLineAsColumnNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) *bool { return v.FirstLineAsColumnNames }).(pulumi.BoolPtrOutput) +} + +// Character within which a cell value is enclosed. Defaults to double quote. +func (o GcsCollectionSourceCsvOutput) QuoteChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) *string { return v.QuoteChar }).(pulumi.StringPtrOutput) +} + +// A single character that is the column separator. +func (o GcsCollectionSourceCsvOutput) Separator() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceCsv) *string { return v.Separator }).(pulumi.StringPtrOutput) +} + +type GcsCollectionSourceCsvPtrOutput struct{ *pulumi.OutputState } + +func (GcsCollectionSourceCsvPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GcsCollectionSourceCsv)(nil)).Elem() +} + +func (o GcsCollectionSourceCsvPtrOutput) ToGcsCollectionSourceCsvPtrOutput() GcsCollectionSourceCsvPtrOutput { + return o +} + +func (o GcsCollectionSourceCsvPtrOutput) ToGcsCollectionSourceCsvPtrOutputWithContext(ctx context.Context) GcsCollectionSourceCsvPtrOutput { + return o +} + +func (o GcsCollectionSourceCsvPtrOutput) Elem() GcsCollectionSourceCsvOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) GcsCollectionSourceCsv { + if v != nil { + return *v + } + var ret GcsCollectionSourceCsv + return ret + }).(GcsCollectionSourceCsvOutput) +} + +// The names of the columns. +func (o GcsCollectionSourceCsvPtrOutput) ColumnNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) []string { + if v == nil { + return nil + } + return v.ColumnNames + }).(pulumi.StringArrayOutput) +} + +// The types of the columns. +func (o GcsCollectionSourceCsvPtrOutput) ColumnTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) []string { + if v == nil { + return nil + } + return v.ColumnTypes + }).(pulumi.StringArrayOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o GcsCollectionSourceCsvPtrOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.Encoding + }).(pulumi.StringPtrOutput) +} + +// Escape character removes any special meaning from the character that follows it. Defaults to backslash. +func (o GcsCollectionSourceCsvPtrOutput) EscapeChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.EscapeChar + }).(pulumi.StringPtrOutput) +} + +// If the first line in every object specifies the column names. +func (o GcsCollectionSourceCsvPtrOutput) FirstLineAsColumnNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) *bool { + if v == nil { + return nil + } + return v.FirstLineAsColumnNames + }).(pulumi.BoolPtrOutput) +} + +// Character within which a cell value is enclosed. Defaults to double quote. +func (o GcsCollectionSourceCsvPtrOutput) QuoteChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.QuoteChar + }).(pulumi.StringPtrOutput) +} + +// A single character that is the column separator. +func (o GcsCollectionSourceCsvPtrOutput) Separator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.Separator + }).(pulumi.StringPtrOutput) +} + +type GcsCollectionSourceXml struct { + // Tag to differentiate between attributes and elements. + AttributePrefix *string `pulumi:"attributePrefix"` + // Tags with which documents are identified + DocTag *string `pulumi:"docTag"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding *string `pulumi:"encoding"` + // Tag until which xml is ignored. + RootTag *string `pulumi:"rootTag"` + // Tag used for the value when there are attributes in the element having no child. + ValueTag *string `pulumi:"valueTag"` +} + +// GcsCollectionSourceXmlInput is an input type that accepts GcsCollectionSourceXmlArgs and GcsCollectionSourceXmlOutput values. +// You can construct a concrete instance of `GcsCollectionSourceXmlInput` via: +// +// GcsCollectionSourceXmlArgs{...} +type GcsCollectionSourceXmlInput interface { + pulumi.Input + + ToGcsCollectionSourceXmlOutput() GcsCollectionSourceXmlOutput + ToGcsCollectionSourceXmlOutputWithContext(context.Context) GcsCollectionSourceXmlOutput +} + +type GcsCollectionSourceXmlArgs struct { + // Tag to differentiate between attributes and elements. + AttributePrefix pulumi.StringPtrInput `pulumi:"attributePrefix"` + // Tags with which documents are identified + DocTag pulumi.StringPtrInput `pulumi:"docTag"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + // Tag until which xml is ignored. + RootTag pulumi.StringPtrInput `pulumi:"rootTag"` + // Tag used for the value when there are attributes in the element having no child. + ValueTag pulumi.StringPtrInput `pulumi:"valueTag"` +} + +func (GcsCollectionSourceXmlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GcsCollectionSourceXml)(nil)).Elem() +} + +func (i GcsCollectionSourceXmlArgs) ToGcsCollectionSourceXmlOutput() GcsCollectionSourceXmlOutput { + return i.ToGcsCollectionSourceXmlOutputWithContext(context.Background()) +} + +func (i GcsCollectionSourceXmlArgs) ToGcsCollectionSourceXmlOutputWithContext(ctx context.Context) GcsCollectionSourceXmlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceXmlOutput) +} + +func (i GcsCollectionSourceXmlArgs) ToGcsCollectionSourceXmlPtrOutput() GcsCollectionSourceXmlPtrOutput { + return i.ToGcsCollectionSourceXmlPtrOutputWithContext(context.Background()) +} + +func (i GcsCollectionSourceXmlArgs) ToGcsCollectionSourceXmlPtrOutputWithContext(ctx context.Context) GcsCollectionSourceXmlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceXmlOutput).ToGcsCollectionSourceXmlPtrOutputWithContext(ctx) +} + +// GcsCollectionSourceXmlPtrInput is an input type that accepts GcsCollectionSourceXmlArgs, GcsCollectionSourceXmlPtr and GcsCollectionSourceXmlPtrOutput values. +// You can construct a concrete instance of `GcsCollectionSourceXmlPtrInput` via: +// +// GcsCollectionSourceXmlArgs{...} +// +// or: +// +// nil +type GcsCollectionSourceXmlPtrInput interface { + pulumi.Input + + ToGcsCollectionSourceXmlPtrOutput() GcsCollectionSourceXmlPtrOutput + ToGcsCollectionSourceXmlPtrOutputWithContext(context.Context) GcsCollectionSourceXmlPtrOutput +} + +type gcsCollectionSourceXmlPtrType GcsCollectionSourceXmlArgs + +func GcsCollectionSourceXmlPtr(v *GcsCollectionSourceXmlArgs) GcsCollectionSourceXmlPtrInput { + return (*gcsCollectionSourceXmlPtrType)(v) +} + +func (*gcsCollectionSourceXmlPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GcsCollectionSourceXml)(nil)).Elem() +} + +func (i *gcsCollectionSourceXmlPtrType) ToGcsCollectionSourceXmlPtrOutput() GcsCollectionSourceXmlPtrOutput { + return i.ToGcsCollectionSourceXmlPtrOutputWithContext(context.Background()) +} + +func (i *gcsCollectionSourceXmlPtrType) ToGcsCollectionSourceXmlPtrOutputWithContext(ctx context.Context) GcsCollectionSourceXmlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcsCollectionSourceXmlPtrOutput) +} + +type GcsCollectionSourceXmlOutput struct{ *pulumi.OutputState } + +func (GcsCollectionSourceXmlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GcsCollectionSourceXml)(nil)).Elem() +} + +func (o GcsCollectionSourceXmlOutput) ToGcsCollectionSourceXmlOutput() GcsCollectionSourceXmlOutput { + return o +} + +func (o GcsCollectionSourceXmlOutput) ToGcsCollectionSourceXmlOutputWithContext(ctx context.Context) GcsCollectionSourceXmlOutput { + return o +} + +func (o GcsCollectionSourceXmlOutput) ToGcsCollectionSourceXmlPtrOutput() GcsCollectionSourceXmlPtrOutput { + return o.ToGcsCollectionSourceXmlPtrOutputWithContext(context.Background()) +} + +func (o GcsCollectionSourceXmlOutput) ToGcsCollectionSourceXmlPtrOutputWithContext(ctx context.Context) GcsCollectionSourceXmlPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GcsCollectionSourceXml) *GcsCollectionSourceXml { + return &v + }).(GcsCollectionSourceXmlPtrOutput) +} + +// Tag to differentiate between attributes and elements. +func (o GcsCollectionSourceXmlOutput) AttributePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceXml) *string { return v.AttributePrefix }).(pulumi.StringPtrOutput) +} + +// Tags with which documents are identified +func (o GcsCollectionSourceXmlOutput) DocTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceXml) *string { return v.DocTag }).(pulumi.StringPtrOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o GcsCollectionSourceXmlOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceXml) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +// Tag until which xml is ignored. +func (o GcsCollectionSourceXmlOutput) RootTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceXml) *string { return v.RootTag }).(pulumi.StringPtrOutput) +} + +// Tag used for the value when there are attributes in the element having no child. +func (o GcsCollectionSourceXmlOutput) ValueTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcsCollectionSourceXml) *string { return v.ValueTag }).(pulumi.StringPtrOutput) +} + +type GcsCollectionSourceXmlPtrOutput struct{ *pulumi.OutputState } + +func (GcsCollectionSourceXmlPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GcsCollectionSourceXml)(nil)).Elem() +} + +func (o GcsCollectionSourceXmlPtrOutput) ToGcsCollectionSourceXmlPtrOutput() GcsCollectionSourceXmlPtrOutput { + return o +} + +func (o GcsCollectionSourceXmlPtrOutput) ToGcsCollectionSourceXmlPtrOutputWithContext(ctx context.Context) GcsCollectionSourceXmlPtrOutput { + return o +} + +func (o GcsCollectionSourceXmlPtrOutput) Elem() GcsCollectionSourceXmlOutput { + return o.ApplyT(func(v *GcsCollectionSourceXml) GcsCollectionSourceXml { + if v != nil { + return *v + } + var ret GcsCollectionSourceXml + return ret + }).(GcsCollectionSourceXmlOutput) +} + +// Tag to differentiate between attributes and elements. +func (o GcsCollectionSourceXmlPtrOutput) AttributePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceXml) *string { + if v == nil { + return nil + } + return v.AttributePrefix + }).(pulumi.StringPtrOutput) +} + +// Tags with which documents are identified +func (o GcsCollectionSourceXmlPtrOutput) DocTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceXml) *string { + if v == nil { + return nil + } + return v.DocTag + }).(pulumi.StringPtrOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o GcsCollectionSourceXmlPtrOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceXml) *string { + if v == nil { + return nil + } + return v.Encoding + }).(pulumi.StringPtrOutput) +} + +// Tag until which xml is ignored. +func (o GcsCollectionSourceXmlPtrOutput) RootTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceXml) *string { + if v == nil { + return nil + } + return v.RootTag + }).(pulumi.StringPtrOutput) +} + +// Tag used for the value when there are attributes in the element having no child. +func (o GcsCollectionSourceXmlPtrOutput) ValueTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcsCollectionSourceXml) *string { + if v == nil { + return nil + } + return v.ValueTag + }).(pulumi.StringPtrOutput) +} + +type KafkaCollectionSource struct { + // The Kafka consumer group Id being used. + ConsumerGroupId *string `pulumi:"consumerGroupId"` + // The name of the Rockset Kafka integration. + IntegrationName string `pulumi:"integrationName"` + // The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + OffsetResetPolicy *string `pulumi:"offsetResetPolicy"` + Statuses []KafkaCollectionSourceStatus `pulumi:"statuses"` + // Name of Kafka topic to be tailed. + TopicName string `pulumi:"topicName"` + // Whether to use v3 integration. Required if the kafka integration uses v3. + UseV3 *bool `pulumi:"useV3"` +} + +// KafkaCollectionSourceInput is an input type that accepts KafkaCollectionSourceArgs and KafkaCollectionSourceOutput values. +// You can construct a concrete instance of `KafkaCollectionSourceInput` via: +// +// KafkaCollectionSourceArgs{...} +type KafkaCollectionSourceInput interface { + pulumi.Input + + ToKafkaCollectionSourceOutput() KafkaCollectionSourceOutput + ToKafkaCollectionSourceOutputWithContext(context.Context) KafkaCollectionSourceOutput +} + +type KafkaCollectionSourceArgs struct { + // The Kafka consumer group Id being used. + ConsumerGroupId pulumi.StringPtrInput `pulumi:"consumerGroupId"` + // The name of the Rockset Kafka integration. + IntegrationName pulumi.StringInput `pulumi:"integrationName"` + // The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + OffsetResetPolicy pulumi.StringPtrInput `pulumi:"offsetResetPolicy"` + Statuses KafkaCollectionSourceStatusArrayInput `pulumi:"statuses"` + // Name of Kafka topic to be tailed. + TopicName pulumi.StringInput `pulumi:"topicName"` + // Whether to use v3 integration. Required if the kafka integration uses v3. + UseV3 pulumi.BoolPtrInput `pulumi:"useV3"` +} + +func (KafkaCollectionSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KafkaCollectionSource)(nil)).Elem() +} + +func (i KafkaCollectionSourceArgs) ToKafkaCollectionSourceOutput() KafkaCollectionSourceOutput { + return i.ToKafkaCollectionSourceOutputWithContext(context.Background()) +} + +func (i KafkaCollectionSourceArgs) ToKafkaCollectionSourceOutputWithContext(ctx context.Context) KafkaCollectionSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionSourceOutput) +} + +// KafkaCollectionSourceArrayInput is an input type that accepts KafkaCollectionSourceArray and KafkaCollectionSourceArrayOutput values. +// You can construct a concrete instance of `KafkaCollectionSourceArrayInput` via: +// +// KafkaCollectionSourceArray{ KafkaCollectionSourceArgs{...} } +type KafkaCollectionSourceArrayInput interface { + pulumi.Input + + ToKafkaCollectionSourceArrayOutput() KafkaCollectionSourceArrayOutput + ToKafkaCollectionSourceArrayOutputWithContext(context.Context) KafkaCollectionSourceArrayOutput +} + +type KafkaCollectionSourceArray []KafkaCollectionSourceInput + +func (KafkaCollectionSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KafkaCollectionSource)(nil)).Elem() +} + +func (i KafkaCollectionSourceArray) ToKafkaCollectionSourceArrayOutput() KafkaCollectionSourceArrayOutput { + return i.ToKafkaCollectionSourceArrayOutputWithContext(context.Background()) +} + +func (i KafkaCollectionSourceArray) ToKafkaCollectionSourceArrayOutputWithContext(ctx context.Context) KafkaCollectionSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionSourceArrayOutput) +} + +type KafkaCollectionSourceOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KafkaCollectionSource)(nil)).Elem() +} + +func (o KafkaCollectionSourceOutput) ToKafkaCollectionSourceOutput() KafkaCollectionSourceOutput { + return o +} + +func (o KafkaCollectionSourceOutput) ToKafkaCollectionSourceOutputWithContext(ctx context.Context) KafkaCollectionSourceOutput { + return o +} + +// The Kafka consumer group Id being used. +func (o KafkaCollectionSourceOutput) ConsumerGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v KafkaCollectionSource) *string { return v.ConsumerGroupId }).(pulumi.StringPtrOutput) +} + +// The name of the Rockset Kafka integration. +func (o KafkaCollectionSourceOutput) IntegrationName() pulumi.StringOutput { + return o.ApplyT(func(v KafkaCollectionSource) string { return v.IntegrationName }).(pulumi.StringOutput) +} + +// The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. +func (o KafkaCollectionSourceOutput) OffsetResetPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v KafkaCollectionSource) *string { return v.OffsetResetPolicy }).(pulumi.StringPtrOutput) +} + +func (o KafkaCollectionSourceOutput) Statuses() KafkaCollectionSourceStatusArrayOutput { + return o.ApplyT(func(v KafkaCollectionSource) []KafkaCollectionSourceStatus { return v.Statuses }).(KafkaCollectionSourceStatusArrayOutput) +} + +// Name of Kafka topic to be tailed. +func (o KafkaCollectionSourceOutput) TopicName() pulumi.StringOutput { + return o.ApplyT(func(v KafkaCollectionSource) string { return v.TopicName }).(pulumi.StringOutput) +} + +// Whether to use v3 integration. Required if the kafka integration uses v3. +func (o KafkaCollectionSourceOutput) UseV3() pulumi.BoolPtrOutput { + return o.ApplyT(func(v KafkaCollectionSource) *bool { return v.UseV3 }).(pulumi.BoolPtrOutput) +} + +type KafkaCollectionSourceArrayOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KafkaCollectionSource)(nil)).Elem() +} + +func (o KafkaCollectionSourceArrayOutput) ToKafkaCollectionSourceArrayOutput() KafkaCollectionSourceArrayOutput { + return o +} + +func (o KafkaCollectionSourceArrayOutput) ToKafkaCollectionSourceArrayOutputWithContext(ctx context.Context) KafkaCollectionSourceArrayOutput { + return o +} + +func (o KafkaCollectionSourceArrayOutput) Index(i pulumi.IntInput) KafkaCollectionSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KafkaCollectionSource { + return vs[0].([]KafkaCollectionSource)[vs[1].(int)] + }).(KafkaCollectionSourceOutput) +} + +type KafkaCollectionSourceStatus struct { + DocumentsProcessed *int `pulumi:"documentsProcessed"` + LastConsumedTime *string `pulumi:"lastConsumedTime"` + Partitions []KafkaCollectionSourceStatusPartition `pulumi:"partitions"` + State *string `pulumi:"state"` +} + +// KafkaCollectionSourceStatusInput is an input type that accepts KafkaCollectionSourceStatusArgs and KafkaCollectionSourceStatusOutput values. +// You can construct a concrete instance of `KafkaCollectionSourceStatusInput` via: +// +// KafkaCollectionSourceStatusArgs{...} +type KafkaCollectionSourceStatusInput interface { + pulumi.Input + + ToKafkaCollectionSourceStatusOutput() KafkaCollectionSourceStatusOutput + ToKafkaCollectionSourceStatusOutputWithContext(context.Context) KafkaCollectionSourceStatusOutput +} + +type KafkaCollectionSourceStatusArgs struct { + DocumentsProcessed pulumi.IntPtrInput `pulumi:"documentsProcessed"` + LastConsumedTime pulumi.StringPtrInput `pulumi:"lastConsumedTime"` + Partitions KafkaCollectionSourceStatusPartitionArrayInput `pulumi:"partitions"` + State pulumi.StringPtrInput `pulumi:"state"` +} + +func (KafkaCollectionSourceStatusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KafkaCollectionSourceStatus)(nil)).Elem() +} + +func (i KafkaCollectionSourceStatusArgs) ToKafkaCollectionSourceStatusOutput() KafkaCollectionSourceStatusOutput { + return i.ToKafkaCollectionSourceStatusOutputWithContext(context.Background()) +} + +func (i KafkaCollectionSourceStatusArgs) ToKafkaCollectionSourceStatusOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionSourceStatusOutput) +} + +// KafkaCollectionSourceStatusArrayInput is an input type that accepts KafkaCollectionSourceStatusArray and KafkaCollectionSourceStatusArrayOutput values. +// You can construct a concrete instance of `KafkaCollectionSourceStatusArrayInput` via: +// +// KafkaCollectionSourceStatusArray{ KafkaCollectionSourceStatusArgs{...} } +type KafkaCollectionSourceStatusArrayInput interface { + pulumi.Input + + ToKafkaCollectionSourceStatusArrayOutput() KafkaCollectionSourceStatusArrayOutput + ToKafkaCollectionSourceStatusArrayOutputWithContext(context.Context) KafkaCollectionSourceStatusArrayOutput +} + +type KafkaCollectionSourceStatusArray []KafkaCollectionSourceStatusInput + +func (KafkaCollectionSourceStatusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KafkaCollectionSourceStatus)(nil)).Elem() +} + +func (i KafkaCollectionSourceStatusArray) ToKafkaCollectionSourceStatusArrayOutput() KafkaCollectionSourceStatusArrayOutput { + return i.ToKafkaCollectionSourceStatusArrayOutputWithContext(context.Background()) +} + +func (i KafkaCollectionSourceStatusArray) ToKafkaCollectionSourceStatusArrayOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionSourceStatusArrayOutput) +} + +type KafkaCollectionSourceStatusOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionSourceStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KafkaCollectionSourceStatus)(nil)).Elem() +} + +func (o KafkaCollectionSourceStatusOutput) ToKafkaCollectionSourceStatusOutput() KafkaCollectionSourceStatusOutput { + return o +} + +func (o KafkaCollectionSourceStatusOutput) ToKafkaCollectionSourceStatusOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusOutput { + return o +} + +func (o KafkaCollectionSourceStatusOutput) DocumentsProcessed() pulumi.IntPtrOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatus) *int { return v.DocumentsProcessed }).(pulumi.IntPtrOutput) +} + +func (o KafkaCollectionSourceStatusOutput) LastConsumedTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatus) *string { return v.LastConsumedTime }).(pulumi.StringPtrOutput) +} + +func (o KafkaCollectionSourceStatusOutput) Partitions() KafkaCollectionSourceStatusPartitionArrayOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatus) []KafkaCollectionSourceStatusPartition { return v.Partitions }).(KafkaCollectionSourceStatusPartitionArrayOutput) +} + +func (o KafkaCollectionSourceStatusOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatus) *string { return v.State }).(pulumi.StringPtrOutput) +} + +type KafkaCollectionSourceStatusArrayOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionSourceStatusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KafkaCollectionSourceStatus)(nil)).Elem() +} + +func (o KafkaCollectionSourceStatusArrayOutput) ToKafkaCollectionSourceStatusArrayOutput() KafkaCollectionSourceStatusArrayOutput { + return o +} + +func (o KafkaCollectionSourceStatusArrayOutput) ToKafkaCollectionSourceStatusArrayOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusArrayOutput { + return o +} + +func (o KafkaCollectionSourceStatusArrayOutput) Index(i pulumi.IntInput) KafkaCollectionSourceStatusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KafkaCollectionSourceStatus { + return vs[0].([]KafkaCollectionSourceStatus)[vs[1].(int)] + }).(KafkaCollectionSourceStatusOutput) +} + +type KafkaCollectionSourceStatusPartition struct { + OffsetLag *int `pulumi:"offsetLag"` + PartitionNumber *int `pulumi:"partitionNumber"` + PartitionOffset *int `pulumi:"partitionOffset"` +} + +// KafkaCollectionSourceStatusPartitionInput is an input type that accepts KafkaCollectionSourceStatusPartitionArgs and KafkaCollectionSourceStatusPartitionOutput values. +// You can construct a concrete instance of `KafkaCollectionSourceStatusPartitionInput` via: +// +// KafkaCollectionSourceStatusPartitionArgs{...} +type KafkaCollectionSourceStatusPartitionInput interface { + pulumi.Input + + ToKafkaCollectionSourceStatusPartitionOutput() KafkaCollectionSourceStatusPartitionOutput + ToKafkaCollectionSourceStatusPartitionOutputWithContext(context.Context) KafkaCollectionSourceStatusPartitionOutput +} + +type KafkaCollectionSourceStatusPartitionArgs struct { + OffsetLag pulumi.IntPtrInput `pulumi:"offsetLag"` + PartitionNumber pulumi.IntPtrInput `pulumi:"partitionNumber"` + PartitionOffset pulumi.IntPtrInput `pulumi:"partitionOffset"` +} + +func (KafkaCollectionSourceStatusPartitionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KafkaCollectionSourceStatusPartition)(nil)).Elem() +} + +func (i KafkaCollectionSourceStatusPartitionArgs) ToKafkaCollectionSourceStatusPartitionOutput() KafkaCollectionSourceStatusPartitionOutput { + return i.ToKafkaCollectionSourceStatusPartitionOutputWithContext(context.Background()) +} + +func (i KafkaCollectionSourceStatusPartitionArgs) ToKafkaCollectionSourceStatusPartitionOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusPartitionOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionSourceStatusPartitionOutput) +} + +// KafkaCollectionSourceStatusPartitionArrayInput is an input type that accepts KafkaCollectionSourceStatusPartitionArray and KafkaCollectionSourceStatusPartitionArrayOutput values. +// You can construct a concrete instance of `KafkaCollectionSourceStatusPartitionArrayInput` via: +// +// KafkaCollectionSourceStatusPartitionArray{ KafkaCollectionSourceStatusPartitionArgs{...} } +type KafkaCollectionSourceStatusPartitionArrayInput interface { + pulumi.Input + + ToKafkaCollectionSourceStatusPartitionArrayOutput() KafkaCollectionSourceStatusPartitionArrayOutput + ToKafkaCollectionSourceStatusPartitionArrayOutputWithContext(context.Context) KafkaCollectionSourceStatusPartitionArrayOutput +} + +type KafkaCollectionSourceStatusPartitionArray []KafkaCollectionSourceStatusPartitionInput + +func (KafkaCollectionSourceStatusPartitionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KafkaCollectionSourceStatusPartition)(nil)).Elem() +} + +func (i KafkaCollectionSourceStatusPartitionArray) ToKafkaCollectionSourceStatusPartitionArrayOutput() KafkaCollectionSourceStatusPartitionArrayOutput { + return i.ToKafkaCollectionSourceStatusPartitionArrayOutputWithContext(context.Background()) +} + +func (i KafkaCollectionSourceStatusPartitionArray) ToKafkaCollectionSourceStatusPartitionArrayOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusPartitionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KafkaCollectionSourceStatusPartitionArrayOutput) +} + +type KafkaCollectionSourceStatusPartitionOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionSourceStatusPartitionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KafkaCollectionSourceStatusPartition)(nil)).Elem() +} + +func (o KafkaCollectionSourceStatusPartitionOutput) ToKafkaCollectionSourceStatusPartitionOutput() KafkaCollectionSourceStatusPartitionOutput { + return o +} + +func (o KafkaCollectionSourceStatusPartitionOutput) ToKafkaCollectionSourceStatusPartitionOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusPartitionOutput { + return o +} + +func (o KafkaCollectionSourceStatusPartitionOutput) OffsetLag() pulumi.IntPtrOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatusPartition) *int { return v.OffsetLag }).(pulumi.IntPtrOutput) +} + +func (o KafkaCollectionSourceStatusPartitionOutput) PartitionNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatusPartition) *int { return v.PartitionNumber }).(pulumi.IntPtrOutput) +} + +func (o KafkaCollectionSourceStatusPartitionOutput) PartitionOffset() pulumi.IntPtrOutput { + return o.ApplyT(func(v KafkaCollectionSourceStatusPartition) *int { return v.PartitionOffset }).(pulumi.IntPtrOutput) +} + +type KafkaCollectionSourceStatusPartitionArrayOutput struct{ *pulumi.OutputState } + +func (KafkaCollectionSourceStatusPartitionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KafkaCollectionSourceStatusPartition)(nil)).Elem() +} + +func (o KafkaCollectionSourceStatusPartitionArrayOutput) ToKafkaCollectionSourceStatusPartitionArrayOutput() KafkaCollectionSourceStatusPartitionArrayOutput { + return o +} + +func (o KafkaCollectionSourceStatusPartitionArrayOutput) ToKafkaCollectionSourceStatusPartitionArrayOutputWithContext(ctx context.Context) KafkaCollectionSourceStatusPartitionArrayOutput { + return o +} + +func (o KafkaCollectionSourceStatusPartitionArrayOutput) Index(i pulumi.IntInput) KafkaCollectionSourceStatusPartitionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KafkaCollectionSourceStatusPartition { + return vs[0].([]KafkaCollectionSourceStatusPartition)[vs[1].(int)] + }).(KafkaCollectionSourceStatusPartitionOutput) +} + +type KinesisCollectionSource struct { + // AWS region name for the Kinesis stream, by default us-west-2 is used + AwsRegion *string `pulumi:"awsRegion"` + // Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + DmsPrimaryKeys []string `pulumi:"dmsPrimaryKeys"` + // Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + Format string `pulumi:"format"` + // The name of the Rockset Kinesis integration. + IntegrationName string `pulumi:"integrationName"` + // Name of Kinesis stream. + StreamName string `pulumi:"streamName"` +} + +// KinesisCollectionSourceInput is an input type that accepts KinesisCollectionSourceArgs and KinesisCollectionSourceOutput values. +// You can construct a concrete instance of `KinesisCollectionSourceInput` via: +// +// KinesisCollectionSourceArgs{...} +type KinesisCollectionSourceInput interface { + pulumi.Input + + ToKinesisCollectionSourceOutput() KinesisCollectionSourceOutput + ToKinesisCollectionSourceOutputWithContext(context.Context) KinesisCollectionSourceOutput +} + +type KinesisCollectionSourceArgs struct { + // AWS region name for the Kinesis stream, by default us-west-2 is used + AwsRegion pulumi.StringPtrInput `pulumi:"awsRegion"` + // Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + DmsPrimaryKeys pulumi.StringArrayInput `pulumi:"dmsPrimaryKeys"` + // Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + Format pulumi.StringInput `pulumi:"format"` + // The name of the Rockset Kinesis integration. + IntegrationName pulumi.StringInput `pulumi:"integrationName"` + // Name of Kinesis stream. + StreamName pulumi.StringInput `pulumi:"streamName"` +} + +func (KinesisCollectionSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KinesisCollectionSource)(nil)).Elem() +} + +func (i KinesisCollectionSourceArgs) ToKinesisCollectionSourceOutput() KinesisCollectionSourceOutput { + return i.ToKinesisCollectionSourceOutputWithContext(context.Background()) +} + +func (i KinesisCollectionSourceArgs) ToKinesisCollectionSourceOutputWithContext(ctx context.Context) KinesisCollectionSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisCollectionSourceOutput) +} + +// KinesisCollectionSourceArrayInput is an input type that accepts KinesisCollectionSourceArray and KinesisCollectionSourceArrayOutput values. +// You can construct a concrete instance of `KinesisCollectionSourceArrayInput` via: +// +// KinesisCollectionSourceArray{ KinesisCollectionSourceArgs{...} } +type KinesisCollectionSourceArrayInput interface { + pulumi.Input + + ToKinesisCollectionSourceArrayOutput() KinesisCollectionSourceArrayOutput + ToKinesisCollectionSourceArrayOutputWithContext(context.Context) KinesisCollectionSourceArrayOutput +} + +type KinesisCollectionSourceArray []KinesisCollectionSourceInput + +func (KinesisCollectionSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KinesisCollectionSource)(nil)).Elem() +} + +func (i KinesisCollectionSourceArray) ToKinesisCollectionSourceArrayOutput() KinesisCollectionSourceArrayOutput { + return i.ToKinesisCollectionSourceArrayOutputWithContext(context.Background()) +} + +func (i KinesisCollectionSourceArray) ToKinesisCollectionSourceArrayOutputWithContext(ctx context.Context) KinesisCollectionSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KinesisCollectionSourceArrayOutput) +} + +type KinesisCollectionSourceOutput struct{ *pulumi.OutputState } + +func (KinesisCollectionSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KinesisCollectionSource)(nil)).Elem() +} + +func (o KinesisCollectionSourceOutput) ToKinesisCollectionSourceOutput() KinesisCollectionSourceOutput { + return o +} + +func (o KinesisCollectionSourceOutput) ToKinesisCollectionSourceOutputWithContext(ctx context.Context) KinesisCollectionSourceOutput { + return o +} + +// AWS region name for the Kinesis stream, by default us-west-2 is used +func (o KinesisCollectionSourceOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v KinesisCollectionSource) *string { return v.AwsRegion }).(pulumi.StringPtrOutput) +} + +// Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. +func (o KinesisCollectionSourceOutput) DmsPrimaryKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v KinesisCollectionSource) []string { return v.DmsPrimaryKeys }).(pulumi.StringArrayOutput) +} + +// Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. +func (o KinesisCollectionSourceOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v KinesisCollectionSource) string { return v.Format }).(pulumi.StringOutput) +} + +// The name of the Rockset Kinesis integration. +func (o KinesisCollectionSourceOutput) IntegrationName() pulumi.StringOutput { + return o.ApplyT(func(v KinesisCollectionSource) string { return v.IntegrationName }).(pulumi.StringOutput) +} + +// Name of Kinesis stream. +func (o KinesisCollectionSourceOutput) StreamName() pulumi.StringOutput { + return o.ApplyT(func(v KinesisCollectionSource) string { return v.StreamName }).(pulumi.StringOutput) +} + +type KinesisCollectionSourceArrayOutput struct{ *pulumi.OutputState } + +func (KinesisCollectionSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KinesisCollectionSource)(nil)).Elem() +} + +func (o KinesisCollectionSourceArrayOutput) ToKinesisCollectionSourceArrayOutput() KinesisCollectionSourceArrayOutput { + return o +} + +func (o KinesisCollectionSourceArrayOutput) ToKinesisCollectionSourceArrayOutputWithContext(ctx context.Context) KinesisCollectionSourceArrayOutput { + return o +} + +func (o KinesisCollectionSourceArrayOutput) Index(i pulumi.IntInput) KinesisCollectionSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KinesisCollectionSource { + return vs[0].([]KinesisCollectionSource)[vs[1].(int)] + }).(KinesisCollectionSourceOutput) +} + +type MongodbCollectionSource struct { + // MongoDB collection name of the target collection. + CollectionName string `pulumi:"collectionName"` + // MongoDB database name containing the target collection. + DatabaseName string `pulumi:"databaseName"` + // The name of the Rockset MongoDB integration. + IntegrationName string `pulumi:"integrationName"` + RetrieveFullDocument *bool `pulumi:"retrieveFullDocument"` + // MongoDB scan end time. + ScanEndTime *string `pulumi:"scanEndTime"` + // Number of records inserted using scan. + ScanRecordsProcessed *int `pulumi:"scanRecordsProcessed"` + // MongoDB scan start time. + ScanStartTime *string `pulumi:"scanStartTime"` + // Number of records in MongoDB table at time of scan. + ScanTotalRecords *int `pulumi:"scanTotalRecords"` + // State of current ingest for this table. + State *string `pulumi:"state"` + // ISO-8601 date when delete from source was last processed. + StreamLastDeleteProcessedAt *string `pulumi:"streamLastDeleteProcessedAt"` + // ISO-8601 date when new insert from source was last processed. + StreamLastInsertProcessedAt *string `pulumi:"streamLastInsertProcessedAt"` + // ISO-8601 date when update from source was last processed. + StreamLastUpdateProcessedAt *string `pulumi:"streamLastUpdateProcessedAt"` + // Number of new records deleted using stream. + StreamRecordsDeleted *int `pulumi:"streamRecordsDeleted"` + // Number of new records inserted using stream. + StreamRecordsInserted *int `pulumi:"streamRecordsInserted"` + // Number of new records updated using stream. + StreamRecordsUpdated *int `pulumi:"streamRecordsUpdated"` +} + +// MongodbCollectionSourceInput is an input type that accepts MongodbCollectionSourceArgs and MongodbCollectionSourceOutput values. +// You can construct a concrete instance of `MongodbCollectionSourceInput` via: +// +// MongodbCollectionSourceArgs{...} +type MongodbCollectionSourceInput interface { + pulumi.Input + + ToMongodbCollectionSourceOutput() MongodbCollectionSourceOutput + ToMongodbCollectionSourceOutputWithContext(context.Context) MongodbCollectionSourceOutput +} + +type MongodbCollectionSourceArgs struct { + // MongoDB collection name of the target collection. + CollectionName pulumi.StringInput `pulumi:"collectionName"` + // MongoDB database name containing the target collection. + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + // The name of the Rockset MongoDB integration. + IntegrationName pulumi.StringInput `pulumi:"integrationName"` + RetrieveFullDocument pulumi.BoolPtrInput `pulumi:"retrieveFullDocument"` + // MongoDB scan end time. + ScanEndTime pulumi.StringPtrInput `pulumi:"scanEndTime"` + // Number of records inserted using scan. + ScanRecordsProcessed pulumi.IntPtrInput `pulumi:"scanRecordsProcessed"` + // MongoDB scan start time. + ScanStartTime pulumi.StringPtrInput `pulumi:"scanStartTime"` + // Number of records in MongoDB table at time of scan. + ScanTotalRecords pulumi.IntPtrInput `pulumi:"scanTotalRecords"` + // State of current ingest for this table. + State pulumi.StringPtrInput `pulumi:"state"` + // ISO-8601 date when delete from source was last processed. + StreamLastDeleteProcessedAt pulumi.StringPtrInput `pulumi:"streamLastDeleteProcessedAt"` + // ISO-8601 date when new insert from source was last processed. + StreamLastInsertProcessedAt pulumi.StringPtrInput `pulumi:"streamLastInsertProcessedAt"` + // ISO-8601 date when update from source was last processed. + StreamLastUpdateProcessedAt pulumi.StringPtrInput `pulumi:"streamLastUpdateProcessedAt"` + // Number of new records deleted using stream. + StreamRecordsDeleted pulumi.IntPtrInput `pulumi:"streamRecordsDeleted"` + // Number of new records inserted using stream. + StreamRecordsInserted pulumi.IntPtrInput `pulumi:"streamRecordsInserted"` + // Number of new records updated using stream. + StreamRecordsUpdated pulumi.IntPtrInput `pulumi:"streamRecordsUpdated"` +} + +func (MongodbCollectionSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbCollectionSource)(nil)).Elem() +} + +func (i MongodbCollectionSourceArgs) ToMongodbCollectionSourceOutput() MongodbCollectionSourceOutput { + return i.ToMongodbCollectionSourceOutputWithContext(context.Background()) +} + +func (i MongodbCollectionSourceArgs) ToMongodbCollectionSourceOutputWithContext(ctx context.Context) MongodbCollectionSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbCollectionSourceOutput) +} + +// MongodbCollectionSourceArrayInput is an input type that accepts MongodbCollectionSourceArray and MongodbCollectionSourceArrayOutput values. +// You can construct a concrete instance of `MongodbCollectionSourceArrayInput` via: +// +// MongodbCollectionSourceArray{ MongodbCollectionSourceArgs{...} } +type MongodbCollectionSourceArrayInput interface { + pulumi.Input + + ToMongodbCollectionSourceArrayOutput() MongodbCollectionSourceArrayOutput + ToMongodbCollectionSourceArrayOutputWithContext(context.Context) MongodbCollectionSourceArrayOutput +} + +type MongodbCollectionSourceArray []MongodbCollectionSourceInput + +func (MongodbCollectionSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MongodbCollectionSource)(nil)).Elem() +} + +func (i MongodbCollectionSourceArray) ToMongodbCollectionSourceArrayOutput() MongodbCollectionSourceArrayOutput { + return i.ToMongodbCollectionSourceArrayOutputWithContext(context.Background()) +} + +func (i MongodbCollectionSourceArray) ToMongodbCollectionSourceArrayOutputWithContext(ctx context.Context) MongodbCollectionSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbCollectionSourceArrayOutput) +} + +type MongodbCollectionSourceOutput struct{ *pulumi.OutputState } + +func (MongodbCollectionSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbCollectionSource)(nil)).Elem() +} + +func (o MongodbCollectionSourceOutput) ToMongodbCollectionSourceOutput() MongodbCollectionSourceOutput { + return o +} + +func (o MongodbCollectionSourceOutput) ToMongodbCollectionSourceOutputWithContext(ctx context.Context) MongodbCollectionSourceOutput { + return o +} + +// MongoDB collection name of the target collection. +func (o MongodbCollectionSourceOutput) CollectionName() pulumi.StringOutput { + return o.ApplyT(func(v MongodbCollectionSource) string { return v.CollectionName }).(pulumi.StringOutput) +} + +// MongoDB database name containing the target collection. +func (o MongodbCollectionSourceOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v MongodbCollectionSource) string { return v.DatabaseName }).(pulumi.StringOutput) +} + +// The name of the Rockset MongoDB integration. +func (o MongodbCollectionSourceOutput) IntegrationName() pulumi.StringOutput { + return o.ApplyT(func(v MongodbCollectionSource) string { return v.IntegrationName }).(pulumi.StringOutput) +} + +func (o MongodbCollectionSourceOutput) RetrieveFullDocument() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *bool { return v.RetrieveFullDocument }).(pulumi.BoolPtrOutput) +} + +// MongoDB scan end time. +func (o MongodbCollectionSourceOutput) ScanEndTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *string { return v.ScanEndTime }).(pulumi.StringPtrOutput) +} + +// Number of records inserted using scan. +func (o MongodbCollectionSourceOutput) ScanRecordsProcessed() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *int { return v.ScanRecordsProcessed }).(pulumi.IntPtrOutput) +} + +// MongoDB scan start time. +func (o MongodbCollectionSourceOutput) ScanStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *string { return v.ScanStartTime }).(pulumi.StringPtrOutput) +} + +// Number of records in MongoDB table at time of scan. +func (o MongodbCollectionSourceOutput) ScanTotalRecords() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *int { return v.ScanTotalRecords }).(pulumi.IntPtrOutput) +} + +// State of current ingest for this table. +func (o MongodbCollectionSourceOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *string { return v.State }).(pulumi.StringPtrOutput) +} + +// ISO-8601 date when delete from source was last processed. +func (o MongodbCollectionSourceOutput) StreamLastDeleteProcessedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *string { return v.StreamLastDeleteProcessedAt }).(pulumi.StringPtrOutput) +} + +// ISO-8601 date when new insert from source was last processed. +func (o MongodbCollectionSourceOutput) StreamLastInsertProcessedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *string { return v.StreamLastInsertProcessedAt }).(pulumi.StringPtrOutput) +} + +// ISO-8601 date when update from source was last processed. +func (o MongodbCollectionSourceOutput) StreamLastUpdateProcessedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *string { return v.StreamLastUpdateProcessedAt }).(pulumi.StringPtrOutput) +} + +// Number of new records deleted using stream. +func (o MongodbCollectionSourceOutput) StreamRecordsDeleted() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *int { return v.StreamRecordsDeleted }).(pulumi.IntPtrOutput) +} + +// Number of new records inserted using stream. +func (o MongodbCollectionSourceOutput) StreamRecordsInserted() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *int { return v.StreamRecordsInserted }).(pulumi.IntPtrOutput) +} + +// Number of new records updated using stream. +func (o MongodbCollectionSourceOutput) StreamRecordsUpdated() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbCollectionSource) *int { return v.StreamRecordsUpdated }).(pulumi.IntPtrOutput) +} + +type MongodbCollectionSourceArrayOutput struct{ *pulumi.OutputState } + +func (MongodbCollectionSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MongodbCollectionSource)(nil)).Elem() +} + +func (o MongodbCollectionSourceArrayOutput) ToMongodbCollectionSourceArrayOutput() MongodbCollectionSourceArrayOutput { + return o +} + +func (o MongodbCollectionSourceArrayOutput) ToMongodbCollectionSourceArrayOutputWithContext(ctx context.Context) MongodbCollectionSourceArrayOutput { + return o +} + +func (o MongodbCollectionSourceArrayOutput) Index(i pulumi.IntInput) MongodbCollectionSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MongodbCollectionSource { + return vs[0].([]MongodbCollectionSource)[vs[1].(int)] + }).(MongodbCollectionSourceOutput) +} + +type QueryLambdaSql struct { + DefaultParameters []QueryLambdaSqlDefaultParameter `pulumi:"defaultParameters"` + Query string `pulumi:"query"` +} + +// QueryLambdaSqlInput is an input type that accepts QueryLambdaSqlArgs and QueryLambdaSqlOutput values. +// You can construct a concrete instance of `QueryLambdaSqlInput` via: +// +// QueryLambdaSqlArgs{...} +type QueryLambdaSqlInput interface { + pulumi.Input + + ToQueryLambdaSqlOutput() QueryLambdaSqlOutput + ToQueryLambdaSqlOutputWithContext(context.Context) QueryLambdaSqlOutput +} + +type QueryLambdaSqlArgs struct { + DefaultParameters QueryLambdaSqlDefaultParameterArrayInput `pulumi:"defaultParameters"` + Query pulumi.StringInput `pulumi:"query"` +} + +func (QueryLambdaSqlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QueryLambdaSql)(nil)).Elem() +} + +func (i QueryLambdaSqlArgs) ToQueryLambdaSqlOutput() QueryLambdaSqlOutput { + return i.ToQueryLambdaSqlOutputWithContext(context.Background()) +} + +func (i QueryLambdaSqlArgs) ToQueryLambdaSqlOutputWithContext(ctx context.Context) QueryLambdaSqlOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaSqlOutput) +} + +// QueryLambdaSqlArrayInput is an input type that accepts QueryLambdaSqlArray and QueryLambdaSqlArrayOutput values. +// You can construct a concrete instance of `QueryLambdaSqlArrayInput` via: +// +// QueryLambdaSqlArray{ QueryLambdaSqlArgs{...} } +type QueryLambdaSqlArrayInput interface { + pulumi.Input + + ToQueryLambdaSqlArrayOutput() QueryLambdaSqlArrayOutput + ToQueryLambdaSqlArrayOutputWithContext(context.Context) QueryLambdaSqlArrayOutput +} + +type QueryLambdaSqlArray []QueryLambdaSqlInput + +func (QueryLambdaSqlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueryLambdaSql)(nil)).Elem() +} + +func (i QueryLambdaSqlArray) ToQueryLambdaSqlArrayOutput() QueryLambdaSqlArrayOutput { + return i.ToQueryLambdaSqlArrayOutputWithContext(context.Background()) +} + +func (i QueryLambdaSqlArray) ToQueryLambdaSqlArrayOutputWithContext(ctx context.Context) QueryLambdaSqlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaSqlArrayOutput) +} + +type QueryLambdaSqlOutput struct{ *pulumi.OutputState } + +func (QueryLambdaSqlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueryLambdaSql)(nil)).Elem() +} + +func (o QueryLambdaSqlOutput) ToQueryLambdaSqlOutput() QueryLambdaSqlOutput { + return o +} + +func (o QueryLambdaSqlOutput) ToQueryLambdaSqlOutputWithContext(ctx context.Context) QueryLambdaSqlOutput { + return o +} + +func (o QueryLambdaSqlOutput) DefaultParameters() QueryLambdaSqlDefaultParameterArrayOutput { + return o.ApplyT(func(v QueryLambdaSql) []QueryLambdaSqlDefaultParameter { return v.DefaultParameters }).(QueryLambdaSqlDefaultParameterArrayOutput) +} + +func (o QueryLambdaSqlOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v QueryLambdaSql) string { return v.Query }).(pulumi.StringOutput) +} + +type QueryLambdaSqlArrayOutput struct{ *pulumi.OutputState } + +func (QueryLambdaSqlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueryLambdaSql)(nil)).Elem() +} + +func (o QueryLambdaSqlArrayOutput) ToQueryLambdaSqlArrayOutput() QueryLambdaSqlArrayOutput { + return o +} + +func (o QueryLambdaSqlArrayOutput) ToQueryLambdaSqlArrayOutputWithContext(ctx context.Context) QueryLambdaSqlArrayOutput { + return o +} + +func (o QueryLambdaSqlArrayOutput) Index(i pulumi.IntInput) QueryLambdaSqlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QueryLambdaSql { + return vs[0].([]QueryLambdaSql)[vs[1].(int)] + }).(QueryLambdaSqlOutput) +} + +type QueryLambdaSqlDefaultParameter struct { + Name string `pulumi:"name"` + Type string `pulumi:"type"` + Value string `pulumi:"value"` +} + +// QueryLambdaSqlDefaultParameterInput is an input type that accepts QueryLambdaSqlDefaultParameterArgs and QueryLambdaSqlDefaultParameterOutput values. +// You can construct a concrete instance of `QueryLambdaSqlDefaultParameterInput` via: +// +// QueryLambdaSqlDefaultParameterArgs{...} +type QueryLambdaSqlDefaultParameterInput interface { + pulumi.Input + + ToQueryLambdaSqlDefaultParameterOutput() QueryLambdaSqlDefaultParameterOutput + ToQueryLambdaSqlDefaultParameterOutputWithContext(context.Context) QueryLambdaSqlDefaultParameterOutput +} + +type QueryLambdaSqlDefaultParameterArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Type pulumi.StringInput `pulumi:"type"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (QueryLambdaSqlDefaultParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QueryLambdaSqlDefaultParameter)(nil)).Elem() +} + +func (i QueryLambdaSqlDefaultParameterArgs) ToQueryLambdaSqlDefaultParameterOutput() QueryLambdaSqlDefaultParameterOutput { + return i.ToQueryLambdaSqlDefaultParameterOutputWithContext(context.Background()) +} + +func (i QueryLambdaSqlDefaultParameterArgs) ToQueryLambdaSqlDefaultParameterOutputWithContext(ctx context.Context) QueryLambdaSqlDefaultParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaSqlDefaultParameterOutput) +} + +// QueryLambdaSqlDefaultParameterArrayInput is an input type that accepts QueryLambdaSqlDefaultParameterArray and QueryLambdaSqlDefaultParameterArrayOutput values. +// You can construct a concrete instance of `QueryLambdaSqlDefaultParameterArrayInput` via: +// +// QueryLambdaSqlDefaultParameterArray{ QueryLambdaSqlDefaultParameterArgs{...} } +type QueryLambdaSqlDefaultParameterArrayInput interface { + pulumi.Input + + ToQueryLambdaSqlDefaultParameterArrayOutput() QueryLambdaSqlDefaultParameterArrayOutput + ToQueryLambdaSqlDefaultParameterArrayOutputWithContext(context.Context) QueryLambdaSqlDefaultParameterArrayOutput +} + +type QueryLambdaSqlDefaultParameterArray []QueryLambdaSqlDefaultParameterInput + +func (QueryLambdaSqlDefaultParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueryLambdaSqlDefaultParameter)(nil)).Elem() +} + +func (i QueryLambdaSqlDefaultParameterArray) ToQueryLambdaSqlDefaultParameterArrayOutput() QueryLambdaSqlDefaultParameterArrayOutput { + return i.ToQueryLambdaSqlDefaultParameterArrayOutputWithContext(context.Background()) +} + +func (i QueryLambdaSqlDefaultParameterArray) ToQueryLambdaSqlDefaultParameterArrayOutputWithContext(ctx context.Context) QueryLambdaSqlDefaultParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaSqlDefaultParameterArrayOutput) +} + +type QueryLambdaSqlDefaultParameterOutput struct{ *pulumi.OutputState } + +func (QueryLambdaSqlDefaultParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueryLambdaSqlDefaultParameter)(nil)).Elem() +} + +func (o QueryLambdaSqlDefaultParameterOutput) ToQueryLambdaSqlDefaultParameterOutput() QueryLambdaSqlDefaultParameterOutput { + return o +} + +func (o QueryLambdaSqlDefaultParameterOutput) ToQueryLambdaSqlDefaultParameterOutputWithContext(ctx context.Context) QueryLambdaSqlDefaultParameterOutput { + return o +} + +func (o QueryLambdaSqlDefaultParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v QueryLambdaSqlDefaultParameter) string { return v.Name }).(pulumi.StringOutput) +} + +func (o QueryLambdaSqlDefaultParameterOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v QueryLambdaSqlDefaultParameter) string { return v.Type }).(pulumi.StringOutput) +} + +func (o QueryLambdaSqlDefaultParameterOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v QueryLambdaSqlDefaultParameter) string { return v.Value }).(pulumi.StringOutput) +} + +type QueryLambdaSqlDefaultParameterArrayOutput struct{ *pulumi.OutputState } + +func (QueryLambdaSqlDefaultParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueryLambdaSqlDefaultParameter)(nil)).Elem() +} + +func (o QueryLambdaSqlDefaultParameterArrayOutput) ToQueryLambdaSqlDefaultParameterArrayOutput() QueryLambdaSqlDefaultParameterArrayOutput { + return o +} + +func (o QueryLambdaSqlDefaultParameterArrayOutput) ToQueryLambdaSqlDefaultParameterArrayOutputWithContext(ctx context.Context) QueryLambdaSqlDefaultParameterArrayOutput { + return o +} + +func (o QueryLambdaSqlDefaultParameterArrayOutput) Index(i pulumi.IntInput) QueryLambdaSqlDefaultParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QueryLambdaSqlDefaultParameter { + return vs[0].([]QueryLambdaSqlDefaultParameter)[vs[1].(int)] + }).(QueryLambdaSqlDefaultParameterOutput) +} + +type RolePrivilege struct { + // The action allowed by this privilege. + Action string `pulumi:"action"` + // Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + Cluster *string `pulumi:"cluster"` + // The resource on which this action is allowed. Defaults to 'All' if not specified. + ResourceName *string `pulumi:"resourceName"` +} + +// RolePrivilegeInput is an input type that accepts RolePrivilegeArgs and RolePrivilegeOutput values. +// You can construct a concrete instance of `RolePrivilegeInput` via: +// +// RolePrivilegeArgs{...} +type RolePrivilegeInput interface { + pulumi.Input + + ToRolePrivilegeOutput() RolePrivilegeOutput + ToRolePrivilegeOutputWithContext(context.Context) RolePrivilegeOutput +} + +type RolePrivilegeArgs struct { + // The action allowed by this privilege. + Action pulumi.StringInput `pulumi:"action"` + // Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + Cluster pulumi.StringPtrInput `pulumi:"cluster"` + // The resource on which this action is allowed. Defaults to 'All' if not specified. + ResourceName pulumi.StringPtrInput `pulumi:"resourceName"` +} + +func (RolePrivilegeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolePrivilege)(nil)).Elem() +} + +func (i RolePrivilegeArgs) ToRolePrivilegeOutput() RolePrivilegeOutput { + return i.ToRolePrivilegeOutputWithContext(context.Background()) +} + +func (i RolePrivilegeArgs) ToRolePrivilegeOutputWithContext(ctx context.Context) RolePrivilegeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolePrivilegeOutput) +} + +// RolePrivilegeArrayInput is an input type that accepts RolePrivilegeArray and RolePrivilegeArrayOutput values. +// You can construct a concrete instance of `RolePrivilegeArrayInput` via: +// +// RolePrivilegeArray{ RolePrivilegeArgs{...} } +type RolePrivilegeArrayInput interface { + pulumi.Input + + ToRolePrivilegeArrayOutput() RolePrivilegeArrayOutput + ToRolePrivilegeArrayOutputWithContext(context.Context) RolePrivilegeArrayOutput +} + +type RolePrivilegeArray []RolePrivilegeInput + +func (RolePrivilegeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolePrivilege)(nil)).Elem() +} + +func (i RolePrivilegeArray) ToRolePrivilegeArrayOutput() RolePrivilegeArrayOutput { + return i.ToRolePrivilegeArrayOutputWithContext(context.Background()) +} + +func (i RolePrivilegeArray) ToRolePrivilegeArrayOutputWithContext(ctx context.Context) RolePrivilegeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolePrivilegeArrayOutput) +} + +type RolePrivilegeOutput struct{ *pulumi.OutputState } + +func (RolePrivilegeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolePrivilege)(nil)).Elem() +} + +func (o RolePrivilegeOutput) ToRolePrivilegeOutput() RolePrivilegeOutput { + return o +} + +func (o RolePrivilegeOutput) ToRolePrivilegeOutputWithContext(ctx context.Context) RolePrivilegeOutput { + return o +} + +// The action allowed by this privilege. +func (o RolePrivilegeOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v RolePrivilege) string { return v.Action }).(pulumi.StringOutput) +} + +// Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. +func (o RolePrivilegeOutput) Cluster() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolePrivilege) *string { return v.Cluster }).(pulumi.StringPtrOutput) +} + +// The resource on which this action is allowed. Defaults to 'All' if not specified. +func (o RolePrivilegeOutput) ResourceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolePrivilege) *string { return v.ResourceName }).(pulumi.StringPtrOutput) +} + +type RolePrivilegeArrayOutput struct{ *pulumi.OutputState } + +func (RolePrivilegeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolePrivilege)(nil)).Elem() +} + +func (o RolePrivilegeArrayOutput) ToRolePrivilegeArrayOutput() RolePrivilegeArrayOutput { + return o +} + +func (o RolePrivilegeArrayOutput) ToRolePrivilegeArrayOutputWithContext(ctx context.Context) RolePrivilegeArrayOutput { + return o +} + +func (o RolePrivilegeArrayOutput) Index(i pulumi.IntInput) RolePrivilegeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RolePrivilege { + return vs[0].([]RolePrivilege)[vs[1].(int)] + }).(RolePrivilegeOutput) +} + +type S3CollectionSource struct { + // S3 bucket containing the target data. + Bucket string `pulumi:"bucket"` + Csv *S3CollectionSourceCsv `pulumi:"csv"` + // Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + Format string `pulumi:"format"` + // The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + IntegrationName string `pulumi:"integrationName"` + // Regex path pattern to S3 keys. + Pattern *string `pulumi:"pattern"` + // Simple path prefix to S3 keys. + // + // Deprecated: use pattern instead + Prefix *string `pulumi:"prefix"` + Xml *S3CollectionSourceXml `pulumi:"xml"` +} + +// S3CollectionSourceInput is an input type that accepts S3CollectionSourceArgs and S3CollectionSourceOutput values. +// You can construct a concrete instance of `S3CollectionSourceInput` via: +// +// S3CollectionSourceArgs{...} +type S3CollectionSourceInput interface { + pulumi.Input + + ToS3CollectionSourceOutput() S3CollectionSourceOutput + ToS3CollectionSourceOutputWithContext(context.Context) S3CollectionSourceOutput +} + +type S3CollectionSourceArgs struct { + // S3 bucket containing the target data. + Bucket pulumi.StringInput `pulumi:"bucket"` + Csv S3CollectionSourceCsvPtrInput `pulumi:"csv"` + // Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + Format pulumi.StringInput `pulumi:"format"` + // The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + IntegrationName pulumi.StringInput `pulumi:"integrationName"` + // Regex path pattern to S3 keys. + Pattern pulumi.StringPtrInput `pulumi:"pattern"` + // Simple path prefix to S3 keys. + // + // Deprecated: use pattern instead + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Xml S3CollectionSourceXmlPtrInput `pulumi:"xml"` +} + +func (S3CollectionSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*S3CollectionSource)(nil)).Elem() +} + +func (i S3CollectionSourceArgs) ToS3CollectionSourceOutput() S3CollectionSourceOutput { + return i.ToS3CollectionSourceOutputWithContext(context.Background()) +} + +func (i S3CollectionSourceArgs) ToS3CollectionSourceOutputWithContext(ctx context.Context) S3CollectionSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceOutput) +} + +// S3CollectionSourceArrayInput is an input type that accepts S3CollectionSourceArray and S3CollectionSourceArrayOutput values. +// You can construct a concrete instance of `S3CollectionSourceArrayInput` via: +// +// S3CollectionSourceArray{ S3CollectionSourceArgs{...} } +type S3CollectionSourceArrayInput interface { + pulumi.Input + + ToS3CollectionSourceArrayOutput() S3CollectionSourceArrayOutput + ToS3CollectionSourceArrayOutputWithContext(context.Context) S3CollectionSourceArrayOutput +} + +type S3CollectionSourceArray []S3CollectionSourceInput + +func (S3CollectionSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]S3CollectionSource)(nil)).Elem() +} + +func (i S3CollectionSourceArray) ToS3CollectionSourceArrayOutput() S3CollectionSourceArrayOutput { + return i.ToS3CollectionSourceArrayOutputWithContext(context.Background()) +} + +func (i S3CollectionSourceArray) ToS3CollectionSourceArrayOutputWithContext(ctx context.Context) S3CollectionSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceArrayOutput) +} + +type S3CollectionSourceOutput struct{ *pulumi.OutputState } + +func (S3CollectionSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*S3CollectionSource)(nil)).Elem() +} + +func (o S3CollectionSourceOutput) ToS3CollectionSourceOutput() S3CollectionSourceOutput { + return o +} + +func (o S3CollectionSourceOutput) ToS3CollectionSourceOutputWithContext(ctx context.Context) S3CollectionSourceOutput { + return o +} + +// S3 bucket containing the target data. +func (o S3CollectionSourceOutput) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v S3CollectionSource) string { return v.Bucket }).(pulumi.StringOutput) +} + +func (o S3CollectionSourceOutput) Csv() S3CollectionSourceCsvPtrOutput { + return o.ApplyT(func(v S3CollectionSource) *S3CollectionSourceCsv { return v.Csv }).(S3CollectionSourceCsvPtrOutput) +} + +// Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. +func (o S3CollectionSourceOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v S3CollectionSource) string { return v.Format }).(pulumi.StringOutput) +} + +// The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. +func (o S3CollectionSourceOutput) IntegrationName() pulumi.StringOutput { + return o.ApplyT(func(v S3CollectionSource) string { return v.IntegrationName }).(pulumi.StringOutput) +} + +// Regex path pattern to S3 keys. +func (o S3CollectionSourceOutput) Pattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSource) *string { return v.Pattern }).(pulumi.StringPtrOutput) +} + +// Simple path prefix to S3 keys. +// +// Deprecated: use pattern instead +func (o S3CollectionSourceOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSource) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o S3CollectionSourceOutput) Xml() S3CollectionSourceXmlPtrOutput { + return o.ApplyT(func(v S3CollectionSource) *S3CollectionSourceXml { return v.Xml }).(S3CollectionSourceXmlPtrOutput) +} + +type S3CollectionSourceArrayOutput struct{ *pulumi.OutputState } + +func (S3CollectionSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]S3CollectionSource)(nil)).Elem() +} + +func (o S3CollectionSourceArrayOutput) ToS3CollectionSourceArrayOutput() S3CollectionSourceArrayOutput { + return o +} + +func (o S3CollectionSourceArrayOutput) ToS3CollectionSourceArrayOutputWithContext(ctx context.Context) S3CollectionSourceArrayOutput { + return o +} + +func (o S3CollectionSourceArrayOutput) Index(i pulumi.IntInput) S3CollectionSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) S3CollectionSource { + return vs[0].([]S3CollectionSource)[vs[1].(int)] + }).(S3CollectionSourceOutput) +} + +type S3CollectionSourceCsv struct { + // The names of the columns. + ColumnNames []string `pulumi:"columnNames"` + // The types of the columns. + ColumnTypes []string `pulumi:"columnTypes"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding *string `pulumi:"encoding"` + // Escape character removes any special meaning from the character that follows it. Defaults to backslash. + EscapeChar *string `pulumi:"escapeChar"` + // If the first line in every object specifies the column names. + FirstLineAsColumnNames *bool `pulumi:"firstLineAsColumnNames"` + // Character within which a cell value is enclosed. Defaults to double quote. + QuoteChar *string `pulumi:"quoteChar"` + // A single character that is the column separator. + Separator *string `pulumi:"separator"` +} + +// S3CollectionSourceCsvInput is an input type that accepts S3CollectionSourceCsvArgs and S3CollectionSourceCsvOutput values. +// You can construct a concrete instance of `S3CollectionSourceCsvInput` via: +// +// S3CollectionSourceCsvArgs{...} +type S3CollectionSourceCsvInput interface { + pulumi.Input + + ToS3CollectionSourceCsvOutput() S3CollectionSourceCsvOutput + ToS3CollectionSourceCsvOutputWithContext(context.Context) S3CollectionSourceCsvOutput +} + +type S3CollectionSourceCsvArgs struct { + // The names of the columns. + ColumnNames pulumi.StringArrayInput `pulumi:"columnNames"` + // The types of the columns. + ColumnTypes pulumi.StringArrayInput `pulumi:"columnTypes"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + // Escape character removes any special meaning from the character that follows it. Defaults to backslash. + EscapeChar pulumi.StringPtrInput `pulumi:"escapeChar"` + // If the first line in every object specifies the column names. + FirstLineAsColumnNames pulumi.BoolPtrInput `pulumi:"firstLineAsColumnNames"` + // Character within which a cell value is enclosed. Defaults to double quote. + QuoteChar pulumi.StringPtrInput `pulumi:"quoteChar"` + // A single character that is the column separator. + Separator pulumi.StringPtrInput `pulumi:"separator"` +} + +func (S3CollectionSourceCsvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*S3CollectionSourceCsv)(nil)).Elem() +} + +func (i S3CollectionSourceCsvArgs) ToS3CollectionSourceCsvOutput() S3CollectionSourceCsvOutput { + return i.ToS3CollectionSourceCsvOutputWithContext(context.Background()) +} + +func (i S3CollectionSourceCsvArgs) ToS3CollectionSourceCsvOutputWithContext(ctx context.Context) S3CollectionSourceCsvOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceCsvOutput) +} + +func (i S3CollectionSourceCsvArgs) ToS3CollectionSourceCsvPtrOutput() S3CollectionSourceCsvPtrOutput { + return i.ToS3CollectionSourceCsvPtrOutputWithContext(context.Background()) +} + +func (i S3CollectionSourceCsvArgs) ToS3CollectionSourceCsvPtrOutputWithContext(ctx context.Context) S3CollectionSourceCsvPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceCsvOutput).ToS3CollectionSourceCsvPtrOutputWithContext(ctx) +} + +// S3CollectionSourceCsvPtrInput is an input type that accepts S3CollectionSourceCsvArgs, S3CollectionSourceCsvPtr and S3CollectionSourceCsvPtrOutput values. +// You can construct a concrete instance of `S3CollectionSourceCsvPtrInput` via: +// +// S3CollectionSourceCsvArgs{...} +// +// or: +// +// nil +type S3CollectionSourceCsvPtrInput interface { + pulumi.Input + + ToS3CollectionSourceCsvPtrOutput() S3CollectionSourceCsvPtrOutput + ToS3CollectionSourceCsvPtrOutputWithContext(context.Context) S3CollectionSourceCsvPtrOutput +} + +type s3collectionSourceCsvPtrType S3CollectionSourceCsvArgs + +func S3CollectionSourceCsvPtr(v *S3CollectionSourceCsvArgs) S3CollectionSourceCsvPtrInput { + return (*s3collectionSourceCsvPtrType)(v) +} + +func (*s3collectionSourceCsvPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**S3CollectionSourceCsv)(nil)).Elem() +} + +func (i *s3collectionSourceCsvPtrType) ToS3CollectionSourceCsvPtrOutput() S3CollectionSourceCsvPtrOutput { + return i.ToS3CollectionSourceCsvPtrOutputWithContext(context.Background()) +} + +func (i *s3collectionSourceCsvPtrType) ToS3CollectionSourceCsvPtrOutputWithContext(ctx context.Context) S3CollectionSourceCsvPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceCsvPtrOutput) +} + +type S3CollectionSourceCsvOutput struct{ *pulumi.OutputState } + +func (S3CollectionSourceCsvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*S3CollectionSourceCsv)(nil)).Elem() +} + +func (o S3CollectionSourceCsvOutput) ToS3CollectionSourceCsvOutput() S3CollectionSourceCsvOutput { + return o +} + +func (o S3CollectionSourceCsvOutput) ToS3CollectionSourceCsvOutputWithContext(ctx context.Context) S3CollectionSourceCsvOutput { + return o +} + +func (o S3CollectionSourceCsvOutput) ToS3CollectionSourceCsvPtrOutput() S3CollectionSourceCsvPtrOutput { + return o.ToS3CollectionSourceCsvPtrOutputWithContext(context.Background()) +} + +func (o S3CollectionSourceCsvOutput) ToS3CollectionSourceCsvPtrOutputWithContext(ctx context.Context) S3CollectionSourceCsvPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v S3CollectionSourceCsv) *S3CollectionSourceCsv { + return &v + }).(S3CollectionSourceCsvPtrOutput) +} + +// The names of the columns. +func (o S3CollectionSourceCsvOutput) ColumnNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) []string { return v.ColumnNames }).(pulumi.StringArrayOutput) +} + +// The types of the columns. +func (o S3CollectionSourceCsvOutput) ColumnTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) []string { return v.ColumnTypes }).(pulumi.StringArrayOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o S3CollectionSourceCsvOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +// Escape character removes any special meaning from the character that follows it. Defaults to backslash. +func (o S3CollectionSourceCsvOutput) EscapeChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) *string { return v.EscapeChar }).(pulumi.StringPtrOutput) +} + +// If the first line in every object specifies the column names. +func (o S3CollectionSourceCsvOutput) FirstLineAsColumnNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) *bool { return v.FirstLineAsColumnNames }).(pulumi.BoolPtrOutput) +} + +// Character within which a cell value is enclosed. Defaults to double quote. +func (o S3CollectionSourceCsvOutput) QuoteChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) *string { return v.QuoteChar }).(pulumi.StringPtrOutput) +} + +// A single character that is the column separator. +func (o S3CollectionSourceCsvOutput) Separator() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceCsv) *string { return v.Separator }).(pulumi.StringPtrOutput) +} + +type S3CollectionSourceCsvPtrOutput struct{ *pulumi.OutputState } + +func (S3CollectionSourceCsvPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**S3CollectionSourceCsv)(nil)).Elem() +} + +func (o S3CollectionSourceCsvPtrOutput) ToS3CollectionSourceCsvPtrOutput() S3CollectionSourceCsvPtrOutput { + return o +} + +func (o S3CollectionSourceCsvPtrOutput) ToS3CollectionSourceCsvPtrOutputWithContext(ctx context.Context) S3CollectionSourceCsvPtrOutput { + return o +} + +func (o S3CollectionSourceCsvPtrOutput) Elem() S3CollectionSourceCsvOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) S3CollectionSourceCsv { + if v != nil { + return *v + } + var ret S3CollectionSourceCsv + return ret + }).(S3CollectionSourceCsvOutput) +} + +// The names of the columns. +func (o S3CollectionSourceCsvPtrOutput) ColumnNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) []string { + if v == nil { + return nil + } + return v.ColumnNames + }).(pulumi.StringArrayOutput) +} + +// The types of the columns. +func (o S3CollectionSourceCsvPtrOutput) ColumnTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) []string { + if v == nil { + return nil + } + return v.ColumnTypes + }).(pulumi.StringArrayOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o S3CollectionSourceCsvPtrOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.Encoding + }).(pulumi.StringPtrOutput) +} + +// Escape character removes any special meaning from the character that follows it. Defaults to backslash. +func (o S3CollectionSourceCsvPtrOutput) EscapeChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.EscapeChar + }).(pulumi.StringPtrOutput) +} + +// If the first line in every object specifies the column names. +func (o S3CollectionSourceCsvPtrOutput) FirstLineAsColumnNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) *bool { + if v == nil { + return nil + } + return v.FirstLineAsColumnNames + }).(pulumi.BoolPtrOutput) +} + +// Character within which a cell value is enclosed. Defaults to double quote. +func (o S3CollectionSourceCsvPtrOutput) QuoteChar() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.QuoteChar + }).(pulumi.StringPtrOutput) +} + +// A single character that is the column separator. +func (o S3CollectionSourceCsvPtrOutput) Separator() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceCsv) *string { + if v == nil { + return nil + } + return v.Separator + }).(pulumi.StringPtrOutput) +} + +type S3CollectionSourceXml struct { + // Tag to differentiate between attributes and elements. + AttributePrefix *string `pulumi:"attributePrefix"` + // Tags with which documents are identified + DocTag *string `pulumi:"docTag"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding *string `pulumi:"encoding"` + // Tag until which xml is ignored. + RootTag *string `pulumi:"rootTag"` + // Tag used for the value when there are attributes in the element having no child. + ValueTag *string `pulumi:"valueTag"` +} + +// S3CollectionSourceXmlInput is an input type that accepts S3CollectionSourceXmlArgs and S3CollectionSourceXmlOutput values. +// You can construct a concrete instance of `S3CollectionSourceXmlInput` via: +// +// S3CollectionSourceXmlArgs{...} +type S3CollectionSourceXmlInput interface { + pulumi.Input + + ToS3CollectionSourceXmlOutput() S3CollectionSourceXmlOutput + ToS3CollectionSourceXmlOutputWithContext(context.Context) S3CollectionSourceXmlOutput +} + +type S3CollectionSourceXmlArgs struct { + // Tag to differentiate between attributes and elements. + AttributePrefix pulumi.StringPtrInput `pulumi:"attributePrefix"` + // Tags with which documents are identified + DocTag pulumi.StringPtrInput `pulumi:"docTag"` + // Can be one of: UTF-8, ISO*8859*1, UTF-16. + Encoding pulumi.StringPtrInput `pulumi:"encoding"` + // Tag until which xml is ignored. + RootTag pulumi.StringPtrInput `pulumi:"rootTag"` + // Tag used for the value when there are attributes in the element having no child. + ValueTag pulumi.StringPtrInput `pulumi:"valueTag"` +} + +func (S3CollectionSourceXmlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*S3CollectionSourceXml)(nil)).Elem() +} + +func (i S3CollectionSourceXmlArgs) ToS3CollectionSourceXmlOutput() S3CollectionSourceXmlOutput { + return i.ToS3CollectionSourceXmlOutputWithContext(context.Background()) +} + +func (i S3CollectionSourceXmlArgs) ToS3CollectionSourceXmlOutputWithContext(ctx context.Context) S3CollectionSourceXmlOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceXmlOutput) +} + +func (i S3CollectionSourceXmlArgs) ToS3CollectionSourceXmlPtrOutput() S3CollectionSourceXmlPtrOutput { + return i.ToS3CollectionSourceXmlPtrOutputWithContext(context.Background()) +} + +func (i S3CollectionSourceXmlArgs) ToS3CollectionSourceXmlPtrOutputWithContext(ctx context.Context) S3CollectionSourceXmlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceXmlOutput).ToS3CollectionSourceXmlPtrOutputWithContext(ctx) +} + +// S3CollectionSourceXmlPtrInput is an input type that accepts S3CollectionSourceXmlArgs, S3CollectionSourceXmlPtr and S3CollectionSourceXmlPtrOutput values. +// You can construct a concrete instance of `S3CollectionSourceXmlPtrInput` via: +// +// S3CollectionSourceXmlArgs{...} +// +// or: +// +// nil +type S3CollectionSourceXmlPtrInput interface { + pulumi.Input + + ToS3CollectionSourceXmlPtrOutput() S3CollectionSourceXmlPtrOutput + ToS3CollectionSourceXmlPtrOutputWithContext(context.Context) S3CollectionSourceXmlPtrOutput +} + +type s3collectionSourceXmlPtrType S3CollectionSourceXmlArgs + +func S3CollectionSourceXmlPtr(v *S3CollectionSourceXmlArgs) S3CollectionSourceXmlPtrInput { + return (*s3collectionSourceXmlPtrType)(v) +} + +func (*s3collectionSourceXmlPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**S3CollectionSourceXml)(nil)).Elem() +} + +func (i *s3collectionSourceXmlPtrType) ToS3CollectionSourceXmlPtrOutput() S3CollectionSourceXmlPtrOutput { + return i.ToS3CollectionSourceXmlPtrOutputWithContext(context.Background()) +} + +func (i *s3collectionSourceXmlPtrType) ToS3CollectionSourceXmlPtrOutputWithContext(ctx context.Context) S3CollectionSourceXmlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionSourceXmlPtrOutput) +} + +type S3CollectionSourceXmlOutput struct{ *pulumi.OutputState } + +func (S3CollectionSourceXmlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*S3CollectionSourceXml)(nil)).Elem() +} + +func (o S3CollectionSourceXmlOutput) ToS3CollectionSourceXmlOutput() S3CollectionSourceXmlOutput { + return o +} + +func (o S3CollectionSourceXmlOutput) ToS3CollectionSourceXmlOutputWithContext(ctx context.Context) S3CollectionSourceXmlOutput { + return o +} + +func (o S3CollectionSourceXmlOutput) ToS3CollectionSourceXmlPtrOutput() S3CollectionSourceXmlPtrOutput { + return o.ToS3CollectionSourceXmlPtrOutputWithContext(context.Background()) +} + +func (o S3CollectionSourceXmlOutput) ToS3CollectionSourceXmlPtrOutputWithContext(ctx context.Context) S3CollectionSourceXmlPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v S3CollectionSourceXml) *S3CollectionSourceXml { + return &v + }).(S3CollectionSourceXmlPtrOutput) +} + +// Tag to differentiate between attributes and elements. +func (o S3CollectionSourceXmlOutput) AttributePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceXml) *string { return v.AttributePrefix }).(pulumi.StringPtrOutput) +} + +// Tags with which documents are identified +func (o S3CollectionSourceXmlOutput) DocTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceXml) *string { return v.DocTag }).(pulumi.StringPtrOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o S3CollectionSourceXmlOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceXml) *string { return v.Encoding }).(pulumi.StringPtrOutput) +} + +// Tag until which xml is ignored. +func (o S3CollectionSourceXmlOutput) RootTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceXml) *string { return v.RootTag }).(pulumi.StringPtrOutput) +} + +// Tag used for the value when there are attributes in the element having no child. +func (o S3CollectionSourceXmlOutput) ValueTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v S3CollectionSourceXml) *string { return v.ValueTag }).(pulumi.StringPtrOutput) +} + +type S3CollectionSourceXmlPtrOutput struct{ *pulumi.OutputState } + +func (S3CollectionSourceXmlPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**S3CollectionSourceXml)(nil)).Elem() +} + +func (o S3CollectionSourceXmlPtrOutput) ToS3CollectionSourceXmlPtrOutput() S3CollectionSourceXmlPtrOutput { + return o +} + +func (o S3CollectionSourceXmlPtrOutput) ToS3CollectionSourceXmlPtrOutputWithContext(ctx context.Context) S3CollectionSourceXmlPtrOutput { + return o +} + +func (o S3CollectionSourceXmlPtrOutput) Elem() S3CollectionSourceXmlOutput { + return o.ApplyT(func(v *S3CollectionSourceXml) S3CollectionSourceXml { + if v != nil { + return *v + } + var ret S3CollectionSourceXml + return ret + }).(S3CollectionSourceXmlOutput) +} + +// Tag to differentiate between attributes and elements. +func (o S3CollectionSourceXmlPtrOutput) AttributePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceXml) *string { + if v == nil { + return nil + } + return v.AttributePrefix + }).(pulumi.StringPtrOutput) +} + +// Tags with which documents are identified +func (o S3CollectionSourceXmlPtrOutput) DocTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceXml) *string { + if v == nil { + return nil + } + return v.DocTag + }).(pulumi.StringPtrOutput) +} + +// Can be one of: UTF-8, ISO*8859*1, UTF-16. +func (o S3CollectionSourceXmlPtrOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceXml) *string { + if v == nil { + return nil + } + return v.Encoding + }).(pulumi.StringPtrOutput) +} + +// Tag until which xml is ignored. +func (o S3CollectionSourceXmlPtrOutput) RootTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceXml) *string { + if v == nil { + return nil + } + return v.RootTag + }).(pulumi.StringPtrOutput) +} + +// Tag used for the value when there are attributes in the element having no child. +func (o S3CollectionSourceXmlPtrOutput) ValueTag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3CollectionSourceXml) *string { + if v == nil { + return nil + } + return v.ValueTag + }).(pulumi.StringPtrOutput) +} + +type GetAccountCluster struct { + ApiServer string `pulumi:"apiServer"` + AwsRegion string `pulumi:"awsRegion"` + Type string `pulumi:"type"` +} + +// GetAccountClusterInput is an input type that accepts GetAccountClusterArgs and GetAccountClusterOutput values. +// You can construct a concrete instance of `GetAccountClusterInput` via: +// +// GetAccountClusterArgs{...} +type GetAccountClusterInput interface { + pulumi.Input + + ToGetAccountClusterOutput() GetAccountClusterOutput + ToGetAccountClusterOutputWithContext(context.Context) GetAccountClusterOutput +} + +type GetAccountClusterArgs struct { + ApiServer pulumi.StringInput `pulumi:"apiServer"` + AwsRegion pulumi.StringInput `pulumi:"awsRegion"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetAccountClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountCluster)(nil)).Elem() +} + +func (i GetAccountClusterArgs) ToGetAccountClusterOutput() GetAccountClusterOutput { + return i.ToGetAccountClusterOutputWithContext(context.Background()) +} + +func (i GetAccountClusterArgs) ToGetAccountClusterOutputWithContext(ctx context.Context) GetAccountClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountClusterOutput) +} + +// GetAccountClusterArrayInput is an input type that accepts GetAccountClusterArray and GetAccountClusterArrayOutput values. +// You can construct a concrete instance of `GetAccountClusterArrayInput` via: +// +// GetAccountClusterArray{ GetAccountClusterArgs{...} } +type GetAccountClusterArrayInput interface { + pulumi.Input + + ToGetAccountClusterArrayOutput() GetAccountClusterArrayOutput + ToGetAccountClusterArrayOutputWithContext(context.Context) GetAccountClusterArrayOutput +} + +type GetAccountClusterArray []GetAccountClusterInput + +func (GetAccountClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountCluster)(nil)).Elem() +} + +func (i GetAccountClusterArray) ToGetAccountClusterArrayOutput() GetAccountClusterArrayOutput { + return i.ToGetAccountClusterArrayOutputWithContext(context.Background()) +} + +func (i GetAccountClusterArray) ToGetAccountClusterArrayOutputWithContext(ctx context.Context) GetAccountClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountClusterArrayOutput) +} + +type GetAccountClusterOutput struct{ *pulumi.OutputState } + +func (GetAccountClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountCluster)(nil)).Elem() +} + +func (o GetAccountClusterOutput) ToGetAccountClusterOutput() GetAccountClusterOutput { + return o +} + +func (o GetAccountClusterOutput) ToGetAccountClusterOutputWithContext(ctx context.Context) GetAccountClusterOutput { + return o +} + +func (o GetAccountClusterOutput) ApiServer() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountCluster) string { return v.ApiServer }).(pulumi.StringOutput) +} + +func (o GetAccountClusterOutput) AwsRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountCluster) string { return v.AwsRegion }).(pulumi.StringOutput) +} + +func (o GetAccountClusterOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountCluster) string { return v.Type }).(pulumi.StringOutput) +} + +type GetAccountClusterArrayOutput struct{ *pulumi.OutputState } + +func (GetAccountClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountCluster)(nil)).Elem() +} + +func (o GetAccountClusterArrayOutput) ToGetAccountClusterArrayOutput() GetAccountClusterArrayOutput { + return o +} + +func (o GetAccountClusterArrayOutput) ToGetAccountClusterArrayOutputWithContext(ctx context.Context) GetAccountClusterArrayOutput { + return o +} + +func (o GetAccountClusterArrayOutput) Index(i pulumi.IntInput) GetAccountClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAccountCluster { + return vs[0].([]GetAccountCluster)[vs[1].(int)] + }).(GetAccountClusterOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbCollectionSourceInput)(nil)).Elem(), DynamodbCollectionSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DynamodbCollectionSourceArrayInput)(nil)).Elem(), DynamodbCollectionSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionSourceInput)(nil)).Elem(), GcsCollectionSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionSourceArrayInput)(nil)).Elem(), GcsCollectionSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionSourceCsvInput)(nil)).Elem(), GcsCollectionSourceCsvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionSourceCsvPtrInput)(nil)).Elem(), GcsCollectionSourceCsvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionSourceXmlInput)(nil)).Elem(), GcsCollectionSourceXmlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcsCollectionSourceXmlPtrInput)(nil)).Elem(), GcsCollectionSourceXmlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionSourceInput)(nil)).Elem(), KafkaCollectionSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionSourceArrayInput)(nil)).Elem(), KafkaCollectionSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionSourceStatusInput)(nil)).Elem(), KafkaCollectionSourceStatusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionSourceStatusArrayInput)(nil)).Elem(), KafkaCollectionSourceStatusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionSourceStatusPartitionInput)(nil)).Elem(), KafkaCollectionSourceStatusPartitionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KafkaCollectionSourceStatusPartitionArrayInput)(nil)).Elem(), KafkaCollectionSourceStatusPartitionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KinesisCollectionSourceInput)(nil)).Elem(), KinesisCollectionSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KinesisCollectionSourceArrayInput)(nil)).Elem(), KinesisCollectionSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MongodbCollectionSourceInput)(nil)).Elem(), MongodbCollectionSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MongodbCollectionSourceArrayInput)(nil)).Elem(), MongodbCollectionSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaSqlInput)(nil)).Elem(), QueryLambdaSqlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaSqlArrayInput)(nil)).Elem(), QueryLambdaSqlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaSqlDefaultParameterInput)(nil)).Elem(), QueryLambdaSqlDefaultParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaSqlDefaultParameterArrayInput)(nil)).Elem(), QueryLambdaSqlDefaultParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolePrivilegeInput)(nil)).Elem(), RolePrivilegeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolePrivilegeArrayInput)(nil)).Elem(), RolePrivilegeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionSourceInput)(nil)).Elem(), S3CollectionSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionSourceArrayInput)(nil)).Elem(), S3CollectionSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionSourceCsvInput)(nil)).Elem(), S3CollectionSourceCsvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionSourceCsvPtrInput)(nil)).Elem(), S3CollectionSourceCsvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionSourceXmlInput)(nil)).Elem(), S3CollectionSourceXmlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionSourceXmlPtrInput)(nil)).Elem(), S3CollectionSourceXmlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountClusterInput)(nil)).Elem(), GetAccountClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountClusterArrayInput)(nil)).Elem(), GetAccountClusterArray{}) + pulumi.RegisterOutputType(DynamodbCollectionSourceOutput{}) + pulumi.RegisterOutputType(DynamodbCollectionSourceArrayOutput{}) + pulumi.RegisterOutputType(GcsCollectionSourceOutput{}) + pulumi.RegisterOutputType(GcsCollectionSourceArrayOutput{}) + pulumi.RegisterOutputType(GcsCollectionSourceCsvOutput{}) + pulumi.RegisterOutputType(GcsCollectionSourceCsvPtrOutput{}) + pulumi.RegisterOutputType(GcsCollectionSourceXmlOutput{}) + pulumi.RegisterOutputType(GcsCollectionSourceXmlPtrOutput{}) + pulumi.RegisterOutputType(KafkaCollectionSourceOutput{}) + pulumi.RegisterOutputType(KafkaCollectionSourceArrayOutput{}) + pulumi.RegisterOutputType(KafkaCollectionSourceStatusOutput{}) + pulumi.RegisterOutputType(KafkaCollectionSourceStatusArrayOutput{}) + pulumi.RegisterOutputType(KafkaCollectionSourceStatusPartitionOutput{}) + pulumi.RegisterOutputType(KafkaCollectionSourceStatusPartitionArrayOutput{}) + pulumi.RegisterOutputType(KinesisCollectionSourceOutput{}) + pulumi.RegisterOutputType(KinesisCollectionSourceArrayOutput{}) + pulumi.RegisterOutputType(MongodbCollectionSourceOutput{}) + pulumi.RegisterOutputType(MongodbCollectionSourceArrayOutput{}) + pulumi.RegisterOutputType(QueryLambdaSqlOutput{}) + pulumi.RegisterOutputType(QueryLambdaSqlArrayOutput{}) + pulumi.RegisterOutputType(QueryLambdaSqlDefaultParameterOutput{}) + pulumi.RegisterOutputType(QueryLambdaSqlDefaultParameterArrayOutput{}) + pulumi.RegisterOutputType(RolePrivilegeOutput{}) + pulumi.RegisterOutputType(RolePrivilegeArrayOutput{}) + pulumi.RegisterOutputType(S3CollectionSourceOutput{}) + pulumi.RegisterOutputType(S3CollectionSourceArrayOutput{}) + pulumi.RegisterOutputType(S3CollectionSourceCsvOutput{}) + pulumi.RegisterOutputType(S3CollectionSourceCsvPtrOutput{}) + pulumi.RegisterOutputType(S3CollectionSourceXmlOutput{}) + pulumi.RegisterOutputType(S3CollectionSourceXmlPtrOutput{}) + pulumi.RegisterOutputType(GetAccountClusterOutput{}) + pulumi.RegisterOutputType(GetAccountClusterArrayOutput{}) +} diff --git a/sdk/go/rockset/queryLambda.go b/sdk/go/rockset/queryLambda.go new file mode 100644 index 0000000..14a30df --- /dev/null +++ b/sdk/go/rockset/queryLambda.go @@ -0,0 +1,283 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset Query Lambda. +type QueryLambda struct { + pulumi.CustomResourceState + + // Text describing the query lambda. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + Sqls QueryLambdaSqlArrayOutput `pulumi:"sqls"` + // The latest state of this query lambda. + State pulumi.StringOutput `pulumi:"state"` + // The latest version string of this query lambda. + Version pulumi.StringOutput `pulumi:"version"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewQueryLambda registers a new resource with the given unique name, arguments, and options. +func NewQueryLambda(ctx *pulumi.Context, + name string, args *QueryLambdaArgs, opts ...pulumi.ResourceOption) (*QueryLambda, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Sqls == nil { + return nil, errors.New("invalid value for required argument 'Sqls'") + } + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource QueryLambda + err := ctx.RegisterResource("rockset:index/queryLambda:QueryLambda", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetQueryLambda gets an existing QueryLambda resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetQueryLambda(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *QueryLambdaState, opts ...pulumi.ResourceOption) (*QueryLambda, error) { + var resource QueryLambda + err := ctx.ReadResource("rockset:index/queryLambda:QueryLambda", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering QueryLambda resources. +type queryLambdaState struct { + // Text describing the query lambda. + Description *string `pulumi:"description"` + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + Sqls []QueryLambdaSql `pulumi:"sqls"` + // The latest state of this query lambda. + State *string `pulumi:"state"` + // The latest version string of this query lambda. + Version *string `pulumi:"version"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type QueryLambdaState struct { + // Text describing the query lambda. + Description pulumi.StringPtrInput + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + Sqls QueryLambdaSqlArrayInput + // The latest state of this query lambda. + State pulumi.StringPtrInput + // The latest version string of this query lambda. + Version pulumi.StringPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (QueryLambdaState) ElementType() reflect.Type { + return reflect.TypeOf((*queryLambdaState)(nil)).Elem() +} + +type queryLambdaArgs struct { + // Text describing the query lambda. + Description *string `pulumi:"description"` + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + Sqls []QueryLambdaSql `pulumi:"sqls"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a QueryLambda resource. +type QueryLambdaArgs struct { + // Text describing the query lambda. + Description pulumi.StringPtrInput + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + Sqls QueryLambdaSqlArrayInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (QueryLambdaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*queryLambdaArgs)(nil)).Elem() +} + +type QueryLambdaInput interface { + pulumi.Input + + ToQueryLambdaOutput() QueryLambdaOutput + ToQueryLambdaOutputWithContext(ctx context.Context) QueryLambdaOutput +} + +func (*QueryLambda) ElementType() reflect.Type { + return reflect.TypeOf((**QueryLambda)(nil)).Elem() +} + +func (i *QueryLambda) ToQueryLambdaOutput() QueryLambdaOutput { + return i.ToQueryLambdaOutputWithContext(context.Background()) +} + +func (i *QueryLambda) ToQueryLambdaOutputWithContext(ctx context.Context) QueryLambdaOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaOutput) +} + +// QueryLambdaArrayInput is an input type that accepts QueryLambdaArray and QueryLambdaArrayOutput values. +// You can construct a concrete instance of `QueryLambdaArrayInput` via: +// +// QueryLambdaArray{ QueryLambdaArgs{...} } +type QueryLambdaArrayInput interface { + pulumi.Input + + ToQueryLambdaArrayOutput() QueryLambdaArrayOutput + ToQueryLambdaArrayOutputWithContext(context.Context) QueryLambdaArrayOutput +} + +type QueryLambdaArray []QueryLambdaInput + +func (QueryLambdaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*QueryLambda)(nil)).Elem() +} + +func (i QueryLambdaArray) ToQueryLambdaArrayOutput() QueryLambdaArrayOutput { + return i.ToQueryLambdaArrayOutputWithContext(context.Background()) +} + +func (i QueryLambdaArray) ToQueryLambdaArrayOutputWithContext(ctx context.Context) QueryLambdaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaArrayOutput) +} + +// QueryLambdaMapInput is an input type that accepts QueryLambdaMap and QueryLambdaMapOutput values. +// You can construct a concrete instance of `QueryLambdaMapInput` via: +// +// QueryLambdaMap{ "key": QueryLambdaArgs{...} } +type QueryLambdaMapInput interface { + pulumi.Input + + ToQueryLambdaMapOutput() QueryLambdaMapOutput + ToQueryLambdaMapOutputWithContext(context.Context) QueryLambdaMapOutput +} + +type QueryLambdaMap map[string]QueryLambdaInput + +func (QueryLambdaMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*QueryLambda)(nil)).Elem() +} + +func (i QueryLambdaMap) ToQueryLambdaMapOutput() QueryLambdaMapOutput { + return i.ToQueryLambdaMapOutputWithContext(context.Background()) +} + +func (i QueryLambdaMap) ToQueryLambdaMapOutputWithContext(ctx context.Context) QueryLambdaMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaMapOutput) +} + +type QueryLambdaOutput struct{ *pulumi.OutputState } + +func (QueryLambdaOutput) ElementType() reflect.Type { + return reflect.TypeOf((**QueryLambda)(nil)).Elem() +} + +func (o QueryLambdaOutput) ToQueryLambdaOutput() QueryLambdaOutput { + return o +} + +func (o QueryLambdaOutput) ToQueryLambdaOutputWithContext(ctx context.Context) QueryLambdaOutput { + return o +} + +// Text describing the query lambda. +func (o QueryLambdaOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *QueryLambda) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. +func (o QueryLambdaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambda) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o QueryLambdaOutput) Sqls() QueryLambdaSqlArrayOutput { + return o.ApplyT(func(v *QueryLambda) QueryLambdaSqlArrayOutput { return v.Sqls }).(QueryLambdaSqlArrayOutput) +} + +// The latest state of this query lambda. +func (o QueryLambdaOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambda) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// The latest version string of this query lambda. +func (o QueryLambdaOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambda) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +// The name of the workspace. +func (o QueryLambdaOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambda) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type QueryLambdaArrayOutput struct{ *pulumi.OutputState } + +func (QueryLambdaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*QueryLambda)(nil)).Elem() +} + +func (o QueryLambdaArrayOutput) ToQueryLambdaArrayOutput() QueryLambdaArrayOutput { + return o +} + +func (o QueryLambdaArrayOutput) ToQueryLambdaArrayOutputWithContext(ctx context.Context) QueryLambdaArrayOutput { + return o +} + +func (o QueryLambdaArrayOutput) Index(i pulumi.IntInput) QueryLambdaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *QueryLambda { + return vs[0].([]*QueryLambda)[vs[1].(int)] + }).(QueryLambdaOutput) +} + +type QueryLambdaMapOutput struct{ *pulumi.OutputState } + +func (QueryLambdaMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*QueryLambda)(nil)).Elem() +} + +func (o QueryLambdaMapOutput) ToQueryLambdaMapOutput() QueryLambdaMapOutput { + return o +} + +func (o QueryLambdaMapOutput) ToQueryLambdaMapOutputWithContext(ctx context.Context) QueryLambdaMapOutput { + return o +} + +func (o QueryLambdaMapOutput) MapIndex(k pulumi.StringInput) QueryLambdaOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *QueryLambda { + return vs[0].(map[string]*QueryLambda)[vs[1].(string)] + }).(QueryLambdaOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaInput)(nil)).Elem(), &QueryLambda{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaArrayInput)(nil)).Elem(), QueryLambdaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaMapInput)(nil)).Elem(), QueryLambdaMap{}) + pulumi.RegisterOutputType(QueryLambdaOutput{}) + pulumi.RegisterOutputType(QueryLambdaArrayOutput{}) + pulumi.RegisterOutputType(QueryLambdaMapOutput{}) +} diff --git a/sdk/go/rockset/queryLambdaTag.go b/sdk/go/rockset/queryLambdaTag.go new file mode 100644 index 0000000..effe575 --- /dev/null +++ b/sdk/go/rockset/queryLambdaTag.go @@ -0,0 +1,270 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset Query Lambda Tag. +type QueryLambdaTag struct { + pulumi.CustomResourceState + + // Unique identifier for the tag. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + QueryLambda pulumi.StringOutput `pulumi:"queryLambda"` + // Version of the query lambda this tag should point to. + Version pulumi.StringOutput `pulumi:"version"` + // The name of the workspace the query lambda is in. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewQueryLambdaTag registers a new resource with the given unique name, arguments, and options. +func NewQueryLambdaTag(ctx *pulumi.Context, + name string, args *QueryLambdaTagArgs, opts ...pulumi.ResourceOption) (*QueryLambdaTag, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.QueryLambda == nil { + return nil, errors.New("invalid value for required argument 'QueryLambda'") + } + if args.Version == nil { + return nil, errors.New("invalid value for required argument 'Version'") + } + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource QueryLambdaTag + err := ctx.RegisterResource("rockset:index/queryLambdaTag:QueryLambdaTag", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetQueryLambdaTag gets an existing QueryLambdaTag resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetQueryLambdaTag(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *QueryLambdaTagState, opts ...pulumi.ResourceOption) (*QueryLambdaTag, error) { + var resource QueryLambdaTag + err := ctx.ReadResource("rockset:index/queryLambdaTag:QueryLambdaTag", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering QueryLambdaTag resources. +type queryLambdaTagState struct { + // Unique identifier for the tag. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + QueryLambda *string `pulumi:"queryLambda"` + // Version of the query lambda this tag should point to. + Version *string `pulumi:"version"` + // The name of the workspace the query lambda is in. + Workspace *string `pulumi:"workspace"` +} + +type QueryLambdaTagState struct { + // Unique identifier for the tag. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + QueryLambda pulumi.StringPtrInput + // Version of the query lambda this tag should point to. + Version pulumi.StringPtrInput + // The name of the workspace the query lambda is in. + Workspace pulumi.StringPtrInput +} + +func (QueryLambdaTagState) ElementType() reflect.Type { + return reflect.TypeOf((*queryLambdaTagState)(nil)).Elem() +} + +type queryLambdaTagArgs struct { + // Unique identifier for the tag. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + QueryLambda string `pulumi:"queryLambda"` + // Version of the query lambda this tag should point to. + Version string `pulumi:"version"` + // The name of the workspace the query lambda is in. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a QueryLambdaTag resource. +type QueryLambdaTagArgs struct { + // Unique identifier for the tag. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + QueryLambda pulumi.StringInput + // Version of the query lambda this tag should point to. + Version pulumi.StringInput + // The name of the workspace the query lambda is in. + Workspace pulumi.StringInput +} + +func (QueryLambdaTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*queryLambdaTagArgs)(nil)).Elem() +} + +type QueryLambdaTagInput interface { + pulumi.Input + + ToQueryLambdaTagOutput() QueryLambdaTagOutput + ToQueryLambdaTagOutputWithContext(ctx context.Context) QueryLambdaTagOutput +} + +func (*QueryLambdaTag) ElementType() reflect.Type { + return reflect.TypeOf((**QueryLambdaTag)(nil)).Elem() +} + +func (i *QueryLambdaTag) ToQueryLambdaTagOutput() QueryLambdaTagOutput { + return i.ToQueryLambdaTagOutputWithContext(context.Background()) +} + +func (i *QueryLambdaTag) ToQueryLambdaTagOutputWithContext(ctx context.Context) QueryLambdaTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaTagOutput) +} + +// QueryLambdaTagArrayInput is an input type that accepts QueryLambdaTagArray and QueryLambdaTagArrayOutput values. +// You can construct a concrete instance of `QueryLambdaTagArrayInput` via: +// +// QueryLambdaTagArray{ QueryLambdaTagArgs{...} } +type QueryLambdaTagArrayInput interface { + pulumi.Input + + ToQueryLambdaTagArrayOutput() QueryLambdaTagArrayOutput + ToQueryLambdaTagArrayOutputWithContext(context.Context) QueryLambdaTagArrayOutput +} + +type QueryLambdaTagArray []QueryLambdaTagInput + +func (QueryLambdaTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*QueryLambdaTag)(nil)).Elem() +} + +func (i QueryLambdaTagArray) ToQueryLambdaTagArrayOutput() QueryLambdaTagArrayOutput { + return i.ToQueryLambdaTagArrayOutputWithContext(context.Background()) +} + +func (i QueryLambdaTagArray) ToQueryLambdaTagArrayOutputWithContext(ctx context.Context) QueryLambdaTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaTagArrayOutput) +} + +// QueryLambdaTagMapInput is an input type that accepts QueryLambdaTagMap and QueryLambdaTagMapOutput values. +// You can construct a concrete instance of `QueryLambdaTagMapInput` via: +// +// QueryLambdaTagMap{ "key": QueryLambdaTagArgs{...} } +type QueryLambdaTagMapInput interface { + pulumi.Input + + ToQueryLambdaTagMapOutput() QueryLambdaTagMapOutput + ToQueryLambdaTagMapOutputWithContext(context.Context) QueryLambdaTagMapOutput +} + +type QueryLambdaTagMap map[string]QueryLambdaTagInput + +func (QueryLambdaTagMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*QueryLambdaTag)(nil)).Elem() +} + +func (i QueryLambdaTagMap) ToQueryLambdaTagMapOutput() QueryLambdaTagMapOutput { + return i.ToQueryLambdaTagMapOutputWithContext(context.Background()) +} + +func (i QueryLambdaTagMap) ToQueryLambdaTagMapOutputWithContext(ctx context.Context) QueryLambdaTagMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryLambdaTagMapOutput) +} + +type QueryLambdaTagOutput struct{ *pulumi.OutputState } + +func (QueryLambdaTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((**QueryLambdaTag)(nil)).Elem() +} + +func (o QueryLambdaTagOutput) ToQueryLambdaTagOutput() QueryLambdaTagOutput { + return o +} + +func (o QueryLambdaTagOutput) ToQueryLambdaTagOutputWithContext(ctx context.Context) QueryLambdaTagOutput { + return o +} + +// Unique identifier for the tag. Can contain alphanumeric or dash characters. +func (o QueryLambdaTagOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambdaTag) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Unique identifier for the query lambda. Can contain alphanumeric or dash characters. +func (o QueryLambdaTagOutput) QueryLambda() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambdaTag) pulumi.StringOutput { return v.QueryLambda }).(pulumi.StringOutput) +} + +// Version of the query lambda this tag should point to. +func (o QueryLambdaTagOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambdaTag) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +// The name of the workspace the query lambda is in. +func (o QueryLambdaTagOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *QueryLambdaTag) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type QueryLambdaTagArrayOutput struct{ *pulumi.OutputState } + +func (QueryLambdaTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*QueryLambdaTag)(nil)).Elem() +} + +func (o QueryLambdaTagArrayOutput) ToQueryLambdaTagArrayOutput() QueryLambdaTagArrayOutput { + return o +} + +func (o QueryLambdaTagArrayOutput) ToQueryLambdaTagArrayOutputWithContext(ctx context.Context) QueryLambdaTagArrayOutput { + return o +} + +func (o QueryLambdaTagArrayOutput) Index(i pulumi.IntInput) QueryLambdaTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *QueryLambdaTag { + return vs[0].([]*QueryLambdaTag)[vs[1].(int)] + }).(QueryLambdaTagOutput) +} + +type QueryLambdaTagMapOutput struct{ *pulumi.OutputState } + +func (QueryLambdaTagMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*QueryLambdaTag)(nil)).Elem() +} + +func (o QueryLambdaTagMapOutput) ToQueryLambdaTagMapOutput() QueryLambdaTagMapOutput { + return o +} + +func (o QueryLambdaTagMapOutput) ToQueryLambdaTagMapOutputWithContext(ctx context.Context) QueryLambdaTagMapOutput { + return o +} + +func (o QueryLambdaTagMapOutput) MapIndex(k pulumi.StringInput) QueryLambdaTagOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *QueryLambdaTag { + return vs[0].(map[string]*QueryLambdaTag)[vs[1].(string)] + }).(QueryLambdaTagOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaTagInput)(nil)).Elem(), &QueryLambdaTag{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaTagArrayInput)(nil)).Elem(), QueryLambdaTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryLambdaTagMapInput)(nil)).Elem(), QueryLambdaTagMap{}) + pulumi.RegisterOutputType(QueryLambdaTagOutput{}) + pulumi.RegisterOutputType(QueryLambdaTagArrayOutput{}) + pulumi.RegisterOutputType(QueryLambdaTagMapOutput{}) +} diff --git a/sdk/go/rockset/role.go b/sdk/go/rockset/role.go new file mode 100644 index 0000000..56f15be --- /dev/null +++ b/sdk/go/rockset/role.go @@ -0,0 +1,322 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset [Role](https://rockset.com/docs/iam/). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rockset.NewRole(ctx, "query-onlyRole", &rockset.RoleArgs{ +// Description: pulumi.String("This role can only query collections in the prod workspace in the usw2a1 cluster"), +// Privileges: rockset.RolePrivilegeArray{ +// &rockset.RolePrivilegeArgs{ +// Action: pulumi.String("QUERY_DATA_WS"), +// ResourceName: pulumi.String("prod"), +// Cluster: pulumi.String("usw2a1"), +// }, +// &rockset.RolePrivilegeArgs{ +// Action: pulumi.String("EXECUTE_QUERY_LAMBDA_WS"), +// ResourceName: pulumi.String("prod"), +// Cluster: pulumi.String("usw2a1"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = rockset.NewApiKey(ctx, "query-onlyApiKey", &rockset.ApiKeyArgs{ +// Role: query_onlyRole.Name, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type Role struct { + pulumi.CustomResourceState + + // When the role was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Who created the role. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Role description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Role name. + Name pulumi.StringOutput `pulumi:"name"` + // The email of the user who currently owns the role. + OwnerEmail pulumi.StringOutput `pulumi:"ownerEmail"` + // Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + Privileges RolePrivilegeArrayOutput `pulumi:"privileges"` +} + +// NewRole registers a new resource with the given unique name, arguments, and options. +func NewRole(ctx *pulumi.Context, + name string, args *RoleArgs, opts ...pulumi.ResourceOption) (*Role, error) { + if args == nil { + args = &RoleArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Role + err := ctx.RegisterResource("rockset:index/role:Role", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRole gets an existing Role resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRole(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RoleState, opts ...pulumi.ResourceOption) (*Role, error) { + var resource Role + err := ctx.ReadResource("rockset:index/role:Role", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Role resources. +type roleState struct { + // When the role was created. + CreatedAt *string `pulumi:"createdAt"` + // Who created the role. + CreatedBy *string `pulumi:"createdBy"` + // Role description. + Description *string `pulumi:"description"` + // Role name. + Name *string `pulumi:"name"` + // The email of the user who currently owns the role. + OwnerEmail *string `pulumi:"ownerEmail"` + // Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + Privileges []RolePrivilege `pulumi:"privileges"` +} + +type RoleState struct { + // When the role was created. + CreatedAt pulumi.StringPtrInput + // Who created the role. + CreatedBy pulumi.StringPtrInput + // Role description. + Description pulumi.StringPtrInput + // Role name. + Name pulumi.StringPtrInput + // The email of the user who currently owns the role. + OwnerEmail pulumi.StringPtrInput + // Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + Privileges RolePrivilegeArrayInput +} + +func (RoleState) ElementType() reflect.Type { + return reflect.TypeOf((*roleState)(nil)).Elem() +} + +type roleArgs struct { + // Role description. + Description *string `pulumi:"description"` + // Role name. + Name *string `pulumi:"name"` + // Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + Privileges []RolePrivilege `pulumi:"privileges"` +} + +// The set of arguments for constructing a Role resource. +type RoleArgs struct { + // Role description. + Description pulumi.StringPtrInput + // Role name. + Name pulumi.StringPtrInput + // Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + Privileges RolePrivilegeArrayInput +} + +func (RoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*roleArgs)(nil)).Elem() +} + +type RoleInput interface { + pulumi.Input + + ToRoleOutput() RoleOutput + ToRoleOutputWithContext(ctx context.Context) RoleOutput +} + +func (*Role) ElementType() reflect.Type { + return reflect.TypeOf((**Role)(nil)).Elem() +} + +func (i *Role) ToRoleOutput() RoleOutput { + return i.ToRoleOutputWithContext(context.Background()) +} + +func (i *Role) ToRoleOutputWithContext(ctx context.Context) RoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleOutput) +} + +// RoleArrayInput is an input type that accepts RoleArray and RoleArrayOutput values. +// You can construct a concrete instance of `RoleArrayInput` via: +// +// RoleArray{ RoleArgs{...} } +type RoleArrayInput interface { + pulumi.Input + + ToRoleArrayOutput() RoleArrayOutput + ToRoleArrayOutputWithContext(context.Context) RoleArrayOutput +} + +type RoleArray []RoleInput + +func (RoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Role)(nil)).Elem() +} + +func (i RoleArray) ToRoleArrayOutput() RoleArrayOutput { + return i.ToRoleArrayOutputWithContext(context.Background()) +} + +func (i RoleArray) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleArrayOutput) +} + +// RoleMapInput is an input type that accepts RoleMap and RoleMapOutput values. +// You can construct a concrete instance of `RoleMapInput` via: +// +// RoleMap{ "key": RoleArgs{...} } +type RoleMapInput interface { + pulumi.Input + + ToRoleMapOutput() RoleMapOutput + ToRoleMapOutputWithContext(context.Context) RoleMapOutput +} + +type RoleMap map[string]RoleInput + +func (RoleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Role)(nil)).Elem() +} + +func (i RoleMap) ToRoleMapOutput() RoleMapOutput { + return i.ToRoleMapOutputWithContext(context.Background()) +} + +func (i RoleMap) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleMapOutput) +} + +type RoleOutput struct{ *pulumi.OutputState } + +func (RoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Role)(nil)).Elem() +} + +func (o RoleOutput) ToRoleOutput() RoleOutput { + return o +} + +func (o RoleOutput) ToRoleOutputWithContext(ctx context.Context) RoleOutput { + return o +} + +// When the role was created. +func (o RoleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *Role) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Who created the role. +func (o RoleOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *Role) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Role description. +func (o RoleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Role) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Role name. +func (o RoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Role) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The email of the user who currently owns the role. +func (o RoleOutput) OwnerEmail() pulumi.StringOutput { + return o.ApplyT(func(v *Role) pulumi.StringOutput { return v.OwnerEmail }).(pulumi.StringOutput) +} + +// Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) +func (o RoleOutput) Privileges() RolePrivilegeArrayOutput { + return o.ApplyT(func(v *Role) RolePrivilegeArrayOutput { return v.Privileges }).(RolePrivilegeArrayOutput) +} + +type RoleArrayOutput struct{ *pulumi.OutputState } + +func (RoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Role)(nil)).Elem() +} + +func (o RoleArrayOutput) ToRoleArrayOutput() RoleArrayOutput { + return o +} + +func (o RoleArrayOutput) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput { + return o +} + +func (o RoleArrayOutput) Index(i pulumi.IntInput) RoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Role { + return vs[0].([]*Role)[vs[1].(int)] + }).(RoleOutput) +} + +type RoleMapOutput struct{ *pulumi.OutputState } + +func (RoleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Role)(nil)).Elem() +} + +func (o RoleMapOutput) ToRoleMapOutput() RoleMapOutput { + return o +} + +func (o RoleMapOutput) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput { + return o +} + +func (o RoleMapOutput) MapIndex(k pulumi.StringInput) RoleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Role { + return vs[0].(map[string]*Role)[vs[1].(string)] + }).(RoleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RoleInput)(nil)).Elem(), &Role{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleArrayInput)(nil)).Elem(), RoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleMapInput)(nil)).Elem(), RoleMap{}) + pulumi.RegisterOutputType(RoleOutput{}) + pulumi.RegisterOutputType(RoleArrayOutput{}) + pulumi.RegisterOutputType(RoleMapOutput{}) +} diff --git a/sdk/go/rockset/s3collection.go b/sdk/go/rockset/s3collection.go new file mode 100644 index 0000000..b86c8bb --- /dev/null +++ b/sdk/go/rockset/s3collection.go @@ -0,0 +1,371 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a collection with on or more S3 sources attached. Uses an S3 integration to access the S3 bucket. If no integration is provided, only data in public buckets are accessible. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// sample, err := rockset.NewWorkspace(ctx, "sample", &rockset.WorkspaceArgs{ +// Description: pulumi.String("sample datasets"), +// }) +// if err != nil { +// return err +// } +// public, err := rockset.NewS3Integration(ctx, "public", &rockset.S3IntegrationArgs{ +// Description: pulumi.String("Integration to access Rockset's public datasets"), +// AwsRoleArn: pulumi.String("arn:aws:iam::469279130686:role/rockset-public-datasets"), +// }) +// if err != nil { +// return err +// } +// _, err = rockset.NewS3Collection(ctx, "cities", &rockset.S3CollectionArgs{ +// Workspace: sample.Name, +// Sources: rockset.S3CollectionSourceArray{ +// &rockset.S3CollectionSourceArgs{ +// Bucket: pulumi.String("rockset-public-datasets"), +// IntegrationName: public.Name, +// Pattern: pulumi.String("cities/*.json"), +// Format: pulumi.String("json"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type S3Collection struct { + pulumi.CustomResourceState + + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrOutput `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrOutput `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources S3CollectionSourceArrayOutput `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrOutput `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrOutput `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewS3Collection registers a new resource with the given unique name, arguments, and options. +func NewS3Collection(ctx *pulumi.Context, + name string, args *S3CollectionArgs, opts ...pulumi.ResourceOption) (*S3Collection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource S3Collection + err := ctx.RegisterResource("rockset:index/s3Collection:S3Collection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetS3Collection gets an existing S3Collection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetS3Collection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *S3CollectionState, opts ...pulumi.ResourceOption) (*S3Collection, error) { + var resource S3Collection + err := ctx.ReadResource("rockset:index/s3Collection:S3Collection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering S3Collection resources. +type s3collectionState struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []S3CollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace *string `pulumi:"workspace"` +} + +type S3CollectionState struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources S3CollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringPtrInput +} + +func (S3CollectionState) ElementType() reflect.Type { + return reflect.TypeOf((*s3collectionState)(nil)).Elem() +} + +type s3collectionArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation *string `pulumi:"ingestTransformation"` + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // Number of seconds after which data is purged. Based on event time. + RetentionSecs *int `pulumi:"retentionSecs"` + // Defines a source for this collection. + Sources []S3CollectionSource `pulumi:"sources"` + // Wait until the collection is ready. + WaitForCollection *bool `pulumi:"waitForCollection"` + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments *int `pulumi:"waitForDocuments"` + // The name of the workspace. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a S3Collection resource. +type S3CollectionArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Ingest transformation SQL query. Turns the collection into insertOnly mode. + IngestTransformation pulumi.StringPtrInput + // Unique identifier for the collection. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // Number of seconds after which data is purged. Based on event time. + RetentionSecs pulumi.IntPtrInput + // Defines a source for this collection. + Sources S3CollectionSourceArrayInput + // Wait until the collection is ready. + WaitForCollection pulumi.BoolPtrInput + // Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + WaitForDocuments pulumi.IntPtrInput + // The name of the workspace. + Workspace pulumi.StringInput +} + +func (S3CollectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*s3collectionArgs)(nil)).Elem() +} + +type S3CollectionInput interface { + pulumi.Input + + ToS3CollectionOutput() S3CollectionOutput + ToS3CollectionOutputWithContext(ctx context.Context) S3CollectionOutput +} + +func (*S3Collection) ElementType() reflect.Type { + return reflect.TypeOf((**S3Collection)(nil)).Elem() +} + +func (i *S3Collection) ToS3CollectionOutput() S3CollectionOutput { + return i.ToS3CollectionOutputWithContext(context.Background()) +} + +func (i *S3Collection) ToS3CollectionOutputWithContext(ctx context.Context) S3CollectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionOutput) +} + +// S3CollectionArrayInput is an input type that accepts S3CollectionArray and S3CollectionArrayOutput values. +// You can construct a concrete instance of `S3CollectionArrayInput` via: +// +// S3CollectionArray{ S3CollectionArgs{...} } +type S3CollectionArrayInput interface { + pulumi.Input + + ToS3CollectionArrayOutput() S3CollectionArrayOutput + ToS3CollectionArrayOutputWithContext(context.Context) S3CollectionArrayOutput +} + +type S3CollectionArray []S3CollectionInput + +func (S3CollectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*S3Collection)(nil)).Elem() +} + +func (i S3CollectionArray) ToS3CollectionArrayOutput() S3CollectionArrayOutput { + return i.ToS3CollectionArrayOutputWithContext(context.Background()) +} + +func (i S3CollectionArray) ToS3CollectionArrayOutputWithContext(ctx context.Context) S3CollectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionArrayOutput) +} + +// S3CollectionMapInput is an input type that accepts S3CollectionMap and S3CollectionMapOutput values. +// You can construct a concrete instance of `S3CollectionMapInput` via: +// +// S3CollectionMap{ "key": S3CollectionArgs{...} } +type S3CollectionMapInput interface { + pulumi.Input + + ToS3CollectionMapOutput() S3CollectionMapOutput + ToS3CollectionMapOutputWithContext(context.Context) S3CollectionMapOutput +} + +type S3CollectionMap map[string]S3CollectionInput + +func (S3CollectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*S3Collection)(nil)).Elem() +} + +func (i S3CollectionMap) ToS3CollectionMapOutput() S3CollectionMapOutput { + return i.ToS3CollectionMapOutputWithContext(context.Background()) +} + +func (i S3CollectionMap) ToS3CollectionMapOutputWithContext(ctx context.Context) S3CollectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3CollectionMapOutput) +} + +type S3CollectionOutput struct{ *pulumi.OutputState } + +func (S3CollectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**S3Collection)(nil)).Elem() +} + +func (o S3CollectionOutput) ToS3CollectionOutput() S3CollectionOutput { + return o +} + +func (o S3CollectionOutput) ToS3CollectionOutputWithContext(ctx context.Context) S3CollectionOutput { + return o +} + +// Text describing the collection. +func (o S3CollectionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3Collection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Ingest transformation SQL query. Turns the collection into insertOnly mode. +func (o S3CollectionOutput) IngestTransformation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3Collection) pulumi.StringPtrOutput { return v.IngestTransformation }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the collection. Can contain alphanumeric or dash characters. +func (o S3CollectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *S3Collection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Number of seconds after which data is purged. Based on event time. +func (o S3CollectionOutput) RetentionSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *S3Collection) pulumi.IntPtrOutput { return v.RetentionSecs }).(pulumi.IntPtrOutput) +} + +// Defines a source for this collection. +func (o S3CollectionOutput) Sources() S3CollectionSourceArrayOutput { + return o.ApplyT(func(v *S3Collection) S3CollectionSourceArrayOutput { return v.Sources }).(S3CollectionSourceArrayOutput) +} + +// Wait until the collection is ready. +func (o S3CollectionOutput) WaitForCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *S3Collection) pulumi.BoolPtrOutput { return v.WaitForCollection }).(pulumi.BoolPtrOutput) +} + +// Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. +func (o S3CollectionOutput) WaitForDocuments() pulumi.IntPtrOutput { + return o.ApplyT(func(v *S3Collection) pulumi.IntPtrOutput { return v.WaitForDocuments }).(pulumi.IntPtrOutput) +} + +// The name of the workspace. +func (o S3CollectionOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *S3Collection) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type S3CollectionArrayOutput struct{ *pulumi.OutputState } + +func (S3CollectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*S3Collection)(nil)).Elem() +} + +func (o S3CollectionArrayOutput) ToS3CollectionArrayOutput() S3CollectionArrayOutput { + return o +} + +func (o S3CollectionArrayOutput) ToS3CollectionArrayOutputWithContext(ctx context.Context) S3CollectionArrayOutput { + return o +} + +func (o S3CollectionArrayOutput) Index(i pulumi.IntInput) S3CollectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *S3Collection { + return vs[0].([]*S3Collection)[vs[1].(int)] + }).(S3CollectionOutput) +} + +type S3CollectionMapOutput struct{ *pulumi.OutputState } + +func (S3CollectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*S3Collection)(nil)).Elem() +} + +func (o S3CollectionMapOutput) ToS3CollectionMapOutput() S3CollectionMapOutput { + return o +} + +func (o S3CollectionMapOutput) ToS3CollectionMapOutputWithContext(ctx context.Context) S3CollectionMapOutput { + return o +} + +func (o S3CollectionMapOutput) MapIndex(k pulumi.StringInput) S3CollectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *S3Collection { + return vs[0].(map[string]*S3Collection)[vs[1].(string)] + }).(S3CollectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionInput)(nil)).Elem(), &S3Collection{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionArrayInput)(nil)).Elem(), S3CollectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3CollectionMapInput)(nil)).Elem(), S3CollectionMap{}) + pulumi.RegisterOutputType(S3CollectionOutput{}) + pulumi.RegisterOutputType(S3CollectionArrayOutput{}) + pulumi.RegisterOutputType(S3CollectionMapOutput{}) +} diff --git a/sdk/go/rockset/s3integration.go b/sdk/go/rockset/s3integration.go new file mode 100644 index 0000000..6b7431c --- /dev/null +++ b/sdk/go/rockset/s3integration.go @@ -0,0 +1,249 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset S3 Integration. +type S3Integration struct { + pulumi.CustomResourceState + + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringOutput `pulumi:"awsRoleArn"` + // Text describing the integration. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewS3Integration registers a new resource with the given unique name, arguments, and options. +func NewS3Integration(ctx *pulumi.Context, + name string, args *S3IntegrationArgs, opts ...pulumi.ResourceOption) (*S3Integration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AwsRoleArn == nil { + return nil, errors.New("invalid value for required argument 'AwsRoleArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource S3Integration + err := ctx.RegisterResource("rockset:index/s3Integration:S3Integration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetS3Integration gets an existing S3Integration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetS3Integration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *S3IntegrationState, opts ...pulumi.ResourceOption) (*S3Integration, error) { + var resource S3Integration + err := ctx.ReadResource("rockset:index/s3Integration:S3Integration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering S3Integration resources. +type s3integrationState struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn *string `pulumi:"awsRoleArn"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +type S3IntegrationState struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringPtrInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (S3IntegrationState) ElementType() reflect.Type { + return reflect.TypeOf((*s3integrationState)(nil)).Elem() +} + +type s3integrationArgs struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn string `pulumi:"awsRoleArn"` + // Text describing the integration. + Description *string `pulumi:"description"` + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a S3Integration resource. +type S3IntegrationArgs struct { + // The AWS Role Arn to use for this integration. + AwsRoleArn pulumi.StringInput + // Text describing the integration. + Description pulumi.StringPtrInput + // Unique identifier for the integration. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (S3IntegrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*s3integrationArgs)(nil)).Elem() +} + +type S3IntegrationInput interface { + pulumi.Input + + ToS3IntegrationOutput() S3IntegrationOutput + ToS3IntegrationOutputWithContext(ctx context.Context) S3IntegrationOutput +} + +func (*S3Integration) ElementType() reflect.Type { + return reflect.TypeOf((**S3Integration)(nil)).Elem() +} + +func (i *S3Integration) ToS3IntegrationOutput() S3IntegrationOutput { + return i.ToS3IntegrationOutputWithContext(context.Background()) +} + +func (i *S3Integration) ToS3IntegrationOutputWithContext(ctx context.Context) S3IntegrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3IntegrationOutput) +} + +// S3IntegrationArrayInput is an input type that accepts S3IntegrationArray and S3IntegrationArrayOutput values. +// You can construct a concrete instance of `S3IntegrationArrayInput` via: +// +// S3IntegrationArray{ S3IntegrationArgs{...} } +type S3IntegrationArrayInput interface { + pulumi.Input + + ToS3IntegrationArrayOutput() S3IntegrationArrayOutput + ToS3IntegrationArrayOutputWithContext(context.Context) S3IntegrationArrayOutput +} + +type S3IntegrationArray []S3IntegrationInput + +func (S3IntegrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*S3Integration)(nil)).Elem() +} + +func (i S3IntegrationArray) ToS3IntegrationArrayOutput() S3IntegrationArrayOutput { + return i.ToS3IntegrationArrayOutputWithContext(context.Background()) +} + +func (i S3IntegrationArray) ToS3IntegrationArrayOutputWithContext(ctx context.Context) S3IntegrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3IntegrationArrayOutput) +} + +// S3IntegrationMapInput is an input type that accepts S3IntegrationMap and S3IntegrationMapOutput values. +// You can construct a concrete instance of `S3IntegrationMapInput` via: +// +// S3IntegrationMap{ "key": S3IntegrationArgs{...} } +type S3IntegrationMapInput interface { + pulumi.Input + + ToS3IntegrationMapOutput() S3IntegrationMapOutput + ToS3IntegrationMapOutputWithContext(context.Context) S3IntegrationMapOutput +} + +type S3IntegrationMap map[string]S3IntegrationInput + +func (S3IntegrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*S3Integration)(nil)).Elem() +} + +func (i S3IntegrationMap) ToS3IntegrationMapOutput() S3IntegrationMapOutput { + return i.ToS3IntegrationMapOutputWithContext(context.Background()) +} + +func (i S3IntegrationMap) ToS3IntegrationMapOutputWithContext(ctx context.Context) S3IntegrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(S3IntegrationMapOutput) +} + +type S3IntegrationOutput struct{ *pulumi.OutputState } + +func (S3IntegrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**S3Integration)(nil)).Elem() +} + +func (o S3IntegrationOutput) ToS3IntegrationOutput() S3IntegrationOutput { + return o +} + +func (o S3IntegrationOutput) ToS3IntegrationOutputWithContext(ctx context.Context) S3IntegrationOutput { + return o +} + +// The AWS Role Arn to use for this integration. +func (o S3IntegrationOutput) AwsRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *S3Integration) pulumi.StringOutput { return v.AwsRoleArn }).(pulumi.StringOutput) +} + +// Text describing the integration. +func (o S3IntegrationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *S3Integration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for the integration. Can contain alphanumeric or dash characters. +func (o S3IntegrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *S3Integration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type S3IntegrationArrayOutput struct{ *pulumi.OutputState } + +func (S3IntegrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*S3Integration)(nil)).Elem() +} + +func (o S3IntegrationArrayOutput) ToS3IntegrationArrayOutput() S3IntegrationArrayOutput { + return o +} + +func (o S3IntegrationArrayOutput) ToS3IntegrationArrayOutputWithContext(ctx context.Context) S3IntegrationArrayOutput { + return o +} + +func (o S3IntegrationArrayOutput) Index(i pulumi.IntInput) S3IntegrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *S3Integration { + return vs[0].([]*S3Integration)[vs[1].(int)] + }).(S3IntegrationOutput) +} + +type S3IntegrationMapOutput struct{ *pulumi.OutputState } + +func (S3IntegrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*S3Integration)(nil)).Elem() +} + +func (o S3IntegrationMapOutput) ToS3IntegrationMapOutput() S3IntegrationMapOutput { + return o +} + +func (o S3IntegrationMapOutput) ToS3IntegrationMapOutputWithContext(ctx context.Context) S3IntegrationMapOutput { + return o +} + +func (o S3IntegrationMapOutput) MapIndex(k pulumi.StringInput) S3IntegrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *S3Integration { + return vs[0].(map[string]*S3Integration)[vs[1].(string)] + }).(S3IntegrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*S3IntegrationInput)(nil)).Elem(), &S3Integration{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3IntegrationArrayInput)(nil)).Elem(), S3IntegrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*S3IntegrationMapInput)(nil)).Elem(), S3IntegrationMap{}) + pulumi.RegisterOutputType(S3IntegrationOutput{}) + pulumi.RegisterOutputType(S3IntegrationArrayOutput{}) + pulumi.RegisterOutputType(S3IntegrationMapOutput{}) +} diff --git a/sdk/go/rockset/user.go b/sdk/go/rockset/user.go new file mode 100644 index 0000000..77f7f5c --- /dev/null +++ b/sdk/go/rockset/user.go @@ -0,0 +1,292 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset User. +// +// First and last name can only be managed for users who have accepted the invite, +// i.e. when the state is ACCEPTED. +type User struct { + pulumi.CustomResourceState + + // The ISO-8601 time of when the user was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Email address of the user. Also used to identify the user. + Email pulumi.StringOutput `pulumi:"email"` + // User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + FirstName pulumi.StringPtrOutput `pulumi:"firstName"` + // User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + LastName pulumi.StringPtrOutput `pulumi:"lastName"` + // List of roles for the user. E.g. 'admin', 'member', 'read-only'. + Roles pulumi.StringArrayOutput `pulumi:"roles"` + // State of the user, either NEW or ACTIVE. + State pulumi.StringOutput `pulumi:"state"` +} + +// NewUser registers a new resource with the given unique name, arguments, and options. +func NewUser(ctx *pulumi.Context, + name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Email == nil { + return nil, errors.New("invalid value for required argument 'Email'") + } + if args.Roles == nil { + return nil, errors.New("invalid value for required argument 'Roles'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource User + err := ctx.RegisterResource("rockset:index/user:User", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetUser gets an existing User resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetUser(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error) { + var resource User + err := ctx.ReadResource("rockset:index/user:User", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering User resources. +type userState struct { + // The ISO-8601 time of when the user was created. + CreatedAt *string `pulumi:"createdAt"` + // Email address of the user. Also used to identify the user. + Email *string `pulumi:"email"` + // User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + FirstName *string `pulumi:"firstName"` + // User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + LastName *string `pulumi:"lastName"` + // List of roles for the user. E.g. 'admin', 'member', 'read-only'. + Roles []string `pulumi:"roles"` + // State of the user, either NEW or ACTIVE. + State *string `pulumi:"state"` +} + +type UserState struct { + // The ISO-8601 time of when the user was created. + CreatedAt pulumi.StringPtrInput + // Email address of the user. Also used to identify the user. + Email pulumi.StringPtrInput + // User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + FirstName pulumi.StringPtrInput + // User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + LastName pulumi.StringPtrInput + // List of roles for the user. E.g. 'admin', 'member', 'read-only'. + Roles pulumi.StringArrayInput + // State of the user, either NEW or ACTIVE. + State pulumi.StringPtrInput +} + +func (UserState) ElementType() reflect.Type { + return reflect.TypeOf((*userState)(nil)).Elem() +} + +type userArgs struct { + // Email address of the user. Also used to identify the user. + Email string `pulumi:"email"` + // User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + FirstName *string `pulumi:"firstName"` + // User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + LastName *string `pulumi:"lastName"` + // List of roles for the user. E.g. 'admin', 'member', 'read-only'. + Roles []string `pulumi:"roles"` +} + +// The set of arguments for constructing a User resource. +type UserArgs struct { + // Email address of the user. Also used to identify the user. + Email pulumi.StringInput + // User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + FirstName pulumi.StringPtrInput + // User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + LastName pulumi.StringPtrInput + // List of roles for the user. E.g. 'admin', 'member', 'read-only'. + Roles pulumi.StringArrayInput +} + +func (UserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*userArgs)(nil)).Elem() +} + +type UserInput interface { + pulumi.Input + + ToUserOutput() UserOutput + ToUserOutputWithContext(ctx context.Context) UserOutput +} + +func (*User) ElementType() reflect.Type { + return reflect.TypeOf((**User)(nil)).Elem() +} + +func (i *User) ToUserOutput() UserOutput { + return i.ToUserOutputWithContext(context.Background()) +} + +func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserOutput) +} + +// UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. +// You can construct a concrete instance of `UserArrayInput` via: +// +// UserArray{ UserArgs{...} } +type UserArrayInput interface { + pulumi.Input + + ToUserArrayOutput() UserArrayOutput + ToUserArrayOutputWithContext(context.Context) UserArrayOutput +} + +type UserArray []UserInput + +func (UserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*User)(nil)).Elem() +} + +func (i UserArray) ToUserArrayOutput() UserArrayOutput { + return i.ToUserArrayOutputWithContext(context.Background()) +} + +func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserArrayOutput) +} + +// UserMapInput is an input type that accepts UserMap and UserMapOutput values. +// You can construct a concrete instance of `UserMapInput` via: +// +// UserMap{ "key": UserArgs{...} } +type UserMapInput interface { + pulumi.Input + + ToUserMapOutput() UserMapOutput + ToUserMapOutputWithContext(context.Context) UserMapOutput +} + +type UserMap map[string]UserInput + +func (UserMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*User)(nil)).Elem() +} + +func (i UserMap) ToUserMapOutput() UserMapOutput { + return i.ToUserMapOutputWithContext(context.Background()) +} + +func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserMapOutput) +} + +type UserOutput struct{ *pulumi.OutputState } + +func (UserOutput) ElementType() reflect.Type { + return reflect.TypeOf((**User)(nil)).Elem() +} + +func (o UserOutput) ToUserOutput() UserOutput { + return o +} + +func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput { + return o +} + +// The ISO-8601 time of when the user was created. +func (o UserOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Email address of the user. Also used to identify the user. +func (o UserOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) +} + +// User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. +func (o UserOutput) FirstName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.FirstName }).(pulumi.StringPtrOutput) +} + +// User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. +func (o UserOutput) LastName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.LastName }).(pulumi.StringPtrOutput) +} + +// List of roles for the user. E.g. 'admin', 'member', 'read-only'. +func (o UserOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) +} + +// State of the user, either NEW or ACTIVE. +func (o UserOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +type UserArrayOutput struct{ *pulumi.OutputState } + +func (UserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*User)(nil)).Elem() +} + +func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput { + return o +} + +func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput { + return o +} + +func (o UserArrayOutput) Index(i pulumi.IntInput) UserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *User { + return vs[0].([]*User)[vs[1].(int)] + }).(UserOutput) +} + +type UserMapOutput struct{ *pulumi.OutputState } + +func (UserMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*User)(nil)).Elem() +} + +func (o UserMapOutput) ToUserMapOutput() UserMapOutput { + return o +} + +func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput { + return o +} + +func (o UserMapOutput) MapIndex(k pulumi.StringInput) UserOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *User { + return vs[0].(map[string]*User)[vs[1].(string)] + }).(UserOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*UserInput)(nil)).Elem(), &User{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserArrayInput)(nil)).Elem(), UserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserMapInput)(nil)).Elem(), UserMap{}) + pulumi.RegisterOutputType(UserOutput{}) + pulumi.RegisterOutputType(UserArrayOutput{}) + pulumi.RegisterOutputType(UserMapOutput{}) +} diff --git a/sdk/go/rockset/view.go b/sdk/go/rockset/view.go new file mode 100644 index 0000000..b37f4d2 --- /dev/null +++ b/sdk/go/rockset/view.go @@ -0,0 +1,332 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// sample, err := rockset.NewWorkspace(ctx, "sample", &rockset.WorkspaceArgs{ +// Description: pulumi.String("sample datasets"), +// }) +// if err != nil { +// return err +// } +// public, err := rockset.NewS3Integration(ctx, "public", &rockset.S3IntegrationArgs{ +// Description: pulumi.String("Integration to access Rockset's public datasets"), +// AwsRoleArn: pulumi.String("arn:aws:iam::469279130686:role/rockset-public-datasets"), +// }) +// if err != nil { +// return err +// } +// cities, err := rockset.NewS3Collection(ctx, "cities", &rockset.S3CollectionArgs{ +// Workspace: sample.Name, +// Sources: rockset.S3CollectionSourceArray{ +// &rockset.S3CollectionSourceArgs{ +// Bucket: pulumi.String("rockset-public-datasets"), +// IntegrationName: public.Name, +// Pattern: pulumi.String("cities/*.json"), +// Format: pulumi.String("json"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = rockset.NewView(ctx, "brazil", &rockset.ViewArgs{ +// Query: pulumi.String("SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'"), +// Workspace: sample.Name, +// }, pulumi.DependsOn([]pulumi.Resource{ +// cities, +// })) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type View struct { + pulumi.CustomResourceState + + // The user who created the view. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` + // SQL query used for thw view. + Query pulumi.StringOutput `pulumi:"query"` + // Workspace name. + Workspace pulumi.StringOutput `pulumi:"workspace"` +} + +// NewView registers a new resource with the given unique name, arguments, and options. +func NewView(ctx *pulumi.Context, + name string, args *ViewArgs, opts ...pulumi.ResourceOption) (*View, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Query == nil { + return nil, errors.New("invalid value for required argument 'Query'") + } + if args.Workspace == nil { + return nil, errors.New("invalid value for required argument 'Workspace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource View + err := ctx.RegisterResource("rockset:index/view:View", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetView gets an existing View resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetView(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ViewState, opts ...pulumi.ResourceOption) (*View, error) { + var resource View + err := ctx.ReadResource("rockset:index/view:View", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering View resources. +type viewState struct { + // The user who created the view. + CreatedBy *string `pulumi:"createdBy"` + // Text describing the collection. + Description *string `pulumi:"description"` + // Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // SQL query used for thw view. + Query *string `pulumi:"query"` + // Workspace name. + Workspace *string `pulumi:"workspace"` +} + +type ViewState struct { + // The user who created the view. + CreatedBy pulumi.StringPtrInput + // Text describing the collection. + Description pulumi.StringPtrInput + // Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // SQL query used for thw view. + Query pulumi.StringPtrInput + // Workspace name. + Workspace pulumi.StringPtrInput +} + +func (ViewState) ElementType() reflect.Type { + return reflect.TypeOf((*viewState)(nil)).Elem() +} + +type viewArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` + // SQL query used for thw view. + Query string `pulumi:"query"` + // Workspace name. + Workspace string `pulumi:"workspace"` +} + +// The set of arguments for constructing a View resource. +type ViewArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput + // SQL query used for thw view. + Query pulumi.StringInput + // Workspace name. + Workspace pulumi.StringInput +} + +func (ViewArgs) ElementType() reflect.Type { + return reflect.TypeOf((*viewArgs)(nil)).Elem() +} + +type ViewInput interface { + pulumi.Input + + ToViewOutput() ViewOutput + ToViewOutputWithContext(ctx context.Context) ViewOutput +} + +func (*View) ElementType() reflect.Type { + return reflect.TypeOf((**View)(nil)).Elem() +} + +func (i *View) ToViewOutput() ViewOutput { + return i.ToViewOutputWithContext(context.Background()) +} + +func (i *View) ToViewOutputWithContext(ctx context.Context) ViewOutput { + return pulumi.ToOutputWithContext(ctx, i).(ViewOutput) +} + +// ViewArrayInput is an input type that accepts ViewArray and ViewArrayOutput values. +// You can construct a concrete instance of `ViewArrayInput` via: +// +// ViewArray{ ViewArgs{...} } +type ViewArrayInput interface { + pulumi.Input + + ToViewArrayOutput() ViewArrayOutput + ToViewArrayOutputWithContext(context.Context) ViewArrayOutput +} + +type ViewArray []ViewInput + +func (ViewArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*View)(nil)).Elem() +} + +func (i ViewArray) ToViewArrayOutput() ViewArrayOutput { + return i.ToViewArrayOutputWithContext(context.Background()) +} + +func (i ViewArray) ToViewArrayOutputWithContext(ctx context.Context) ViewArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ViewArrayOutput) +} + +// ViewMapInput is an input type that accepts ViewMap and ViewMapOutput values. +// You can construct a concrete instance of `ViewMapInput` via: +// +// ViewMap{ "key": ViewArgs{...} } +type ViewMapInput interface { + pulumi.Input + + ToViewMapOutput() ViewMapOutput + ToViewMapOutputWithContext(context.Context) ViewMapOutput +} + +type ViewMap map[string]ViewInput + +func (ViewMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*View)(nil)).Elem() +} + +func (i ViewMap) ToViewMapOutput() ViewMapOutput { + return i.ToViewMapOutputWithContext(context.Background()) +} + +func (i ViewMap) ToViewMapOutputWithContext(ctx context.Context) ViewMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ViewMapOutput) +} + +type ViewOutput struct{ *pulumi.OutputState } + +func (ViewOutput) ElementType() reflect.Type { + return reflect.TypeOf((**View)(nil)).Elem() +} + +func (o ViewOutput) ToViewOutput() ViewOutput { + return o +} + +func (o ViewOutput) ToViewOutputWithContext(ctx context.Context) ViewOutput { + return o +} + +// The user who created the view. +func (o ViewOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *View) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Text describing the collection. +func (o ViewOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *View) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique name for the view in the workspace. Can contain alphanumeric or dash characters. +func (o ViewOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *View) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// SQL query used for thw view. +func (o ViewOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v *View) pulumi.StringOutput { return v.Query }).(pulumi.StringOutput) +} + +// Workspace name. +func (o ViewOutput) Workspace() pulumi.StringOutput { + return o.ApplyT(func(v *View) pulumi.StringOutput { return v.Workspace }).(pulumi.StringOutput) +} + +type ViewArrayOutput struct{ *pulumi.OutputState } + +func (ViewArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*View)(nil)).Elem() +} + +func (o ViewArrayOutput) ToViewArrayOutput() ViewArrayOutput { + return o +} + +func (o ViewArrayOutput) ToViewArrayOutputWithContext(ctx context.Context) ViewArrayOutput { + return o +} + +func (o ViewArrayOutput) Index(i pulumi.IntInput) ViewOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *View { + return vs[0].([]*View)[vs[1].(int)] + }).(ViewOutput) +} + +type ViewMapOutput struct{ *pulumi.OutputState } + +func (ViewMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*View)(nil)).Elem() +} + +func (o ViewMapOutput) ToViewMapOutput() ViewMapOutput { + return o +} + +func (o ViewMapOutput) ToViewMapOutputWithContext(ctx context.Context) ViewMapOutput { + return o +} + +func (o ViewMapOutput) MapIndex(k pulumi.StringInput) ViewOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *View { + return vs[0].(map[string]*View)[vs[1].(string)] + }).(ViewOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ViewInput)(nil)).Elem(), &View{}) + pulumi.RegisterInputType(reflect.TypeOf((*ViewArrayInput)(nil)).Elem(), ViewArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ViewMapInput)(nil)).Elem(), ViewMap{}) + pulumi.RegisterOutputType(ViewOutput{}) + pulumi.RegisterOutputType(ViewArrayOutput{}) + pulumi.RegisterOutputType(ViewMapOutput{}) +} diff --git a/sdk/go/rockset/virtualInstance.go b/sdk/go/rockset/virtualInstance.go new file mode 100644 index 0000000..e178ee1 --- /dev/null +++ b/sdk/go/rockset/virtualInstance.go @@ -0,0 +1,405 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "errors" + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset Virtual Instance. To be able to create a new Virtual Instance, +// The main virtual instance must use a dedicated instance to create a secondary virtual instance, +// which must be SMALL or larger. To enable live mount, the secondary virtual instance must be MEDIUM or larger. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// query, err := rockset.NewVirtualInstance(ctx, "query", &rockset.VirtualInstanceArgs{ +// Description: pulumi.String("vi for executing query lambdas"), +// Size: pulumi.String("MEDIUM"), +// RemountOnResume: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// _, err = rockset.NewCollectionMount(ctx, "patch", &rockset.CollectionMountArgs{ +// VirtualInstanceId: query.ID(), +// Path: pulumi.String("commons.data"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// ```sh +// +// $ pulumi import rockset:index/virtualInstance:VirtualInstance query 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 +// +// ``` +type VirtualInstance struct { + pulumi.CustomResourceState + + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds pulumi.IntPtrOutput `pulumi:"autoSuspendSeconds"` + // Current size of the virtual instance. + CurrentSize pulumi.StringOutput `pulumi:"currentSize"` + // Is this Virtual Instance the default. + Default pulumi.BoolOutput `pulumi:"default"` + // Description of the virtual instance. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Desired size of the virtual instance. + DesiredSize pulumi.StringOutput `pulumi:"desiredSize"` + // Is monitoring enabled for this Virtual Instance. + MonitoringEnabled pulumi.BoolOutput `pulumi:"monitoringEnabled"` + // Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + MountRefreshIntervalSeconds pulumi.IntPtrOutput `pulumi:"mountRefreshIntervalSeconds"` + // Name of the virtual instance. + Name pulumi.StringOutput `pulumi:"name"` + // When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + RemountOnResume pulumi.BoolPtrOutput `pulumi:"remountOnResume"` + // RRN of this Virtual Instance. + Rrn pulumi.StringOutput `pulumi:"rrn"` + // Requested virtual instance size. Note that this field is called type in the API documentation. + Size pulumi.StringOutput `pulumi:"size"` + // Virtual Instance state. + State pulumi.StringOutput `pulumi:"state"` +} + +// NewVirtualInstance registers a new resource with the given unique name, arguments, and options. +func NewVirtualInstance(ctx *pulumi.Context, + name string, args *VirtualInstanceArgs, opts ...pulumi.ResourceOption) (*VirtualInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Size == nil { + return nil, errors.New("invalid value for required argument 'Size'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VirtualInstance + err := ctx.RegisterResource("rockset:index/virtualInstance:VirtualInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVirtualInstance gets an existing VirtualInstance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetVirtualInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VirtualInstanceState, opts ...pulumi.ResourceOption) (*VirtualInstance, error) { + var resource VirtualInstance + err := ctx.ReadResource("rockset:index/virtualInstance:VirtualInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VirtualInstance resources. +type virtualInstanceState struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds *int `pulumi:"autoSuspendSeconds"` + // Current size of the virtual instance. + CurrentSize *string `pulumi:"currentSize"` + // Is this Virtual Instance the default. + Default *bool `pulumi:"default"` + // Description of the virtual instance. + Description *string `pulumi:"description"` + // Desired size of the virtual instance. + DesiredSize *string `pulumi:"desiredSize"` + // Is monitoring enabled for this Virtual Instance. + MonitoringEnabled *bool `pulumi:"monitoringEnabled"` + // Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + MountRefreshIntervalSeconds *int `pulumi:"mountRefreshIntervalSeconds"` + // Name of the virtual instance. + Name *string `pulumi:"name"` + // When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + RemountOnResume *bool `pulumi:"remountOnResume"` + // RRN of this Virtual Instance. + Rrn *string `pulumi:"rrn"` + // Requested virtual instance size. Note that this field is called type in the API documentation. + Size *string `pulumi:"size"` + // Virtual Instance state. + State *string `pulumi:"state"` +} + +type VirtualInstanceState struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds pulumi.IntPtrInput + // Current size of the virtual instance. + CurrentSize pulumi.StringPtrInput + // Is this Virtual Instance the default. + Default pulumi.BoolPtrInput + // Description of the virtual instance. + Description pulumi.StringPtrInput + // Desired size of the virtual instance. + DesiredSize pulumi.StringPtrInput + // Is monitoring enabled for this Virtual Instance. + MonitoringEnabled pulumi.BoolPtrInput + // Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + MountRefreshIntervalSeconds pulumi.IntPtrInput + // Name of the virtual instance. + Name pulumi.StringPtrInput + // When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + RemountOnResume pulumi.BoolPtrInput + // RRN of this Virtual Instance. + Rrn pulumi.StringPtrInput + // Requested virtual instance size. Note that this field is called type in the API documentation. + Size pulumi.StringPtrInput + // Virtual Instance state. + State pulumi.StringPtrInput +} + +func (VirtualInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*virtualInstanceState)(nil)).Elem() +} + +type virtualInstanceArgs struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds *int `pulumi:"autoSuspendSeconds"` + // Description of the virtual instance. + Description *string `pulumi:"description"` + // Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + MountRefreshIntervalSeconds *int `pulumi:"mountRefreshIntervalSeconds"` + // Name of the virtual instance. + Name *string `pulumi:"name"` + // When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + RemountOnResume *bool `pulumi:"remountOnResume"` + // Requested virtual instance size. Note that this field is called type in the API documentation. + Size string `pulumi:"size"` +} + +// The set of arguments for constructing a VirtualInstance resource. +type VirtualInstanceArgs struct { + // Number of seconds without queries after which the Virtual Instance is suspended. + AutoSuspendSeconds pulumi.IntPtrInput + // Description of the virtual instance. + Description pulumi.StringPtrInput + // Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + MountRefreshIntervalSeconds pulumi.IntPtrInput + // Name of the virtual instance. + Name pulumi.StringPtrInput + // When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + RemountOnResume pulumi.BoolPtrInput + // Requested virtual instance size. Note that this field is called type in the API documentation. + Size pulumi.StringInput +} + +func (VirtualInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*virtualInstanceArgs)(nil)).Elem() +} + +type VirtualInstanceInput interface { + pulumi.Input + + ToVirtualInstanceOutput() VirtualInstanceOutput + ToVirtualInstanceOutputWithContext(ctx context.Context) VirtualInstanceOutput +} + +func (*VirtualInstance) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualInstance)(nil)).Elem() +} + +func (i *VirtualInstance) ToVirtualInstanceOutput() VirtualInstanceOutput { + return i.ToVirtualInstanceOutputWithContext(context.Background()) +} + +func (i *VirtualInstance) ToVirtualInstanceOutputWithContext(ctx context.Context) VirtualInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualInstanceOutput) +} + +// VirtualInstanceArrayInput is an input type that accepts VirtualInstanceArray and VirtualInstanceArrayOutput values. +// You can construct a concrete instance of `VirtualInstanceArrayInput` via: +// +// VirtualInstanceArray{ VirtualInstanceArgs{...} } +type VirtualInstanceArrayInput interface { + pulumi.Input + + ToVirtualInstanceArrayOutput() VirtualInstanceArrayOutput + ToVirtualInstanceArrayOutputWithContext(context.Context) VirtualInstanceArrayOutput +} + +type VirtualInstanceArray []VirtualInstanceInput + +func (VirtualInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VirtualInstance)(nil)).Elem() +} + +func (i VirtualInstanceArray) ToVirtualInstanceArrayOutput() VirtualInstanceArrayOutput { + return i.ToVirtualInstanceArrayOutputWithContext(context.Background()) +} + +func (i VirtualInstanceArray) ToVirtualInstanceArrayOutputWithContext(ctx context.Context) VirtualInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualInstanceArrayOutput) +} + +// VirtualInstanceMapInput is an input type that accepts VirtualInstanceMap and VirtualInstanceMapOutput values. +// You can construct a concrete instance of `VirtualInstanceMapInput` via: +// +// VirtualInstanceMap{ "key": VirtualInstanceArgs{...} } +type VirtualInstanceMapInput interface { + pulumi.Input + + ToVirtualInstanceMapOutput() VirtualInstanceMapOutput + ToVirtualInstanceMapOutputWithContext(context.Context) VirtualInstanceMapOutput +} + +type VirtualInstanceMap map[string]VirtualInstanceInput + +func (VirtualInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VirtualInstance)(nil)).Elem() +} + +func (i VirtualInstanceMap) ToVirtualInstanceMapOutput() VirtualInstanceMapOutput { + return i.ToVirtualInstanceMapOutputWithContext(context.Background()) +} + +func (i VirtualInstanceMap) ToVirtualInstanceMapOutputWithContext(ctx context.Context) VirtualInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualInstanceMapOutput) +} + +type VirtualInstanceOutput struct{ *pulumi.OutputState } + +func (VirtualInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualInstance)(nil)).Elem() +} + +func (o VirtualInstanceOutput) ToVirtualInstanceOutput() VirtualInstanceOutput { + return o +} + +func (o VirtualInstanceOutput) ToVirtualInstanceOutputWithContext(ctx context.Context) VirtualInstanceOutput { + return o +} + +// Number of seconds without queries after which the Virtual Instance is suspended. +func (o VirtualInstanceOutput) AutoSuspendSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.IntPtrOutput { return v.AutoSuspendSeconds }).(pulumi.IntPtrOutput) +} + +// Current size of the virtual instance. +func (o VirtualInstanceOutput) CurrentSize() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringOutput { return v.CurrentSize }).(pulumi.StringOutput) +} + +// Is this Virtual Instance the default. +func (o VirtualInstanceOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.BoolOutput { return v.Default }).(pulumi.BoolOutput) +} + +// Description of the virtual instance. +func (o VirtualInstanceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Desired size of the virtual instance. +func (o VirtualInstanceOutput) DesiredSize() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringOutput { return v.DesiredSize }).(pulumi.StringOutput) +} + +// Is monitoring enabled for this Virtual Instance. +func (o VirtualInstanceOutput) MonitoringEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.BoolOutput { return v.MonitoringEnabled }).(pulumi.BoolOutput) +} + +// Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. +func (o VirtualInstanceOutput) MountRefreshIntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.IntPtrOutput { return v.MountRefreshIntervalSeconds }).(pulumi.IntPtrOutput) +} + +// Name of the virtual instance. +func (o VirtualInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. +func (o VirtualInstanceOutput) RemountOnResume() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.BoolPtrOutput { return v.RemountOnResume }).(pulumi.BoolPtrOutput) +} + +// RRN of this Virtual Instance. +func (o VirtualInstanceOutput) Rrn() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringOutput { return v.Rrn }).(pulumi.StringOutput) +} + +// Requested virtual instance size. Note that this field is called type in the API documentation. +func (o VirtualInstanceOutput) Size() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringOutput { return v.Size }).(pulumi.StringOutput) +} + +// Virtual Instance state. +func (o VirtualInstanceOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualInstance) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +type VirtualInstanceArrayOutput struct{ *pulumi.OutputState } + +func (VirtualInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VirtualInstance)(nil)).Elem() +} + +func (o VirtualInstanceArrayOutput) ToVirtualInstanceArrayOutput() VirtualInstanceArrayOutput { + return o +} + +func (o VirtualInstanceArrayOutput) ToVirtualInstanceArrayOutputWithContext(ctx context.Context) VirtualInstanceArrayOutput { + return o +} + +func (o VirtualInstanceArrayOutput) Index(i pulumi.IntInput) VirtualInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VirtualInstance { + return vs[0].([]*VirtualInstance)[vs[1].(int)] + }).(VirtualInstanceOutput) +} + +type VirtualInstanceMapOutput struct{ *pulumi.OutputState } + +func (VirtualInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VirtualInstance)(nil)).Elem() +} + +func (o VirtualInstanceMapOutput) ToVirtualInstanceMapOutput() VirtualInstanceMapOutput { + return o +} + +func (o VirtualInstanceMapOutput) ToVirtualInstanceMapOutputWithContext(ctx context.Context) VirtualInstanceMapOutput { + return o +} + +func (o VirtualInstanceMapOutput) MapIndex(k pulumi.StringInput) VirtualInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VirtualInstance { + return vs[0].(map[string]*VirtualInstance)[vs[1].(string)] + }).(VirtualInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VirtualInstanceInput)(nil)).Elem(), &VirtualInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*VirtualInstanceArrayInput)(nil)).Elem(), VirtualInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VirtualInstanceMapInput)(nil)).Elem(), VirtualInstanceMap{}) + pulumi.RegisterOutputType(VirtualInstanceOutput{}) + pulumi.RegisterOutputType(VirtualInstanceArrayOutput{}) + pulumi.RegisterOutputType(VirtualInstanceMapOutput{}) +} diff --git a/sdk/go/rockset/workspace.go b/sdk/go/rockset/workspace.go new file mode 100644 index 0000000..f84a51b --- /dev/null +++ b/sdk/go/rockset/workspace.go @@ -0,0 +1,297 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rockset + +import ( + "context" + "reflect" + + "github.com/ddn0/pulumi-rockset/sdk/go/rockset/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Rockset workspace, which can hold collections, query lambdas and views. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/ddn0/pulumi-rockset/sdk/go/rockset" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rockset.NewWorkspace(ctx, "demo", &rockset.WorkspaceArgs{ +// Description: pulumi.String("a workspace for demo collections"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// ```sh +// +// $ pulumi import rockset:index/workspace:Workspace demo demo +// +// ``` +type Workspace struct { + pulumi.CustomResourceState + + // Number of collections in the workspace. + CollectionCount pulumi.IntOutput `pulumi:"collectionCount"` + // Created at in ISO-8601. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The user who created the workspace. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Text describing the collection. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Unique identifier for workspace. Can contain alphanumeric or dash characters. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewWorkspace registers a new resource with the given unique name, arguments, and options. +func NewWorkspace(ctx *pulumi.Context, + name string, args *WorkspaceArgs, opts ...pulumi.ResourceOption) (*Workspace, error) { + if args == nil { + args = &WorkspaceArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Workspace + err := ctx.RegisterResource("rockset:index/workspace:Workspace", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetWorkspace gets an existing Workspace resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetWorkspace(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *WorkspaceState, opts ...pulumi.ResourceOption) (*Workspace, error) { + var resource Workspace + err := ctx.ReadResource("rockset:index/workspace:Workspace", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Workspace resources. +type workspaceState struct { + // Number of collections in the workspace. + CollectionCount *int `pulumi:"collectionCount"` + // Created at in ISO-8601. + CreatedAt *string `pulumi:"createdAt"` + // The user who created the workspace. + CreatedBy *string `pulumi:"createdBy"` + // Text describing the collection. + Description *string `pulumi:"description"` + // Unique identifier for workspace. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +type WorkspaceState struct { + // Number of collections in the workspace. + CollectionCount pulumi.IntPtrInput + // Created at in ISO-8601. + CreatedAt pulumi.StringPtrInput + // The user who created the workspace. + CreatedBy pulumi.StringPtrInput + // Text describing the collection. + Description pulumi.StringPtrInput + // Unique identifier for workspace. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (WorkspaceState) ElementType() reflect.Type { + return reflect.TypeOf((*workspaceState)(nil)).Elem() +} + +type workspaceArgs struct { + // Text describing the collection. + Description *string `pulumi:"description"` + // Unique identifier for workspace. Can contain alphanumeric or dash characters. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a Workspace resource. +type WorkspaceArgs struct { + // Text describing the collection. + Description pulumi.StringPtrInput + // Unique identifier for workspace. Can contain alphanumeric or dash characters. + Name pulumi.StringPtrInput +} + +func (WorkspaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*workspaceArgs)(nil)).Elem() +} + +type WorkspaceInput interface { + pulumi.Input + + ToWorkspaceOutput() WorkspaceOutput + ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput +} + +func (*Workspace) ElementType() reflect.Type { + return reflect.TypeOf((**Workspace)(nil)).Elem() +} + +func (i *Workspace) ToWorkspaceOutput() WorkspaceOutput { + return i.ToWorkspaceOutputWithContext(context.Background()) +} + +func (i *Workspace) ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceOutput) +} + +// WorkspaceArrayInput is an input type that accepts WorkspaceArray and WorkspaceArrayOutput values. +// You can construct a concrete instance of `WorkspaceArrayInput` via: +// +// WorkspaceArray{ WorkspaceArgs{...} } +type WorkspaceArrayInput interface { + pulumi.Input + + ToWorkspaceArrayOutput() WorkspaceArrayOutput + ToWorkspaceArrayOutputWithContext(context.Context) WorkspaceArrayOutput +} + +type WorkspaceArray []WorkspaceInput + +func (WorkspaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Workspace)(nil)).Elem() +} + +func (i WorkspaceArray) ToWorkspaceArrayOutput() WorkspaceArrayOutput { + return i.ToWorkspaceArrayOutputWithContext(context.Background()) +} + +func (i WorkspaceArray) ToWorkspaceArrayOutputWithContext(ctx context.Context) WorkspaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceArrayOutput) +} + +// WorkspaceMapInput is an input type that accepts WorkspaceMap and WorkspaceMapOutput values. +// You can construct a concrete instance of `WorkspaceMapInput` via: +// +// WorkspaceMap{ "key": WorkspaceArgs{...} } +type WorkspaceMapInput interface { + pulumi.Input + + ToWorkspaceMapOutput() WorkspaceMapOutput + ToWorkspaceMapOutputWithContext(context.Context) WorkspaceMapOutput +} + +type WorkspaceMap map[string]WorkspaceInput + +func (WorkspaceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Workspace)(nil)).Elem() +} + +func (i WorkspaceMap) ToWorkspaceMapOutput() WorkspaceMapOutput { + return i.ToWorkspaceMapOutputWithContext(context.Background()) +} + +func (i WorkspaceMap) ToWorkspaceMapOutputWithContext(ctx context.Context) WorkspaceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceMapOutput) +} + +type WorkspaceOutput struct{ *pulumi.OutputState } + +func (WorkspaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Workspace)(nil)).Elem() +} + +func (o WorkspaceOutput) ToWorkspaceOutput() WorkspaceOutput { + return o +} + +func (o WorkspaceOutput) ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput { + return o +} + +// Number of collections in the workspace. +func (o WorkspaceOutput) CollectionCount() pulumi.IntOutput { + return o.ApplyT(func(v *Workspace) pulumi.IntOutput { return v.CollectionCount }).(pulumi.IntOutput) +} + +// Created at in ISO-8601. +func (o WorkspaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The user who created the workspace. +func (o WorkspaceOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Text describing the collection. +func (o WorkspaceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspace) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Unique identifier for workspace. Can contain alphanumeric or dash characters. +func (o WorkspaceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type WorkspaceArrayOutput struct{ *pulumi.OutputState } + +func (WorkspaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Workspace)(nil)).Elem() +} + +func (o WorkspaceArrayOutput) ToWorkspaceArrayOutput() WorkspaceArrayOutput { + return o +} + +func (o WorkspaceArrayOutput) ToWorkspaceArrayOutputWithContext(ctx context.Context) WorkspaceArrayOutput { + return o +} + +func (o WorkspaceArrayOutput) Index(i pulumi.IntInput) WorkspaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Workspace { + return vs[0].([]*Workspace)[vs[1].(int)] + }).(WorkspaceOutput) +} + +type WorkspaceMapOutput struct{ *pulumi.OutputState } + +func (WorkspaceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Workspace)(nil)).Elem() +} + +func (o WorkspaceMapOutput) ToWorkspaceMapOutput() WorkspaceMapOutput { + return o +} + +func (o WorkspaceMapOutput) ToWorkspaceMapOutputWithContext(ctx context.Context) WorkspaceMapOutput { + return o +} + +func (o WorkspaceMapOutput) MapIndex(k pulumi.StringInput) WorkspaceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Workspace { + return vs[0].(map[string]*Workspace)[vs[1].(string)] + }).(WorkspaceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceInput)(nil)).Elem(), &Workspace{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceArrayInput)(nil)).Elem(), WorkspaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceMapInput)(nil)).Elem(), WorkspaceMap{}) + pulumi.RegisterOutputType(WorkspaceOutput{}) + pulumi.RegisterOutputType(WorkspaceArrayOutput{}) + pulumi.RegisterOutputType(WorkspaceMapOutput{}) +} diff --git a/sdk/nodejs/Pulumi.yaml b/sdk/nodejs/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/nodejs/README.md b/sdk/nodejs/README.md new file mode 100644 index 0000000..ebcfe76 --- /dev/null +++ b/sdk/nodejs/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/rockset/terraform-provider-rockset) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi-rockset` repo](https://github.com/ddn0/pulumi-rockset/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-provider-rockset` repo](https://github.com/rockset/terraform-provider-rockset/issues). diff --git a/sdk/nodejs/alias.ts b/sdk/nodejs/alias.ts new file mode 100644 index 0000000..c875569 --- /dev/null +++ b/sdk/nodejs/alias.ts @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages an alias for a set of collections. + */ +export class Alias extends pulumi.CustomResource { + /** + * Get an existing Alias resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AliasState, opts?: pulumi.CustomResourceOptions): Alias { + return new Alias(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/alias:Alias'; + + /** + * Returns true if the given object is an instance of Alias. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Alias { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Alias.__pulumiType; + } + + /** + * List of collections for this alias to refer to. + */ + public readonly collections!: pulumi.Output; + /** + * Text describing the alias. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the alias. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Name of the workspace the alias will be in. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a Alias resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AliasArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AliasArgs | AliasState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AliasState | undefined; + resourceInputs["collections"] = state ? state.collections : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as AliasArgs | undefined; + if ((!args || args.collections === undefined) && !opts.urn) { + throw new Error("Missing required property 'collections'"); + } + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["collections"] = args ? args.collections : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Alias.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Alias resources. + */ +export interface AliasState { + /** + * List of collections for this alias to refer to. + */ + collections?: pulumi.Input; + /** + * Text describing the alias. + */ + description?: pulumi.Input; + /** + * Unique identifier for the alias. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Name of the workspace the alias will be in. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Alias resource. + */ +export interface AliasArgs { + /** + * List of collections for this alias to refer to. + */ + collections: pulumi.Input; + /** + * Text describing the alias. + */ + description?: pulumi.Input; + /** + * Unique identifier for the alias. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Name of the workspace the alias will be in. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/apiKey.ts b/sdk/nodejs/apiKey.ts new file mode 100644 index 0000000..c814d87 --- /dev/null +++ b/sdk/nodejs/apiKey.ts @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manage a Rockset Api Key. + * + * Can be used together with roles to scope the actions the api key can take. + */ +export class ApiKey extends pulumi.CustomResource { + /** + * Get an existing ApiKey resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ApiKeyState, opts?: pulumi.CustomResourceOptions): ApiKey { + return new ApiKey(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/apiKey:ApiKey'; + + /** + * Returns true if the given object is an instance of ApiKey. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ApiKey { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ApiKey.__pulumiType; + } + + /** + * The resulting Rockset api key. + */ + public /*out*/ readonly key!: pulumi.Output; + /** + * Name of the api key. + */ + public readonly name!: pulumi.Output; + /** + * The role the api key will use. If not specified, "All User Assigned Roles" will be used. + */ + public readonly role!: pulumi.Output; + /** + * The user the key is created for. + */ + public /*out*/ readonly user!: pulumi.Output; + + /** + * Create a ApiKey resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: ApiKeyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ApiKeyArgs | ApiKeyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ApiKeyState | undefined; + resourceInputs["key"] = state ? state.key : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["role"] = state ? state.role : undefined; + resourceInputs["user"] = state ? state.user : undefined; + } else { + const args = argsOrState as ApiKeyArgs | undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["role"] = args ? args.role : undefined; + resourceInputs["key"] = undefined /*out*/; + resourceInputs["user"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["key"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(ApiKey.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ApiKey resources. + */ +export interface ApiKeyState { + /** + * The resulting Rockset api key. + */ + key?: pulumi.Input; + /** + * Name of the api key. + */ + name?: pulumi.Input; + /** + * The role the api key will use. If not specified, "All User Assigned Roles" will be used. + */ + role?: pulumi.Input; + /** + * The user the key is created for. + */ + user?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ApiKey resource. + */ +export interface ApiKeyArgs { + /** + * Name of the api key. + */ + name?: pulumi.Input; + /** + * The role the api key will use. If not specified, "All User Assigned Roles" will be used. + */ + role?: pulumi.Input; +} diff --git a/sdk/nodejs/collection.ts b/sdk/nodejs/collection.ts new file mode 100644 index 0000000..d64c37c --- /dev/null +++ b/sdk/nodejs/collection.ts @@ -0,0 +1,171 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a basic collection with no sources. Usually used for the write api. + */ +export class Collection extends pulumi.CustomResource { + /** + * Get an existing Collection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: CollectionState, opts?: pulumi.CustomResourceOptions): Collection { + return new Collection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/collection:Collection'; + + /** + * Returns true if the given object is an instance of Collection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Collection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Collection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a Collection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: CollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CollectionArgs | CollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as CollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Collection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Collection resources. + */ +export interface CollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Collection resource. + */ +export interface CollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/collectionMount.ts b/sdk/nodejs/collectionMount.ts new file mode 100644 index 0000000..5b6d517 --- /dev/null +++ b/sdk/nodejs/collectionMount.ts @@ -0,0 +1,182 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a collection mount. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const data = new rockset.CollectionMount("data", { + * virtualInstanceId: rockset_virtual_instance.secondary.id, + * path: "commons.data", + * }); + * ``` + * + * ## Import + * + * ```sh + * $ pulumi import rockset:index/collectionMount:CollectionMount demo 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + * ``` + */ +export class CollectionMount extends pulumi.CustomResource { + /** + * Get an existing CollectionMount resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: CollectionMountState, opts?: pulumi.CustomResourceOptions): CollectionMount { + return new CollectionMount(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/collectionMount:CollectionMount'; + + /** + * Returns true if the given object is an instance of CollectionMount. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CollectionMount { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CollectionMount.__pulumiType; + } + + /** + * ISO 8601 date when the mount was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + */ + public /*out*/ readonly lastRefreshTime!: pulumi.Output; + /** + * Collection path to be mounted, in the form workspace.collection + */ + public readonly path!: pulumi.Output; + /** + * RRN of this mount. + */ + public /*out*/ readonly rrn!: pulumi.Output; + /** + * UNIX timestamp in milliseconds when the snapshot expires. + */ + public /*out*/ readonly snapshotExpirationTime!: pulumi.Output; + /** + * Mount state. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * Virtual Instance id + */ + public readonly virtualInstanceId!: pulumi.Output; + /** + * Virtual Instance RRN + */ + public /*out*/ readonly virtualInstanceRrn!: pulumi.Output; + + /** + * Create a CollectionMount resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: CollectionMountArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CollectionMountArgs | CollectionMountState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CollectionMountState | undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["lastRefreshTime"] = state ? state.lastRefreshTime : undefined; + resourceInputs["path"] = state ? state.path : undefined; + resourceInputs["rrn"] = state ? state.rrn : undefined; + resourceInputs["snapshotExpirationTime"] = state ? state.snapshotExpirationTime : undefined; + resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["virtualInstanceId"] = state ? state.virtualInstanceId : undefined; + resourceInputs["virtualInstanceRrn"] = state ? state.virtualInstanceRrn : undefined; + } else { + const args = argsOrState as CollectionMountArgs | undefined; + if ((!args || args.path === undefined) && !opts.urn) { + throw new Error("Missing required property 'path'"); + } + if ((!args || args.virtualInstanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'virtualInstanceId'"); + } + resourceInputs["path"] = args ? args.path : undefined; + resourceInputs["virtualInstanceId"] = args ? args.virtualInstanceId : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["lastRefreshTime"] = undefined /*out*/; + resourceInputs["rrn"] = undefined /*out*/; + resourceInputs["snapshotExpirationTime"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["virtualInstanceRrn"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CollectionMount.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CollectionMount resources. + */ +export interface CollectionMountState { + /** + * ISO 8601 date when the mount was created. + */ + createdAt?: pulumi.Input; + /** + * UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + */ + lastRefreshTime?: pulumi.Input; + /** + * Collection path to be mounted, in the form workspace.collection + */ + path?: pulumi.Input; + /** + * RRN of this mount. + */ + rrn?: pulumi.Input; + /** + * UNIX timestamp in milliseconds when the snapshot expires. + */ + snapshotExpirationTime?: pulumi.Input; + /** + * Mount state. + */ + state?: pulumi.Input; + /** + * Virtual Instance id + */ + virtualInstanceId?: pulumi.Input; + /** + * Virtual Instance RRN + */ + virtualInstanceRrn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CollectionMount resource. + */ +export interface CollectionMountArgs { + /** + * Collection path to be mounted, in the form workspace.collection + */ + path: pulumi.Input; + /** + * Virtual Instance id + */ + virtualInstanceId: pulumi.Input; +} diff --git a/sdk/nodejs/config/index.ts b/sdk/nodejs/config/index.ts new file mode 100644 index 0000000..ed497ed --- /dev/null +++ b/sdk/nodejs/config/index.ts @@ -0,0 +1,5 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +// Export members: +export * from "./vars"; diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts new file mode 100644 index 0000000..50024d4 --- /dev/null +++ b/sdk/nodejs/config/vars.ts @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +declare var exports: any; +const __config = new pulumi.Config("rockset"); + +/** + * The API key used to access Rockset + */ +export declare const apiKey: string | undefined; +Object.defineProperty(exports, "apiKey", { + get() { + return __config.get("apiKey"); + }, + enumerable: true, +}); + +/** + * The API server for accessing Rockset + */ +export declare const apiServer: string | undefined; +Object.defineProperty(exports, "apiServer", { + get() { + return __config.get("apiServer"); + }, + enumerable: true, +}); + diff --git a/sdk/nodejs/dynamodbCollection.ts b/sdk/nodejs/dynamodbCollection.ts new file mode 100644 index 0000000..05e9870 --- /dev/null +++ b/sdk/nodejs/dynamodbCollection.ts @@ -0,0 +1,187 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a collection with an DynamoDB source attached. + */ +export class DynamodbCollection extends pulumi.CustomResource { + /** + * Get an existing DynamodbCollection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: DynamodbCollectionState, opts?: pulumi.CustomResourceOptions): DynamodbCollection { + return new DynamodbCollection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/dynamodbCollection:DynamodbCollection'; + + /** + * Returns true if the given object is an instance of DynamodbCollection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DynamodbCollection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DynamodbCollection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Defines a source for this collection. + */ + public readonly sources!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a DynamodbCollection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DynamodbCollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DynamodbCollectionArgs | DynamodbCollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DynamodbCollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["sources"] = state ? state.sources : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as DynamodbCollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["sources"] = args ? args.sources : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DynamodbCollection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DynamodbCollection resources. + */ +export interface DynamodbCollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DynamodbCollection resource. + */ +export interface DynamodbCollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/dynamodbIntegration.ts b/sdk/nodejs/dynamodbIntegration.ts new file mode 100644 index 0000000..4c0c8d7 --- /dev/null +++ b/sdk/nodejs/dynamodbIntegration.ts @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset DynamoDB Integration. + */ +export class DynamodbIntegration extends pulumi.CustomResource { + /** + * Get an existing DynamodbIntegration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: DynamodbIntegrationState, opts?: pulumi.CustomResourceOptions): DynamodbIntegration { + return new DynamodbIntegration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/dynamodbIntegration:DynamodbIntegration'; + + /** + * Returns true if the given object is an instance of DynamodbIntegration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DynamodbIntegration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DynamodbIntegration.__pulumiType; + } + + /** + * The AWS Role Arn to use for this integration. + */ + public readonly awsRoleArn!: pulumi.Output; + /** + * Text describing the integration. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * AWS S3 bucket name used for exporting the DynamoDB tables. + */ + public readonly s3ExportBucketName!: pulumi.Output; + + /** + * Create a DynamodbIntegration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DynamodbIntegrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DynamodbIntegrationArgs | DynamodbIntegrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DynamodbIntegrationState | undefined; + resourceInputs["awsRoleArn"] = state ? state.awsRoleArn : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["s3ExportBucketName"] = state ? state.s3ExportBucketName : undefined; + } else { + const args = argsOrState as DynamodbIntegrationArgs | undefined; + if ((!args || args.awsRoleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'awsRoleArn'"); + } + if ((!args || args.s3ExportBucketName === undefined) && !opts.urn) { + throw new Error("Missing required property 's3ExportBucketName'"); + } + resourceInputs["awsRoleArn"] = args ? args.awsRoleArn : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["s3ExportBucketName"] = args ? args.s3ExportBucketName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DynamodbIntegration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DynamodbIntegration resources. + */ +export interface DynamodbIntegrationState { + /** + * The AWS Role Arn to use for this integration. + */ + awsRoleArn?: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * AWS S3 bucket name used for exporting the DynamoDB tables. + */ + s3ExportBucketName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DynamodbIntegration resource. + */ +export interface DynamodbIntegrationArgs { + /** + * The AWS Role Arn to use for this integration. + */ + awsRoleArn: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * AWS S3 bucket name used for exporting the DynamoDB tables. + */ + s3ExportBucketName: pulumi.Input; +} diff --git a/sdk/nodejs/gcsCollection.ts b/sdk/nodejs/gcsCollection.ts new file mode 100644 index 0000000..989ebd4 --- /dev/null +++ b/sdk/nodejs/gcsCollection.ts @@ -0,0 +1,187 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a collection with an GCS source attached. + */ +export class GcsCollection extends pulumi.CustomResource { + /** + * Get an existing GcsCollection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: GcsCollectionState, opts?: pulumi.CustomResourceOptions): GcsCollection { + return new GcsCollection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/gcsCollection:GcsCollection'; + + /** + * Returns true if the given object is an instance of GcsCollection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is GcsCollection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GcsCollection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Defines a source for this collection. + */ + public readonly sources!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a GcsCollection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: GcsCollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: GcsCollectionArgs | GcsCollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as GcsCollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["sources"] = state ? state.sources : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as GcsCollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["sources"] = args ? args.sources : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(GcsCollection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering GcsCollection resources. + */ +export interface GcsCollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a GcsCollection resource. + */ +export interface GcsCollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/gcsIntegration.ts b/sdk/nodejs/gcsIntegration.ts new file mode 100644 index 0000000..9edd7ec --- /dev/null +++ b/sdk/nodejs/gcsIntegration.ts @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset GCS Integration. + */ +export class GcsIntegration extends pulumi.CustomResource { + /** + * Get an existing GcsIntegration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: GcsIntegrationState, opts?: pulumi.CustomResourceOptions): GcsIntegration { + return new GcsIntegration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/gcsIntegration:GcsIntegration'; + + /** + * Returns true if the given object is an instance of GcsIntegration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is GcsIntegration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GcsIntegration.__pulumiType; + } + + /** + * Text describing the integration. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * The GCP service account key JSON. + */ + public readonly serviceAccountKey!: pulumi.Output; + + /** + * Create a GcsIntegration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: GcsIntegrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: GcsIntegrationArgs | GcsIntegrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as GcsIntegrationState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["serviceAccountKey"] = state ? state.serviceAccountKey : undefined; + } else { + const args = argsOrState as GcsIntegrationArgs | undefined; + if ((!args || args.serviceAccountKey === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceAccountKey'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["serviceAccountKey"] = args ? args.serviceAccountKey : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(GcsIntegration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering GcsIntegration resources. + */ +export interface GcsIntegrationState { + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * The GCP service account key JSON. + */ + serviceAccountKey?: pulumi.Input; +} + +/** + * The set of arguments for constructing a GcsIntegration resource. + */ +export interface GcsIntegrationArgs { + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * The GCP service account key JSON. + */ + serviceAccountKey: pulumi.Input; +} diff --git a/sdk/nodejs/getAccount.ts b/sdk/nodejs/getAccount.ts new file mode 100644 index 0000000..27bebc3 --- /dev/null +++ b/sdk/nodejs/getAccount.ts @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Gets information about the Rockset deployment for the specified api server. + */ +export function getAccount(opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("rockset:index/getAccount:getAccount", { + }, opts); +} + +/** + * A collection of values returned by getAccount. + */ +export interface GetAccountResult { + /** + * The AWS account ID to reference in AWS policies. + */ + readonly accountId: string; + /** + * The Rockset clusters available to this API key. + */ + readonly clusters: outputs.GetAccountCluster[]; + /** + * The external ID to use in AWS trust policies. + */ + readonly externalId: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * The name of the organization for the API key. + */ + readonly organization: string; + /** + * The name of the Rockset user used for AWS trust policies. + */ + readonly rocksetUser: string; +} +/** + * Gets information about the Rockset deployment for the specified api server. + */ +export function getAccountOutput(opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(getAccount(opts)) +} diff --git a/sdk/nodejs/getQueryLambdaTag.ts b/sdk/nodejs/getQueryLambdaTag.ts new file mode 100644 index 0000000..526384f --- /dev/null +++ b/sdk/nodejs/getQueryLambdaTag.ts @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +export function getQueryLambdaTag(args: GetQueryLambdaTagArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("rockset:index/getQueryLambdaTag:getQueryLambdaTag", { + "name": args.name, + "tag": args.tag, + "workspace": args.workspace, + }, opts); +} + +/** + * A collection of arguments for invoking getQueryLambdaTag. + */ +export interface GetQueryLambdaTagArgs { + /** + * Name of the query lambda. + */ + name: string; + /** + * Tag name. + */ + tag: string; + /** + * Workspace the query lambda resides in. + */ + workspace: string; +} + +/** + * A collection of values returned by getQueryLambdaTag. + */ +export interface GetQueryLambdaTagResult { + /** + * Description of the query lambda. + */ + readonly description: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Last time the query lambda was executed. + */ + readonly lastExecuted: string; + /** + * Name of the query lambda. + */ + readonly name: string; + /** + * Query lambda SQL. + */ + readonly sql: string; + /** + * Tag name. + */ + readonly tag: string; + /** + * Query lambda tag version. + */ + readonly version: string; + /** + * Workspace the query lambda resides in. + */ + readonly workspace: string; +} +export function getQueryLambdaTagOutput(args: GetQueryLambdaTagOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getQueryLambdaTag(a, opts)) +} + +/** + * A collection of arguments for invoking getQueryLambdaTag. + */ +export interface GetQueryLambdaTagOutputArgs { + /** + * Name of the query lambda. + */ + name: pulumi.Input; + /** + * Tag name. + */ + tag: pulumi.Input; + /** + * Workspace the query lambda resides in. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/getUser.ts b/sdk/nodejs/getUser.ts new file mode 100644 index 0000000..2dfb529 --- /dev/null +++ b/sdk/nodejs/getUser.ts @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * This data source can be used to fetch information about a specific user. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const pme = rockset.getUser({ + * email: "pme@rockset.com", + * }); + * ``` + */ +export function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("rockset:index/getUser:getUser", { + "email": args.email, + }, opts); +} + +/** + * A collection of arguments for invoking getUser. + */ +export interface GetUserArgs { + /** + * User email. + */ + email: string; +} + +/** + * A collection of values returned by getUser. + */ +export interface GetUserResult { + /** + * User email. + */ + readonly email: string; + /** + * User's first name. + */ + readonly firstName: string; + /** + * The user ID, in the form of the `email`. + */ + readonly id: string; + /** + * User's last name. + */ + readonly lastName: string; + /** + * List of roles for the user. E.g. 'admin', 'member', 'read-only'. + */ + readonly roles: string[]; + /** + * State of the user, either NEW or ACTIVE. + */ + readonly state: string; +} +/** + * This data source can be used to fetch information about a specific user. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const pme = rockset.getUser({ + * email: "pme@rockset.com", + * }); + * ``` + */ +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getUser(a, opts)) +} + +/** + * A collection of arguments for invoking getUser. + */ +export interface GetUserOutputArgs { + /** + * User email. + */ + email: pulumi.Input; +} diff --git a/sdk/nodejs/getVirtualInstance.ts b/sdk/nodejs/getVirtualInstance.ts new file mode 100644 index 0000000..440db40 --- /dev/null +++ b/sdk/nodejs/getVirtualInstance.ts @@ -0,0 +1,163 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +export function getVirtualInstance(args: GetVirtualInstanceArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("rockset:index/getVirtualInstance:getVirtualInstance", { + "autoSuspendSeconds": args.autoSuspendSeconds, + "currentSize": args.currentSize, + "default": args.default, + "description": args.description, + "desiredSize": args.desiredSize, + "enableRemountOnResume": args.enableRemountOnResume, + "id": args.id, + "mountRefreshIntervalSeconds": args.mountRefreshIntervalSeconds, + "name": args.name, + "state": args.state, + }, opts); +} + +/** + * A collection of arguments for invoking getVirtualInstance. + */ +export interface GetVirtualInstanceArgs { + /** + * Number of seconds without queries after which the Virtual Instance is suspended. + */ + autoSuspendSeconds?: number; + /** + * Virtual Instance current size. + */ + currentSize?: string; + /** + * Virtual Instance name. + */ + default?: boolean; + /** + * Virtual Instance description. + */ + description?: string; + /** + * Virtual Instance desired size. + */ + desiredSize?: string; + /** + * When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + */ + enableRemountOnResume?: boolean; + /** + * Virtual Instance id. + */ + id: string; + /** + * Number of seconds between data refreshes for mounts on this Virtual Instance. + */ + mountRefreshIntervalSeconds?: number; + /** + * Virtual Instance name. + */ + name?: string; + /** + * Virtual Instance state. + */ + state?: string; +} + +/** + * A collection of values returned by getVirtualInstance. + */ +export interface GetVirtualInstanceResult { + /** + * Number of seconds without queries after which the Virtual Instance is suspended. + */ + readonly autoSuspendSeconds?: number; + /** + * Virtual Instance current size. + */ + readonly currentSize?: string; + /** + * Virtual Instance name. + */ + readonly default?: boolean; + /** + * Virtual Instance description. + */ + readonly description?: string; + /** + * Virtual Instance desired size. + */ + readonly desiredSize?: string; + /** + * When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + */ + readonly enableRemountOnResume?: boolean; + /** + * Virtual Instance id. + */ + readonly id: string; + /** + * Number of seconds between data refreshes for mounts on this Virtual Instance. + */ + readonly mountRefreshIntervalSeconds?: number; + /** + * Virtual Instance name. + */ + readonly name?: string; + /** + * Virtual Instance state. + */ + readonly state?: string; +} +export function getVirtualInstanceOutput(args: GetVirtualInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualInstance(a, opts)) +} + +/** + * A collection of arguments for invoking getVirtualInstance. + */ +export interface GetVirtualInstanceOutputArgs { + /** + * Number of seconds without queries after which the Virtual Instance is suspended. + */ + autoSuspendSeconds?: pulumi.Input; + /** + * Virtual Instance current size. + */ + currentSize?: pulumi.Input; + /** + * Virtual Instance name. + */ + default?: pulumi.Input; + /** + * Virtual Instance description. + */ + description?: pulumi.Input; + /** + * Virtual Instance desired size. + */ + desiredSize?: pulumi.Input; + /** + * When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + */ + enableRemountOnResume?: pulumi.Input; + /** + * Virtual Instance id. + */ + id: pulumi.Input; + /** + * Number of seconds between data refreshes for mounts on this Virtual Instance. + */ + mountRefreshIntervalSeconds?: pulumi.Input; + /** + * Virtual Instance name. + */ + name?: pulumi.Input; + /** + * Virtual Instance state. + */ + state?: pulumi.Input; +} diff --git a/sdk/nodejs/getWorkspace.ts b/sdk/nodejs/getWorkspace.ts new file mode 100644 index 0000000..0b92787 --- /dev/null +++ b/sdk/nodejs/getWorkspace.ts @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Gets information about a workspace. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const demo = rockset.getWorkspace({ + * name: "demo", + * }); + * ``` + */ +export function getWorkspace(args: GetWorkspaceArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("rockset:index/getWorkspace:getWorkspace", { + "name": args.name, + }, opts); +} + +/** + * A collection of arguments for invoking getWorkspace. + */ +export interface GetWorkspaceArgs { + /** + * Workspace name. + */ + name: string; +} + +/** + * A collection of values returned by getWorkspace. + */ +export interface GetWorkspaceResult { + /** + * Number of collections in the workspace. + */ + readonly collectionCount: number; + /** + * Created at in ISO-8601. + */ + readonly createdAt: string; + /** + * Created by. + */ + readonly createdBy: string; + /** + * Workspace description. + */ + readonly description: string; + /** + * The workspace `name`. + */ + readonly id: string; + /** + * Workspace name. + */ + readonly name: string; +} +/** + * Gets information about a workspace. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const demo = rockset.getWorkspace({ + * name: "demo", + * }); + * ``` + */ +export function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getWorkspace(a, opts)) +} + +/** + * A collection of arguments for invoking getWorkspace. + */ +export interface GetWorkspaceOutputArgs { + /** + * Workspace name. + */ + name: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts new file mode 100644 index 0000000..0ea508f --- /dev/null +++ b/sdk/nodejs/index.ts @@ -0,0 +1,249 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +// Export members: +export { AliasArgs, AliasState } from "./alias"; +export type Alias = import("./alias").Alias; +export const Alias: typeof import("./alias").Alias = null as any; +utilities.lazyLoad(exports, ["Alias"], () => require("./alias")); + +export { ApiKeyArgs, ApiKeyState } from "./apiKey"; +export type ApiKey = import("./apiKey").ApiKey; +export const ApiKey: typeof import("./apiKey").ApiKey = null as any; +utilities.lazyLoad(exports, ["ApiKey"], () => require("./apiKey")); + +export { CollectionArgs, CollectionState } from "./collection"; +export type Collection = import("./collection").Collection; +export const Collection: typeof import("./collection").Collection = null as any; +utilities.lazyLoad(exports, ["Collection"], () => require("./collection")); + +export { CollectionMountArgs, CollectionMountState } from "./collectionMount"; +export type CollectionMount = import("./collectionMount").CollectionMount; +export const CollectionMount: typeof import("./collectionMount").CollectionMount = null as any; +utilities.lazyLoad(exports, ["CollectionMount"], () => require("./collectionMount")); + +export { DynamodbCollectionArgs, DynamodbCollectionState } from "./dynamodbCollection"; +export type DynamodbCollection = import("./dynamodbCollection").DynamodbCollection; +export const DynamodbCollection: typeof import("./dynamodbCollection").DynamodbCollection = null as any; +utilities.lazyLoad(exports, ["DynamodbCollection"], () => require("./dynamodbCollection")); + +export { DynamodbIntegrationArgs, DynamodbIntegrationState } from "./dynamodbIntegration"; +export type DynamodbIntegration = import("./dynamodbIntegration").DynamodbIntegration; +export const DynamodbIntegration: typeof import("./dynamodbIntegration").DynamodbIntegration = null as any; +utilities.lazyLoad(exports, ["DynamodbIntegration"], () => require("./dynamodbIntegration")); + +export { GcsCollectionArgs, GcsCollectionState } from "./gcsCollection"; +export type GcsCollection = import("./gcsCollection").GcsCollection; +export const GcsCollection: typeof import("./gcsCollection").GcsCollection = null as any; +utilities.lazyLoad(exports, ["GcsCollection"], () => require("./gcsCollection")); + +export { GcsIntegrationArgs, GcsIntegrationState } from "./gcsIntegration"; +export type GcsIntegration = import("./gcsIntegration").GcsIntegration; +export const GcsIntegration: typeof import("./gcsIntegration").GcsIntegration = null as any; +utilities.lazyLoad(exports, ["GcsIntegration"], () => require("./gcsIntegration")); + +export { GetAccountResult } from "./getAccount"; +export const getAccount: typeof import("./getAccount").getAccount = null as any; +export const getAccountOutput: typeof import("./getAccount").getAccountOutput = null as any; +utilities.lazyLoad(exports, ["getAccount","getAccountOutput"], () => require("./getAccount")); + +export { GetQueryLambdaTagArgs, GetQueryLambdaTagResult, GetQueryLambdaTagOutputArgs } from "./getQueryLambdaTag"; +export const getQueryLambdaTag: typeof import("./getQueryLambdaTag").getQueryLambdaTag = null as any; +export const getQueryLambdaTagOutput: typeof import("./getQueryLambdaTag").getQueryLambdaTagOutput = null as any; +utilities.lazyLoad(exports, ["getQueryLambdaTag","getQueryLambdaTagOutput"], () => require("./getQueryLambdaTag")); + +export { GetUserArgs, GetUserResult, GetUserOutputArgs } from "./getUser"; +export const getUser: typeof import("./getUser").getUser = null as any; +export const getUserOutput: typeof import("./getUser").getUserOutput = null as any; +utilities.lazyLoad(exports, ["getUser","getUserOutput"], () => require("./getUser")); + +export { GetVirtualInstanceArgs, GetVirtualInstanceResult, GetVirtualInstanceOutputArgs } from "./getVirtualInstance"; +export const getVirtualInstance: typeof import("./getVirtualInstance").getVirtualInstance = null as any; +export const getVirtualInstanceOutput: typeof import("./getVirtualInstance").getVirtualInstanceOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualInstance","getVirtualInstanceOutput"], () => require("./getVirtualInstance")); + +export { GetWorkspaceArgs, GetWorkspaceResult, GetWorkspaceOutputArgs } from "./getWorkspace"; +export const getWorkspace: typeof import("./getWorkspace").getWorkspace = null as any; +export const getWorkspaceOutput: typeof import("./getWorkspace").getWorkspaceOutput = null as any; +utilities.lazyLoad(exports, ["getWorkspace","getWorkspaceOutput"], () => require("./getWorkspace")); + +export { KafkaCollectionArgs, KafkaCollectionState } from "./kafkaCollection"; +export type KafkaCollection = import("./kafkaCollection").KafkaCollection; +export const KafkaCollection: typeof import("./kafkaCollection").KafkaCollection = null as any; +utilities.lazyLoad(exports, ["KafkaCollection"], () => require("./kafkaCollection")); + +export { KafkaIntegrationArgs, KafkaIntegrationState } from "./kafkaIntegration"; +export type KafkaIntegration = import("./kafkaIntegration").KafkaIntegration; +export const KafkaIntegration: typeof import("./kafkaIntegration").KafkaIntegration = null as any; +utilities.lazyLoad(exports, ["KafkaIntegration"], () => require("./kafkaIntegration")); + +export { KinesisCollectionArgs, KinesisCollectionState } from "./kinesisCollection"; +export type KinesisCollection = import("./kinesisCollection").KinesisCollection; +export const KinesisCollection: typeof import("./kinesisCollection").KinesisCollection = null as any; +utilities.lazyLoad(exports, ["KinesisCollection"], () => require("./kinesisCollection")); + +export { KinesisIntegrationArgs, KinesisIntegrationState } from "./kinesisIntegration"; +export type KinesisIntegration = import("./kinesisIntegration").KinesisIntegration; +export const KinesisIntegration: typeof import("./kinesisIntegration").KinesisIntegration = null as any; +utilities.lazyLoad(exports, ["KinesisIntegration"], () => require("./kinesisIntegration")); + +export { MongodbCollectionArgs, MongodbCollectionState } from "./mongodbCollection"; +export type MongodbCollection = import("./mongodbCollection").MongodbCollection; +export const MongodbCollection: typeof import("./mongodbCollection").MongodbCollection = null as any; +utilities.lazyLoad(exports, ["MongodbCollection"], () => require("./mongodbCollection")); + +export { MongodbIntegrationArgs, MongodbIntegrationState } from "./mongodbIntegration"; +export type MongodbIntegration = import("./mongodbIntegration").MongodbIntegration; +export const MongodbIntegration: typeof import("./mongodbIntegration").MongodbIntegration = null as any; +utilities.lazyLoad(exports, ["MongodbIntegration"], () => require("./mongodbIntegration")); + +export { ProviderArgs } from "./provider"; +export type Provider = import("./provider").Provider; +export const Provider: typeof import("./provider").Provider = null as any; +utilities.lazyLoad(exports, ["Provider"], () => require("./provider")); + +export { QueryLambdaArgs, QueryLambdaState } from "./queryLambda"; +export type QueryLambda = import("./queryLambda").QueryLambda; +export const QueryLambda: typeof import("./queryLambda").QueryLambda = null as any; +utilities.lazyLoad(exports, ["QueryLambda"], () => require("./queryLambda")); + +export { QueryLambdaTagArgs, QueryLambdaTagState } from "./queryLambdaTag"; +export type QueryLambdaTag = import("./queryLambdaTag").QueryLambdaTag; +export const QueryLambdaTag: typeof import("./queryLambdaTag").QueryLambdaTag = null as any; +utilities.lazyLoad(exports, ["QueryLambdaTag"], () => require("./queryLambdaTag")); + +export { RoleArgs, RoleState } from "./role"; +export type Role = import("./role").Role; +export const Role: typeof import("./role").Role = null as any; +utilities.lazyLoad(exports, ["Role"], () => require("./role")); + +export { S3CollectionArgs, S3CollectionState } from "./s3collection"; +export type S3Collection = import("./s3collection").S3Collection; +export const S3Collection: typeof import("./s3collection").S3Collection = null as any; +utilities.lazyLoad(exports, ["S3Collection"], () => require("./s3collection")); + +export { S3IntegrationArgs, S3IntegrationState } from "./s3integration"; +export type S3Integration = import("./s3integration").S3Integration; +export const S3Integration: typeof import("./s3integration").S3Integration = null as any; +utilities.lazyLoad(exports, ["S3Integration"], () => require("./s3integration")); + +export { UserArgs, UserState } from "./user"; +export type User = import("./user").User; +export const User: typeof import("./user").User = null as any; +utilities.lazyLoad(exports, ["User"], () => require("./user")); + +export { ViewArgs, ViewState } from "./view"; +export type View = import("./view").View; +export const View: typeof import("./view").View = null as any; +utilities.lazyLoad(exports, ["View"], () => require("./view")); + +export { VirtualInstanceArgs, VirtualInstanceState } from "./virtualInstance"; +export type VirtualInstance = import("./virtualInstance").VirtualInstance; +export const VirtualInstance: typeof import("./virtualInstance").VirtualInstance = null as any; +utilities.lazyLoad(exports, ["VirtualInstance"], () => require("./virtualInstance")); + +export { WorkspaceArgs, WorkspaceState } from "./workspace"; +export type Workspace = import("./workspace").Workspace; +export const Workspace: typeof import("./workspace").Workspace = null as any; +utilities.lazyLoad(exports, ["Workspace"], () => require("./workspace")); + + +// Export sub-modules: +import * as config from "./config"; +import * as types from "./types"; + +export { + config, + types, +}; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "rockset:index/alias:Alias": + return new Alias(name, undefined, { urn }) + case "rockset:index/apiKey:ApiKey": + return new ApiKey(name, undefined, { urn }) + case "rockset:index/collection:Collection": + return new Collection(name, undefined, { urn }) + case "rockset:index/collectionMount:CollectionMount": + return new CollectionMount(name, undefined, { urn }) + case "rockset:index/dynamodbCollection:DynamodbCollection": + return new DynamodbCollection(name, undefined, { urn }) + case "rockset:index/dynamodbIntegration:DynamodbIntegration": + return new DynamodbIntegration(name, undefined, { urn }) + case "rockset:index/gcsCollection:GcsCollection": + return new GcsCollection(name, undefined, { urn }) + case "rockset:index/gcsIntegration:GcsIntegration": + return new GcsIntegration(name, undefined, { urn }) + case "rockset:index/kafkaCollection:KafkaCollection": + return new KafkaCollection(name, undefined, { urn }) + case "rockset:index/kafkaIntegration:KafkaIntegration": + return new KafkaIntegration(name, undefined, { urn }) + case "rockset:index/kinesisCollection:KinesisCollection": + return new KinesisCollection(name, undefined, { urn }) + case "rockset:index/kinesisIntegration:KinesisIntegration": + return new KinesisIntegration(name, undefined, { urn }) + case "rockset:index/mongodbCollection:MongodbCollection": + return new MongodbCollection(name, undefined, { urn }) + case "rockset:index/mongodbIntegration:MongodbIntegration": + return new MongodbIntegration(name, undefined, { urn }) + case "rockset:index/queryLambda:QueryLambda": + return new QueryLambda(name, undefined, { urn }) + case "rockset:index/queryLambdaTag:QueryLambdaTag": + return new QueryLambdaTag(name, undefined, { urn }) + case "rockset:index/role:Role": + return new Role(name, undefined, { urn }) + case "rockset:index/s3Collection:S3Collection": + return new S3Collection(name, undefined, { urn }) + case "rockset:index/s3Integration:S3Integration": + return new S3Integration(name, undefined, { urn }) + case "rockset:index/user:User": + return new User(name, undefined, { urn }) + case "rockset:index/view:View": + return new View(name, undefined, { urn }) + case "rockset:index/virtualInstance:VirtualInstance": + return new VirtualInstance(name, undefined, { urn }) + case "rockset:index/workspace:Workspace": + return new Workspace(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("rockset", "index/alias", _module) +pulumi.runtime.registerResourceModule("rockset", "index/apiKey", _module) +pulumi.runtime.registerResourceModule("rockset", "index/collection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/collectionMount", _module) +pulumi.runtime.registerResourceModule("rockset", "index/dynamodbCollection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/dynamodbIntegration", _module) +pulumi.runtime.registerResourceModule("rockset", "index/gcsCollection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/gcsIntegration", _module) +pulumi.runtime.registerResourceModule("rockset", "index/kafkaCollection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/kafkaIntegration", _module) +pulumi.runtime.registerResourceModule("rockset", "index/kinesisCollection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/kinesisIntegration", _module) +pulumi.runtime.registerResourceModule("rockset", "index/mongodbCollection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/mongodbIntegration", _module) +pulumi.runtime.registerResourceModule("rockset", "index/queryLambda", _module) +pulumi.runtime.registerResourceModule("rockset", "index/queryLambdaTag", _module) +pulumi.runtime.registerResourceModule("rockset", "index/role", _module) +pulumi.runtime.registerResourceModule("rockset", "index/s3Collection", _module) +pulumi.runtime.registerResourceModule("rockset", "index/s3Integration", _module) +pulumi.runtime.registerResourceModule("rockset", "index/user", _module) +pulumi.runtime.registerResourceModule("rockset", "index/view", _module) +pulumi.runtime.registerResourceModule("rockset", "index/virtualInstance", _module) +pulumi.runtime.registerResourceModule("rockset", "index/workspace", _module) +pulumi.runtime.registerResourcePackage("rockset", { + version: utilities.getVersion(), + constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => { + if (type !== "pulumi:providers:rockset") { + throw new Error(`unknown provider type ${type}`); + } + return new Provider(name, undefined, { urn }); + }, +}); diff --git a/sdk/nodejs/kafkaCollection.ts b/sdk/nodejs/kafkaCollection.ts new file mode 100644 index 0000000..b07a7cb --- /dev/null +++ b/sdk/nodejs/kafkaCollection.ts @@ -0,0 +1,220 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a collection created from a Kafka source. The `useV3` field must match the integration which the collection is created from. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const config = new pulumi.Config(); + * const bootstrapServers = config.requireObject("bootstrapServers"); + * const apikey = config.requireObject("apikey"); + * const secret = config.requireObject("secret"); + * const confluentKafkaIntegration = new rockset.KafkaIntegration("confluentKafkaIntegration", { + * description: "Integration to ingest documents from Confluent Cloud", + * useV3: true, + * bootstrapServers: bootstrapServers, + * securityConfig: { + * api_key: apikey, + * secret: secret, + * }, + * }); + * const confluentWorkspace = new rockset.Workspace("confluentWorkspace", {description: "Collections from Confluent Cloud topics."}); + * const test = new rockset.KafkaCollection("test", { + * workspace: confluentWorkspace.name, + * description: "Collection from a Confluent Cloud topic.", + * retentionSecs: 3600, + * sources: [{ + * integrationName: confluentKafkaIntegration.name, + * useV3: true, + * topicName: "test_json", + * offsetResetPolicy: "EARLIEST", + * }], + * }); + * ``` + */ +export class KafkaCollection extends pulumi.CustomResource { + /** + * Get an existing KafkaCollection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: KafkaCollectionState, opts?: pulumi.CustomResourceOptions): KafkaCollection { + return new KafkaCollection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/kafkaCollection:KafkaCollection'; + + /** + * Returns true if the given object is an instance of KafkaCollection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is KafkaCollection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KafkaCollection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Defines a source for this collection. + */ + public readonly sources!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a KafkaCollection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: KafkaCollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: KafkaCollectionArgs | KafkaCollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as KafkaCollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["sources"] = state ? state.sources : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as KafkaCollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["sources"] = args ? args.sources : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(KafkaCollection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering KafkaCollection resources. + */ +export interface KafkaCollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a KafkaCollection resource. + */ +export interface KafkaCollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/kafkaIntegration.ts b/sdk/nodejs/kafkaIntegration.ts new file mode 100644 index 0000000..df0c56c --- /dev/null +++ b/sdk/nodejs/kafkaIntegration.ts @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as _null from "@pulumi/null"; + * import * as rockset from "@pulumi/rockset"; + * + * const config = new pulumi.Config(); + * const rocksetApiserver = config.get("rocksetApiserver") || "https://api.usw2a1.rockset.com"; + * const kafkaConnect = config.get("kafkaConnect") || "localhost:8083"; + * const topics = config.requireObject("topics"); + * const maxTasks = config.getNumber("maxTasks") || 10; + * const local = new rockset.KafkaIntegration("local", { + * description: "Integration to ingest from a local kafka.", + * kafkaDataFormat: "JSON", + * kafkaTopicNames: [ + * "foo", + * "bar", + * ], + * waitForIntegration: false, + * }); + * const configure_kafka_connect = new _null.Resource("configure-kafka-connect", {}); + * ``` + */ +export class KafkaIntegration extends pulumi.CustomResource { + /** + * Get an existing KafkaIntegration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: KafkaIntegrationState, opts?: pulumi.CustomResourceOptions): KafkaIntegration { + return new KafkaIntegration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/kafkaIntegration:KafkaIntegration'; + + /** + * Returns true if the given object is an instance of KafkaIntegration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is KafkaIntegration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KafkaIntegration.__pulumiType; + } + + /** + * The Kafka bootstrap server url(s). Required only for V3 integration. + */ + public readonly bootstrapServers!: pulumi.Output; + /** + * Kafka connection string. + */ + public readonly connectionString!: pulumi.Output; + /** + * Text describing the integration. + */ + public readonly description!: pulumi.Output; + /** + * The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + */ + public readonly kafkaDataFormat!: pulumi.Output; + /** + * Kafka topics to tail. + */ + public readonly kafkaTopicNames!: pulumi.Output; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Kafka configuration for schema registry. Required only for V3 integration. + */ + public readonly schemaRegistryConfig!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Kafka security configurations. Required only for V3 integration. + */ + public readonly securityConfig!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Use v3 for Confluent Cloud. + */ + public readonly useV3!: pulumi.Output; + /** + * Wait until the integration is active. + */ + public readonly waitForIntegration!: pulumi.Output; + + /** + * Create a KafkaIntegration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: KafkaIntegrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: KafkaIntegrationArgs | KafkaIntegrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as KafkaIntegrationState | undefined; + resourceInputs["bootstrapServers"] = state ? state.bootstrapServers : undefined; + resourceInputs["connectionString"] = state ? state.connectionString : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["kafkaDataFormat"] = state ? state.kafkaDataFormat : undefined; + resourceInputs["kafkaTopicNames"] = state ? state.kafkaTopicNames : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["schemaRegistryConfig"] = state ? state.schemaRegistryConfig : undefined; + resourceInputs["securityConfig"] = state ? state.securityConfig : undefined; + resourceInputs["useV3"] = state ? state.useV3 : undefined; + resourceInputs["waitForIntegration"] = state ? state.waitForIntegration : undefined; + } else { + const args = argsOrState as KafkaIntegrationArgs | undefined; + resourceInputs["bootstrapServers"] = args ? args.bootstrapServers : undefined; + resourceInputs["connectionString"] = args ? args.connectionString : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["kafkaDataFormat"] = args ? args.kafkaDataFormat : undefined; + resourceInputs["kafkaTopicNames"] = args ? args.kafkaTopicNames : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["schemaRegistryConfig"] = args ? args.schemaRegistryConfig : undefined; + resourceInputs["securityConfig"] = args ? args.securityConfig : undefined; + resourceInputs["useV3"] = args ? args.useV3 : undefined; + resourceInputs["waitForIntegration"] = args ? args.waitForIntegration : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(KafkaIntegration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering KafkaIntegration resources. + */ +export interface KafkaIntegrationState { + /** + * The Kafka bootstrap server url(s). Required only for V3 integration. + */ + bootstrapServers?: pulumi.Input; + /** + * Kafka connection string. + */ + connectionString?: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + */ + kafkaDataFormat?: pulumi.Input; + /** + * Kafka topics to tail. + */ + kafkaTopicNames?: pulumi.Input[]>; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Kafka configuration for schema registry. Required only for V3 integration. + */ + schemaRegistryConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Kafka security configurations. Required only for V3 integration. + */ + securityConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Use v3 for Confluent Cloud. + */ + useV3?: pulumi.Input; + /** + * Wait until the integration is active. + */ + waitForIntegration?: pulumi.Input; +} + +/** + * The set of arguments for constructing a KafkaIntegration resource. + */ +export interface KafkaIntegrationArgs { + /** + * The Kafka bootstrap server url(s). Required only for V3 integration. + */ + bootstrapServers?: pulumi.Input; + /** + * Kafka connection string. + */ + connectionString?: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + */ + kafkaDataFormat?: pulumi.Input; + /** + * Kafka topics to tail. + */ + kafkaTopicNames?: pulumi.Input[]>; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Kafka configuration for schema registry. Required only for V3 integration. + */ + schemaRegistryConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Kafka security configurations. Required only for V3 integration. + */ + securityConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Use v3 for Confluent Cloud. + */ + useV3?: pulumi.Input; + /** + * Wait until the integration is active. + */ + waitForIntegration?: pulumi.Input; +} diff --git a/sdk/nodejs/kinesisCollection.ts b/sdk/nodejs/kinesisCollection.ts new file mode 100644 index 0000000..4bbf342 --- /dev/null +++ b/sdk/nodejs/kinesisCollection.ts @@ -0,0 +1,187 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a collection with an Kinesis source attached. + */ +export class KinesisCollection extends pulumi.CustomResource { + /** + * Get an existing KinesisCollection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: KinesisCollectionState, opts?: pulumi.CustomResourceOptions): KinesisCollection { + return new KinesisCollection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/kinesisCollection:KinesisCollection'; + + /** + * Returns true if the given object is an instance of KinesisCollection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is KinesisCollection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KinesisCollection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Defines a source for this collection. + */ + public readonly sources!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a KinesisCollection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: KinesisCollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: KinesisCollectionArgs | KinesisCollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as KinesisCollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["sources"] = state ? state.sources : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as KinesisCollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["sources"] = args ? args.sources : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(KinesisCollection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering KinesisCollection resources. + */ +export interface KinesisCollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a KinesisCollection resource. + */ +export interface KinesisCollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/kinesisIntegration.ts b/sdk/nodejs/kinesisIntegration.ts new file mode 100644 index 0000000..e6e0aad --- /dev/null +++ b/sdk/nodejs/kinesisIntegration.ts @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset Kinesis Integration. + */ +export class KinesisIntegration extends pulumi.CustomResource { + /** + * Get an existing KinesisIntegration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: KinesisIntegrationState, opts?: pulumi.CustomResourceOptions): KinesisIntegration { + return new KinesisIntegration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/kinesisIntegration:KinesisIntegration'; + + /** + * Returns true if the given object is an instance of KinesisIntegration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is KinesisIntegration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KinesisIntegration.__pulumiType; + } + + /** + * The AWS Role Arn to use for this integration. + */ + public readonly awsRoleArn!: pulumi.Output; + /** + * Text describing the integration. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + + /** + * Create a KinesisIntegration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: KinesisIntegrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: KinesisIntegrationArgs | KinesisIntegrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as KinesisIntegrationState | undefined; + resourceInputs["awsRoleArn"] = state ? state.awsRoleArn : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as KinesisIntegrationArgs | undefined; + if ((!args || args.awsRoleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'awsRoleArn'"); + } + resourceInputs["awsRoleArn"] = args ? args.awsRoleArn : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(KinesisIntegration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering KinesisIntegration resources. + */ +export interface KinesisIntegrationState { + /** + * The AWS Role Arn to use for this integration. + */ + awsRoleArn?: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a KinesisIntegration resource. + */ +export interface KinesisIntegrationArgs { + /** + * The AWS Role Arn to use for this integration. + */ + awsRoleArn: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/mongodbCollection.ts b/sdk/nodejs/mongodbCollection.ts new file mode 100644 index 0000000..5bc748d --- /dev/null +++ b/sdk/nodejs/mongodbCollection.ts @@ -0,0 +1,187 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a collection with an MongoDB source attached. + */ +export class MongodbCollection extends pulumi.CustomResource { + /** + * Get an existing MongodbCollection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: MongodbCollectionState, opts?: pulumi.CustomResourceOptions): MongodbCollection { + return new MongodbCollection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/mongodbCollection:MongodbCollection'; + + /** + * Returns true if the given object is an instance of MongodbCollection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MongodbCollection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MongodbCollection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Defines a source for this collection. + */ + public readonly sources!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a MongodbCollection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: MongodbCollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MongodbCollectionArgs | MongodbCollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MongodbCollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["sources"] = state ? state.sources : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as MongodbCollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["sources"] = args ? args.sources : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MongodbCollection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MongodbCollection resources. + */ +export interface MongodbCollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MongodbCollection resource. + */ +export interface MongodbCollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/mongodbIntegration.ts b/sdk/nodejs/mongodbIntegration.ts new file mode 100644 index 0000000..b6ea8f7 --- /dev/null +++ b/sdk/nodejs/mongodbIntegration.ts @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset MongoDB Integration. + */ +export class MongodbIntegration extends pulumi.CustomResource { + /** + * Get an existing MongodbIntegration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: MongodbIntegrationState, opts?: pulumi.CustomResourceOptions): MongodbIntegration { + return new MongodbIntegration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/mongodbIntegration:MongodbIntegration'; + + /** + * Returns true if the given object is an instance of MongodbIntegration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MongodbIntegration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MongodbIntegration.__pulumiType; + } + + /** + * MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + */ + public readonly connectionUri!: pulumi.Output; + /** + * Text describing the integration. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + + /** + * Create a MongodbIntegration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: MongodbIntegrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MongodbIntegrationArgs | MongodbIntegrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MongodbIntegrationState | undefined; + resourceInputs["connectionUri"] = state ? state.connectionUri : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as MongodbIntegrationArgs | undefined; + if ((!args || args.connectionUri === undefined) && !opts.urn) { + throw new Error("Missing required property 'connectionUri'"); + } + resourceInputs["connectionUri"] = args?.connectionUri ? pulumi.secret(args.connectionUri) : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["connectionUri"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(MongodbIntegration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MongodbIntegration resources. + */ +export interface MongodbIntegrationState { + /** + * MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + */ + connectionUri?: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MongodbIntegration resource. + */ +export interface MongodbIntegrationArgs { + /** + * MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + */ + connectionUri: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json new file mode 100644 index 0000000..56aed38 --- /dev/null +++ b/sdk/nodejs/package.json @@ -0,0 +1,28 @@ +{ + "name": "@pulumi/rockset", + "version": "${VERSION}", + "description": "A Pulumi package for creating and managing rockset cloud resources.", + "keywords": [ + "pulumi", + "rockset", + "category/cloud" + ], + "homepage": "https://www.pulumi.com", + "repository": "https://github.com/ddn0/pulumi-rockset", + "license": "Apache-2.0", + "scripts": { + "build": "tsc" + }, + "dependencies": { + "@pulumi/pulumi": "^3.0.0" + }, + "devDependencies": { + "@types/mime": "^2.0.0", + "@types/node": "^10.0.0", + "typescript": "^4.3.5" + }, + "pulumi": { + "resource": true, + "name": "rockset" + } +} diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts new file mode 100644 index 0000000..e3c9db0 --- /dev/null +++ b/sdk/nodejs/provider.ts @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * The provider type for the rockset package. By default, resources use package-wide configuration + * settings, however an explicit `Provider` instance may be created and passed during resource + * construction to achieve fine-grained programmatic control over provider settings. See the + * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + */ +export class Provider extends pulumi.ProviderResource { + /** @internal */ + public static readonly __pulumiType = 'rockset'; + + /** + * Returns true if the given object is an instance of Provider. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Provider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType; + } + + /** + * The API key used to access Rockset + */ + public readonly apiKey!: pulumi.Output; + /** + * The API server for accessing Rockset + */ + public readonly apiServer!: pulumi.Output; + + /** + * Create a Provider resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + { + resourceInputs["apiKey"] = args?.apiKey ? pulumi.secret(args.apiKey) : undefined; + resourceInputs["apiServer"] = args ? args.apiServer : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["apiKey"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Provider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Provider resource. + */ +export interface ProviderArgs { + /** + * The API key used to access Rockset + */ + apiKey?: pulumi.Input; + /** + * The API server for accessing Rockset + */ + apiServer?: pulumi.Input; +} diff --git a/sdk/nodejs/queryLambda.ts b/sdk/nodejs/queryLambda.ts new file mode 100644 index 0000000..57cfa75 --- /dev/null +++ b/sdk/nodejs/queryLambda.ts @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset Query Lambda. + */ +export class QueryLambda extends pulumi.CustomResource { + /** + * Get an existing QueryLambda resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: QueryLambdaState, opts?: pulumi.CustomResourceOptions): QueryLambda { + return new QueryLambda(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/queryLambda:QueryLambda'; + + /** + * Returns true if the given object is an instance of QueryLambda. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is QueryLambda { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === QueryLambda.__pulumiType; + } + + /** + * Text describing the query lambda. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + public readonly sqls!: pulumi.Output; + /** + * The latest state of this query lambda. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * The latest version string of this query lambda. + */ + public /*out*/ readonly version!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a QueryLambda resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: QueryLambdaArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: QueryLambdaArgs | QueryLambdaState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as QueryLambdaState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["sqls"] = state ? state.sqls : undefined; + resourceInputs["state"] = state ? state.state : undefined; + resourceInputs["version"] = state ? state.version : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as QueryLambdaArgs | undefined; + if ((!args || args.sqls === undefined) && !opts.urn) { + throw new Error("Missing required property 'sqls'"); + } + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["sqls"] = args ? args.sqls : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["version"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(QueryLambda.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering QueryLambda resources. + */ +export interface QueryLambdaState { + /** + * Text describing the query lambda. + */ + description?: pulumi.Input; + /** + * Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + sqls?: pulumi.Input[]>; + /** + * The latest state of this query lambda. + */ + state?: pulumi.Input; + /** + * The latest version string of this query lambda. + */ + version?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a QueryLambda resource. + */ +export interface QueryLambdaArgs { + /** + * Text describing the query lambda. + */ + description?: pulumi.Input; + /** + * Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + sqls: pulumi.Input[]>; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/queryLambdaTag.ts b/sdk/nodejs/queryLambdaTag.ts new file mode 100644 index 0000000..a3c1002 --- /dev/null +++ b/sdk/nodejs/queryLambdaTag.ts @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset Query Lambda Tag. + */ +export class QueryLambdaTag extends pulumi.CustomResource { + /** + * Get an existing QueryLambdaTag resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: QueryLambdaTagState, opts?: pulumi.CustomResourceOptions): QueryLambdaTag { + return new QueryLambdaTag(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/queryLambdaTag:QueryLambdaTag'; + + /** + * Returns true if the given object is an instance of QueryLambdaTag. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is QueryLambdaTag { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === QueryLambdaTag.__pulumiType; + } + + /** + * Unique identifier for the tag. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + */ + public readonly queryLambda!: pulumi.Output; + /** + * Version of the query lambda this tag should point to. + */ + public readonly version!: pulumi.Output; + /** + * The name of the workspace the query lambda is in. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a QueryLambdaTag resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: QueryLambdaTagArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: QueryLambdaTagArgs | QueryLambdaTagState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as QueryLambdaTagState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["queryLambda"] = state ? state.queryLambda : undefined; + resourceInputs["version"] = state ? state.version : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as QueryLambdaTagArgs | undefined; + if ((!args || args.queryLambda === undefined) && !opts.urn) { + throw new Error("Missing required property 'queryLambda'"); + } + if ((!args || args.version === undefined) && !opts.urn) { + throw new Error("Missing required property 'version'"); + } + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["queryLambda"] = args ? args.queryLambda : undefined; + resourceInputs["version"] = args ? args.version : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(QueryLambdaTag.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering QueryLambdaTag resources. + */ +export interface QueryLambdaTagState { + /** + * Unique identifier for the tag. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + */ + queryLambda?: pulumi.Input; + /** + * Version of the query lambda this tag should point to. + */ + version?: pulumi.Input; + /** + * The name of the workspace the query lambda is in. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a QueryLambdaTag resource. + */ +export interface QueryLambdaTagArgs { + /** + * Unique identifier for the tag. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + */ + queryLambda: pulumi.Input; + /** + * Version of the query lambda this tag should point to. + */ + version: pulumi.Input; + /** + * The name of the workspace the query lambda is in. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/role.ts b/sdk/nodejs/role.ts new file mode 100644 index 0000000..bb3e3f2 --- /dev/null +++ b/sdk/nodejs/role.ts @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset [Role](https://rockset.com/docs/iam/). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const query_onlyRole = new rockset.Role("query-onlyRole", { + * description: "This role can only query collections in the prod workspace in the usw2a1 cluster", + * privileges: [ + * { + * action: "QUERY_DATA_WS", + * resourceName: "prod", + * cluster: "usw2a1", + * }, + * { + * action: "EXECUTE_QUERY_LAMBDA_WS", + * resourceName: "prod", + * cluster: "usw2a1", + * }, + * ], + * }); + * const query_onlyApiKey = new rockset.ApiKey("query-onlyApiKey", {role: query_onlyRole.name}); + * ``` + */ +export class Role extends pulumi.CustomResource { + /** + * Get an existing Role resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: RoleState, opts?: pulumi.CustomResourceOptions): Role { + return new Role(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/role:Role'; + + /** + * Returns true if the given object is an instance of Role. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Role { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Role.__pulumiType; + } + + /** + * When the role was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Who created the role. + */ + public /*out*/ readonly createdBy!: pulumi.Output; + /** + * Role description. + */ + public readonly description!: pulumi.Output; + /** + * Role name. + */ + public readonly name!: pulumi.Output; + /** + * The email of the user who currently owns the role. + */ + public /*out*/ readonly ownerEmail!: pulumi.Output; + /** + * Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + */ + public readonly privileges!: pulumi.Output; + + /** + * Create a Role resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: RoleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RoleArgs | RoleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RoleState | undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["createdBy"] = state ? state.createdBy : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["ownerEmail"] = state ? state.ownerEmail : undefined; + resourceInputs["privileges"] = state ? state.privileges : undefined; + } else { + const args = argsOrState as RoleArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["privileges"] = args ? args.privileges : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["createdBy"] = undefined /*out*/; + resourceInputs["ownerEmail"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Role.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Role resources. + */ +export interface RoleState { + /** + * When the role was created. + */ + createdAt?: pulumi.Input; + /** + * Who created the role. + */ + createdBy?: pulumi.Input; + /** + * Role description. + */ + description?: pulumi.Input; + /** + * Role name. + */ + name?: pulumi.Input; + /** + * The email of the user who currently owns the role. + */ + ownerEmail?: pulumi.Input; + /** + * Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + */ + privileges?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a Role resource. + */ +export interface RoleArgs { + /** + * Role description. + */ + description?: pulumi.Input; + /** + * Role name. + */ + name?: pulumi.Input; + /** + * Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + */ + privileges?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/s3collection.ts b/sdk/nodejs/s3collection.ts new file mode 100644 index 0000000..dc1d6df --- /dev/null +++ b/sdk/nodejs/s3collection.ts @@ -0,0 +1,209 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Manages a collection with on or more S3 sources attached. Uses an S3 integration to access the S3 bucket. If no integration is provided, only data in public buckets are accessible. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const sample = new rockset.Workspace("sample", {description: "sample datasets"}); + * const _public = new rockset.S3Integration("public", { + * description: "Integration to access Rockset's public datasets", + * awsRoleArn: "arn:aws:iam::469279130686:role/rockset-public-datasets", + * }); + * const cities = new rockset.S3Collection("cities", { + * workspace: sample.name, + * sources: [{ + * bucket: "rockset-public-datasets", + * integrationName: _public.name, + * pattern: "cities/*.json", + * format: "json", + * }], + * }); + * ``` + */ +export class S3Collection extends pulumi.CustomResource { + /** + * Get an existing S3Collection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: S3CollectionState, opts?: pulumi.CustomResourceOptions): S3Collection { + return new S3Collection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/s3Collection:S3Collection'; + + /** + * Returns true if the given object is an instance of S3Collection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is S3Collection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === S3Collection.__pulumiType; + } + + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + public readonly ingestTransformation!: pulumi.Output; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * Number of seconds after which data is purged. Based on event time. + */ + public readonly retentionSecs!: pulumi.Output; + /** + * Defines a source for this collection. + */ + public readonly sources!: pulumi.Output; + /** + * Wait until the collection is ready. + */ + public readonly waitForCollection!: pulumi.Output; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + public readonly waitForDocuments!: pulumi.Output; + /** + * The name of the workspace. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a S3Collection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: S3CollectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: S3CollectionArgs | S3CollectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as S3CollectionState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["ingestTransformation"] = state ? state.ingestTransformation : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionSecs"] = state ? state.retentionSecs : undefined; + resourceInputs["sources"] = state ? state.sources : undefined; + resourceInputs["waitForCollection"] = state ? state.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = state ? state.waitForDocuments : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as S3CollectionArgs | undefined; + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["ingestTransformation"] = args ? args.ingestTransformation : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionSecs"] = args ? args.retentionSecs : undefined; + resourceInputs["sources"] = args ? args.sources : undefined; + resourceInputs["waitForCollection"] = args ? args.waitForCollection : undefined; + resourceInputs["waitForDocuments"] = args ? args.waitForDocuments : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(S3Collection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering S3Collection resources. + */ +export interface S3CollectionState { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a S3Collection resource. + */ +export interface S3CollectionArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Ingest transformation SQL query. Turns the collection into insertOnly mode. + */ + ingestTransformation?: pulumi.Input; + /** + * Unique identifier for the collection. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * Number of seconds after which data is purged. Based on event time. + */ + retentionSecs?: pulumi.Input; + /** + * Defines a source for this collection. + */ + sources?: pulumi.Input[]>; + /** + * Wait until the collection is ready. + */ + waitForCollection?: pulumi.Input; + /** + * Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + */ + waitForDocuments?: pulumi.Input; + /** + * The name of the workspace. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/s3integration.ts b/sdk/nodejs/s3integration.ts new file mode 100644 index 0000000..ec1a1b5 --- /dev/null +++ b/sdk/nodejs/s3integration.ts @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset S3 Integration. + */ +export class S3Integration extends pulumi.CustomResource { + /** + * Get an existing S3Integration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: S3IntegrationState, opts?: pulumi.CustomResourceOptions): S3Integration { + return new S3Integration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/s3Integration:S3Integration'; + + /** + * Returns true if the given object is an instance of S3Integration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is S3Integration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === S3Integration.__pulumiType; + } + + /** + * The AWS Role Arn to use for this integration. + */ + public readonly awsRoleArn!: pulumi.Output; + /** + * Text describing the integration. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + + /** + * Create a S3Integration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: S3IntegrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: S3IntegrationArgs | S3IntegrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as S3IntegrationState | undefined; + resourceInputs["awsRoleArn"] = state ? state.awsRoleArn : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as S3IntegrationArgs | undefined; + if ((!args || args.awsRoleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'awsRoleArn'"); + } + resourceInputs["awsRoleArn"] = args ? args.awsRoleArn : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(S3Integration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering S3Integration resources. + */ +export interface S3IntegrationState { + /** + * The AWS Role Arn to use for this integration. + */ + awsRoleArn?: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a S3Integration resource. + */ +export interface S3IntegrationArgs { + /** + * The AWS Role Arn to use for this integration. + */ + awsRoleArn: pulumi.Input; + /** + * Text describing the integration. + */ + description?: pulumi.Input; + /** + * Unique identifier for the integration. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json new file mode 100644 index 0000000..e5a0805 --- /dev/null +++ b/sdk/nodejs/tsconfig.json @@ -0,0 +1,53 @@ +{ + "compilerOptions": { + "outDir": "bin", + "target": "es2016", + "module": "commonjs", + "moduleResolution": "node", + "declaration": true, + "sourceMap": true, + "stripInternal": true, + "experimentalDecorators": true, + "noFallthroughCasesInSwitch": true, + "forceConsistentCasingInFileNames": true, + "strict": true + }, + "files": [ + "alias.ts", + "apiKey.ts", + "collection.ts", + "collectionMount.ts", + "config/index.ts", + "config/vars.ts", + "dynamodbCollection.ts", + "dynamodbIntegration.ts", + "gcsCollection.ts", + "gcsIntegration.ts", + "getAccount.ts", + "getQueryLambdaTag.ts", + "getUser.ts", + "getVirtualInstance.ts", + "getWorkspace.ts", + "index.ts", + "kafkaCollection.ts", + "kafkaIntegration.ts", + "kinesisCollection.ts", + "kinesisIntegration.ts", + "mongodbCollection.ts", + "mongodbIntegration.ts", + "provider.ts", + "queryLambda.ts", + "queryLambdaTag.ts", + "role.ts", + "s3collection.ts", + "s3integration.ts", + "types/index.ts", + "types/input.ts", + "types/output.ts", + "user.ts", + "utilities.ts", + "view.ts", + "virtualInstance.ts", + "workspace.ts" + ] +} diff --git a/sdk/nodejs/types/index.ts b/sdk/nodejs/types/index.ts new file mode 100644 index 0000000..c7b9909 --- /dev/null +++ b/sdk/nodejs/types/index.ts @@ -0,0 +1,13 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as utilities from "../utilities"; + +// Export sub-modules: +import * as input from "./input"; +import * as output from "./output"; + +export { + input, + output, +}; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts new file mode 100644 index 0000000..6d89a1d --- /dev/null +++ b/sdk/nodejs/types/input.ts @@ -0,0 +1,355 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; + +export interface DynamodbCollectionSource { + /** + * AWS region name of DynamoDB table, by default us-west-2 is used. + */ + awsRegion?: pulumi.Input; + /** + * The name of the Rockset DynamoDB integration. + */ + integrationName: pulumi.Input; + /** + * Max RCU usage for scan. + */ + rcu?: pulumi.Input; + /** + * DynamoDB scan end time. + */ + scanEndTime?: pulumi.Input; + /** + * Number of records inserted using scan. + */ + scanRecordsProcessed?: pulumi.Input; + /** + * DynamoDB scan start time. + */ + scanStartTime?: pulumi.Input; + /** + * Number of records in DynamoDB table at time of scan. + */ + scanTotalRecords?: pulumi.Input; + /** + * State of current ingest for this table. + */ + state?: pulumi.Input; + /** + * ISO-8601 date when source was last processed. + */ + streamLastProcessedAt?: pulumi.Input; + /** + * Name of DynamoDB table containing data. + */ + tableName: pulumi.Input; + /** + * Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + */ + useScanApi?: pulumi.Input; +} + +export interface GcsCollectionSource { + /** + * GCS bucket containing the target data. + */ + bucket: pulumi.Input; + csv?: pulumi.Input; + /** + * Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + */ + format: pulumi.Input; + /** + * The name of the Rockset GCS integration. + */ + integrationName: pulumi.Input; + /** + * Simple path prefix to GCS key. + */ + prefix?: pulumi.Input; + xml?: pulumi.Input; +} + +export interface GcsCollectionSourceCsv { + /** + * The names of the columns. + */ + columnNames?: pulumi.Input[]>; + /** + * The types of the columns. + */ + columnTypes?: pulumi.Input[]>; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: pulumi.Input; + /** + * Escape character removes any special meaning from the character that follows it. Defaults to backslash. + */ + escapeChar?: pulumi.Input; + /** + * If the first line in every object specifies the column names. + */ + firstLineAsColumnNames?: pulumi.Input; + /** + * Character within which a cell value is enclosed. Defaults to double quote. + */ + quoteChar?: pulumi.Input; + /** + * A single character that is the column separator. + */ + separator?: pulumi.Input; +} + +export interface GcsCollectionSourceXml { + /** + * Tag to differentiate between attributes and elements. + */ + attributePrefix?: pulumi.Input; + /** + * Tags with which documents are identified + */ + docTag?: pulumi.Input; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: pulumi.Input; + /** + * Tag until which xml is ignored. + */ + rootTag?: pulumi.Input; + /** + * Tag used for the value when there are attributes in the element having no child. + */ + valueTag?: pulumi.Input; +} + +export interface KafkaCollectionSource { + /** + * The Kafka consumer group Id being used. + */ + consumerGroupId?: pulumi.Input; + /** + * The name of the Rockset Kafka integration. + */ + integrationName: pulumi.Input; + /** + * The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + */ + offsetResetPolicy?: pulumi.Input; + statuses?: pulumi.Input[]>; + /** + * Name of Kafka topic to be tailed. + */ + topicName: pulumi.Input; + /** + * Whether to use v3 integration. Required if the kafka integration uses v3. + */ + useV3?: pulumi.Input; +} + +export interface KafkaCollectionSourceStatus { + documentsProcessed?: pulumi.Input; + lastConsumedTime?: pulumi.Input; + partitions?: pulumi.Input[]>; + state?: pulumi.Input; +} + +export interface KafkaCollectionSourceStatusPartition { + offsetLag?: pulumi.Input; + partitionNumber?: pulumi.Input; + partitionOffset?: pulumi.Input; +} + +export interface KinesisCollectionSource { + /** + * AWS region name for the Kinesis stream, by default us-west-2 is used + */ + awsRegion?: pulumi.Input; + /** + * Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + */ + dmsPrimaryKeys?: pulumi.Input[]>; + /** + * Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + */ + format: pulumi.Input; + /** + * The name of the Rockset Kinesis integration. + */ + integrationName: pulumi.Input; + /** + * Name of Kinesis stream. + */ + streamName: pulumi.Input; +} + +export interface MongodbCollectionSource { + /** + * MongoDB collection name of the target collection. + */ + collectionName: pulumi.Input; + /** + * MongoDB database name containing the target collection. + */ + databaseName: pulumi.Input; + /** + * The name of the Rockset MongoDB integration. + */ + integrationName: pulumi.Input; + retrieveFullDocument?: pulumi.Input; + /** + * MongoDB scan end time. + */ + scanEndTime?: pulumi.Input; + /** + * Number of records inserted using scan. + */ + scanRecordsProcessed?: pulumi.Input; + /** + * MongoDB scan start time. + */ + scanStartTime?: pulumi.Input; + /** + * Number of records in MongoDB table at time of scan. + */ + scanTotalRecords?: pulumi.Input; + /** + * State of current ingest for this table. + */ + state?: pulumi.Input; + /** + * ISO-8601 date when delete from source was last processed. + */ + streamLastDeleteProcessedAt?: pulumi.Input; + /** + * ISO-8601 date when new insert from source was last processed. + */ + streamLastInsertProcessedAt?: pulumi.Input; + /** + * ISO-8601 date when update from source was last processed. + */ + streamLastUpdateProcessedAt?: pulumi.Input; + /** + * Number of new records deleted using stream. + */ + streamRecordsDeleted?: pulumi.Input; + /** + * Number of new records inserted using stream. + */ + streamRecordsInserted?: pulumi.Input; + /** + * Number of new records updated using stream. + */ + streamRecordsUpdated?: pulumi.Input; +} + +export interface QueryLambdaSql { + defaultParameters?: pulumi.Input[]>; + query: pulumi.Input; +} + +export interface QueryLambdaSqlDefaultParameter { + name: pulumi.Input; + type: pulumi.Input; + value: pulumi.Input; +} + +export interface RolePrivilege { + /** + * The action allowed by this privilege. + */ + action: pulumi.Input; + /** + * Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + */ + cluster?: pulumi.Input; + /** + * The resource on which this action is allowed. Defaults to 'All' if not specified. + */ + resourceName?: pulumi.Input; +} + +export interface S3CollectionSource { + /** + * S3 bucket containing the target data. + */ + bucket: pulumi.Input; + csv?: pulumi.Input; + /** + * Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + */ + format: pulumi.Input; + /** + * The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + */ + integrationName: pulumi.Input; + /** + * Regex path pattern to S3 keys. + */ + pattern?: pulumi.Input; + /** + * Simple path prefix to S3 keys. + * + * @deprecated use pattern instead + */ + prefix?: pulumi.Input; + xml?: pulumi.Input; +} + +export interface S3CollectionSourceCsv { + /** + * The names of the columns. + */ + columnNames?: pulumi.Input[]>; + /** + * The types of the columns. + */ + columnTypes?: pulumi.Input[]>; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: pulumi.Input; + /** + * Escape character removes any special meaning from the character that follows it. Defaults to backslash. + */ + escapeChar?: pulumi.Input; + /** + * If the first line in every object specifies the column names. + */ + firstLineAsColumnNames?: pulumi.Input; + /** + * Character within which a cell value is enclosed. Defaults to double quote. + */ + quoteChar?: pulumi.Input; + /** + * A single character that is the column separator. + */ + separator?: pulumi.Input; +} + +export interface S3CollectionSourceXml { + /** + * Tag to differentiate between attributes and elements. + */ + attributePrefix?: pulumi.Input; + /** + * Tags with which documents are identified + */ + docTag?: pulumi.Input; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: pulumi.Input; + /** + * Tag until which xml is ignored. + */ + rootTag?: pulumi.Input; + /** + * Tag used for the value when there are attributes in the element having no child. + */ + valueTag?: pulumi.Input; +} diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts new file mode 100644 index 0000000..aed705c --- /dev/null +++ b/sdk/nodejs/types/output.ts @@ -0,0 +1,362 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; + +export interface DynamodbCollectionSource { + /** + * AWS region name of DynamoDB table, by default us-west-2 is used. + */ + awsRegion?: string; + /** + * The name of the Rockset DynamoDB integration. + */ + integrationName: string; + /** + * Max RCU usage for scan. + */ + rcu?: number; + /** + * DynamoDB scan end time. + */ + scanEndTime: string; + /** + * Number of records inserted using scan. + */ + scanRecordsProcessed: number; + /** + * DynamoDB scan start time. + */ + scanStartTime: string; + /** + * Number of records in DynamoDB table at time of scan. + */ + scanTotalRecords: number; + /** + * State of current ingest for this table. + */ + state: string; + /** + * ISO-8601 date when source was last processed. + */ + streamLastProcessedAt: string; + /** + * Name of DynamoDB table containing data. + */ + tableName: string; + /** + * Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + */ + useScanApi?: boolean; +} + +export interface GcsCollectionSource { + /** + * GCS bucket containing the target data. + */ + bucket: string; + csv?: outputs.GcsCollectionSourceCsv; + /** + * Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + */ + format: string; + /** + * The name of the Rockset GCS integration. + */ + integrationName: string; + /** + * Simple path prefix to GCS key. + */ + prefix?: string; + xml?: outputs.GcsCollectionSourceXml; +} + +export interface GcsCollectionSourceCsv { + /** + * The names of the columns. + */ + columnNames?: string[]; + /** + * The types of the columns. + */ + columnTypes?: string[]; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: string; + /** + * Escape character removes any special meaning from the character that follows it. Defaults to backslash. + */ + escapeChar?: string; + /** + * If the first line in every object specifies the column names. + */ + firstLineAsColumnNames?: boolean; + /** + * Character within which a cell value is enclosed. Defaults to double quote. + */ + quoteChar?: string; + /** + * A single character that is the column separator. + */ + separator?: string; +} + +export interface GcsCollectionSourceXml { + /** + * Tag to differentiate between attributes and elements. + */ + attributePrefix?: string; + /** + * Tags with which documents are identified + */ + docTag?: string; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: string; + /** + * Tag until which xml is ignored. + */ + rootTag?: string; + /** + * Tag used for the value when there are attributes in the element having no child. + */ + valueTag?: string; +} + +export interface GetAccountCluster { + apiServer: string; + awsRegion: string; + type: string; +} + +export interface KafkaCollectionSource { + /** + * The Kafka consumer group Id being used. + */ + consumerGroupId: string; + /** + * The name of the Rockset Kafka integration. + */ + integrationName: string; + /** + * The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + */ + offsetResetPolicy?: string; + statuses: outputs.KafkaCollectionSourceStatus[]; + /** + * Name of Kafka topic to be tailed. + */ + topicName: string; + /** + * Whether to use v3 integration. Required if the kafka integration uses v3. + */ + useV3?: boolean; +} + +export interface KafkaCollectionSourceStatus { + documentsProcessed: number; + lastConsumedTime: string; + partitions: outputs.KafkaCollectionSourceStatusPartition[]; + state: string; +} + +export interface KafkaCollectionSourceStatusPartition { + offsetLag: number; + partitionNumber: number; + partitionOffset: number; +} + +export interface KinesisCollectionSource { + /** + * AWS region name for the Kinesis stream, by default us-west-2 is used + */ + awsRegion?: string; + /** + * Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + */ + dmsPrimaryKeys?: string[]; + /** + * Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + */ + format: string; + /** + * The name of the Rockset Kinesis integration. + */ + integrationName: string; + /** + * Name of Kinesis stream. + */ + streamName: string; +} + +export interface MongodbCollectionSource { + /** + * MongoDB collection name of the target collection. + */ + collectionName: string; + /** + * MongoDB database name containing the target collection. + */ + databaseName: string; + /** + * The name of the Rockset MongoDB integration. + */ + integrationName: string; + retrieveFullDocument?: boolean; + /** + * MongoDB scan end time. + */ + scanEndTime: string; + /** + * Number of records inserted using scan. + */ + scanRecordsProcessed: number; + /** + * MongoDB scan start time. + */ + scanStartTime: string; + /** + * Number of records in MongoDB table at time of scan. + */ + scanTotalRecords: number; + /** + * State of current ingest for this table. + */ + state: string; + /** + * ISO-8601 date when delete from source was last processed. + */ + streamLastDeleteProcessedAt: string; + /** + * ISO-8601 date when new insert from source was last processed. + */ + streamLastInsertProcessedAt: string; + /** + * ISO-8601 date when update from source was last processed. + */ + streamLastUpdateProcessedAt: string; + /** + * Number of new records deleted using stream. + */ + streamRecordsDeleted: number; + /** + * Number of new records inserted using stream. + */ + streamRecordsInserted: number; + /** + * Number of new records updated using stream. + */ + streamRecordsUpdated: number; +} + +export interface QueryLambdaSql { + defaultParameters?: outputs.QueryLambdaSqlDefaultParameter[]; + query: string; +} + +export interface QueryLambdaSqlDefaultParameter { + name: string; + type: string; + value: string; +} + +export interface RolePrivilege { + /** + * The action allowed by this privilege. + */ + action: string; + /** + * Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + */ + cluster?: string; + /** + * The resource on which this action is allowed. Defaults to 'All' if not specified. + */ + resourceName?: string; +} + +export interface S3CollectionSource { + /** + * S3 bucket containing the target data. + */ + bucket: string; + csv?: outputs.S3CollectionSourceCsv; + /** + * Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + */ + format: string; + /** + * The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + */ + integrationName: string; + /** + * Regex path pattern to S3 keys. + */ + pattern?: string; + /** + * Simple path prefix to S3 keys. + * + * @deprecated use pattern instead + */ + prefix?: string; + xml?: outputs.S3CollectionSourceXml; +} + +export interface S3CollectionSourceCsv { + /** + * The names of the columns. + */ + columnNames?: string[]; + /** + * The types of the columns. + */ + columnTypes?: string[]; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: string; + /** + * Escape character removes any special meaning from the character that follows it. Defaults to backslash. + */ + escapeChar?: string; + /** + * If the first line in every object specifies the column names. + */ + firstLineAsColumnNames?: boolean; + /** + * Character within which a cell value is enclosed. Defaults to double quote. + */ + quoteChar?: string; + /** + * A single character that is the column separator. + */ + separator?: string; +} + +export interface S3CollectionSourceXml { + /** + * Tag to differentiate between attributes and elements. + */ + attributePrefix?: string; + /** + * Tags with which documents are identified + */ + docTag?: string; + /** + * Can be one of: UTF-8, ISO*8859*1, UTF-16. + */ + encoding?: string; + /** + * Tag until which xml is ignored. + */ + rootTag?: string; + /** + * Tag used for the value when there are attributes in the element having no child. + */ + valueTag?: string; +} + diff --git a/sdk/nodejs/user.ts b/sdk/nodejs/user.ts new file mode 100644 index 0000000..38074f2 --- /dev/null +++ b/sdk/nodejs/user.ts @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset User. + * + * First and last name can only be managed for users who have accepted the invite, + * i.e. when the state is ACCEPTED. + */ +export class User extends pulumi.CustomResource { + /** + * Get an existing User resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: UserState, opts?: pulumi.CustomResourceOptions): User { + return new User(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/user:User'; + + /** + * Returns true if the given object is an instance of User. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is User { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === User.__pulumiType; + } + + /** + * The ISO-8601 time of when the user was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Email address of the user. Also used to identify the user. + */ + public readonly email!: pulumi.Output; + /** + * User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + */ + public readonly firstName!: pulumi.Output; + /** + * User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + */ + public readonly lastName!: pulumi.Output; + /** + * List of roles for the user. E.g. 'admin', 'member', 'read-only'. + */ + public readonly roles!: pulumi.Output; + /** + * State of the user, either NEW or ACTIVE. + */ + public /*out*/ readonly state!: pulumi.Output; + + /** + * Create a User resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: UserArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: UserArgs | UserState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as UserState | undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["email"] = state ? state.email : undefined; + resourceInputs["firstName"] = state ? state.firstName : undefined; + resourceInputs["lastName"] = state ? state.lastName : undefined; + resourceInputs["roles"] = state ? state.roles : undefined; + resourceInputs["state"] = state ? state.state : undefined; + } else { + const args = argsOrState as UserArgs | undefined; + if ((!args || args.email === undefined) && !opts.urn) { + throw new Error("Missing required property 'email'"); + } + if ((!args || args.roles === undefined) && !opts.urn) { + throw new Error("Missing required property 'roles'"); + } + resourceInputs["email"] = args ? args.email : undefined; + resourceInputs["firstName"] = args ? args.firstName : undefined; + resourceInputs["lastName"] = args ? args.lastName : undefined; + resourceInputs["roles"] = args ? args.roles : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(User.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering User resources. + */ +export interface UserState { + /** + * The ISO-8601 time of when the user was created. + */ + createdAt?: pulumi.Input; + /** + * Email address of the user. Also used to identify the user. + */ + email?: pulumi.Input; + /** + * User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + */ + firstName?: pulumi.Input; + /** + * User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + */ + lastName?: pulumi.Input; + /** + * List of roles for the user. E.g. 'admin', 'member', 'read-only'. + */ + roles?: pulumi.Input[]>; + /** + * State of the user, either NEW or ACTIVE. + */ + state?: pulumi.Input; +} + +/** + * The set of arguments for constructing a User resource. + */ +export interface UserArgs { + /** + * Email address of the user. Also used to identify the user. + */ + email: pulumi.Input; + /** + * User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + */ + firstName?: pulumi.Input; + /** + * User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + */ + lastName?: pulumi.Input; + /** + * List of roles for the user. E.g. 'admin', 'member', 'read-only'. + */ + roles: pulumi.Input[]>; +} diff --git a/sdk/nodejs/utilities.ts b/sdk/nodejs/utilities.ts new file mode 100644 index 0000000..080cc82 --- /dev/null +++ b/sdk/nodejs/utilities.ts @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +import * as runtime from "@pulumi/pulumi/runtime"; +import * as pulumi from "@pulumi/pulumi"; + +export function getEnv(...vars: string[]): string | undefined { + for (const v of vars) { + const value = process.env[v]; + if (value) { + return value; + } + } + return undefined; +} + +export function getEnvBoolean(...vars: string[]): boolean | undefined { + const s = getEnv(...vars); + if (s !== undefined) { + // NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what + // Terraform uses internally when parsing boolean values. + if (["1", "t", "T", "true", "TRUE", "True"].find(v => v === s) !== undefined) { + return true; + } + if (["0", "f", "F", "false", "FALSE", "False"].find(v => v === s) !== undefined) { + return false; + } + } + return undefined; +} + +export function getEnvNumber(...vars: string[]): number | undefined { + const s = getEnv(...vars); + if (s !== undefined) { + const f = parseFloat(s); + if (!isNaN(f)) { + return f; + } + } + return undefined; +} + +export function getVersion(): string { + let version = require('./package.json').version; + // Node allows for the version to be prefixed by a "v", while semver doesn't. + // If there is a v, strip it off. + if (version.indexOf('v') === 0) { + version = version.slice(1); + } + return version; +} + +/** @internal */ +export function resourceOptsDefaults(): any { + return { version: getVersion() }; +} + +/** @internal */ +export function lazyLoad(exports: any, props: string[], loadModule: any) { + for (let property of props) { + Object.defineProperty(exports, property, { + enumerable: true, + get: function() { + return loadModule()[property]; + }, + }); + } +} + +export async function callAsync( + tok: string, + props: pulumi.Inputs, + res?: pulumi.Resource, + opts?: {property?: string}, +): Promise { + const o: any = runtime.call(tok, props, res); + const value = await o.promise(true /*withUnknowns*/); + const isKnown = await o.isKnown; + const isSecret = await o.isSecret; + const problem: string|undefined = + !isKnown ? "an unknown value" + : isSecret ? "a secret value" + : undefined; + // Ingoring o.resources silently. They are typically non-empty, r.f() calls include r as a dependency. + if (problem) { + throw new Error(`Plain resource method "${tok}" incorrectly returned ${problem}. ` + + "This is an error in the provider, please report this to the provider developer."); + } + // Extract a single property if requested. + if (opts && opts.property) { + return value[opts.property]; + } + return value; +} diff --git a/sdk/nodejs/view.ts b/sdk/nodejs/view.ts new file mode 100644 index 0000000..39ca04d --- /dev/null +++ b/sdk/nodejs/view.ts @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const sample = new rockset.Workspace("sample", {description: "sample datasets"}); + * const _public = new rockset.S3Integration("public", { + * description: "Integration to access Rockset's public datasets", + * awsRoleArn: "arn:aws:iam::469279130686:role/rockset-public-datasets", + * }); + * const cities = new rockset.S3Collection("cities", { + * workspace: sample.name, + * sources: [{ + * bucket: "rockset-public-datasets", + * integrationName: _public.name, + * pattern: "cities/*.json", + * format: "json", + * }], + * }); + * const brazil = new rockset.View("brazil", { + * query: "SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'", + * workspace: sample.name, + * }, { + * dependsOn: [cities], + * }); + * ``` + */ +export class View extends pulumi.CustomResource { + /** + * Get an existing View resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ViewState, opts?: pulumi.CustomResourceOptions): View { + return new View(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/view:View'; + + /** + * Returns true if the given object is an instance of View. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is View { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === View.__pulumiType; + } + + /** + * The user who created the view. + */ + public /*out*/ readonly createdBy!: pulumi.Output; + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + /** + * SQL query used for thw view. + */ + public readonly query!: pulumi.Output; + /** + * Workspace name. + */ + public readonly workspace!: pulumi.Output; + + /** + * Create a View resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ViewArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ViewArgs | ViewState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ViewState | undefined; + resourceInputs["createdBy"] = state ? state.createdBy : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["query"] = state ? state.query : undefined; + resourceInputs["workspace"] = state ? state.workspace : undefined; + } else { + const args = argsOrState as ViewArgs | undefined; + if ((!args || args.query === undefined) && !opts.urn) { + throw new Error("Missing required property 'query'"); + } + if ((!args || args.workspace === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspace'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["query"] = args ? args.query : undefined; + resourceInputs["workspace"] = args ? args.workspace : undefined; + resourceInputs["createdBy"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(View.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering View resources. + */ +export interface ViewState { + /** + * The user who created the view. + */ + createdBy?: pulumi.Input; + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * SQL query used for thw view. + */ + query?: pulumi.Input; + /** + * Workspace name. + */ + workspace?: pulumi.Input; +} + +/** + * The set of arguments for constructing a View resource. + */ +export interface ViewArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; + /** + * SQL query used for thw view. + */ + query: pulumi.Input; + /** + * Workspace name. + */ + workspace: pulumi.Input; +} diff --git a/sdk/nodejs/virtualInstance.ts b/sdk/nodejs/virtualInstance.ts new file mode 100644 index 0000000..fd7aba5 --- /dev/null +++ b/sdk/nodejs/virtualInstance.ts @@ -0,0 +1,242 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset Virtual Instance. To be able to create a new Virtual Instance, + * The main virtual instance must use a dedicated instance to create a secondary virtual instance, + * which must be SMALL or larger. To enable live mount, the secondary virtual instance must be MEDIUM or larger. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const query = new rockset.VirtualInstance("query", { + * description: "vi for executing query lambdas", + * size: "MEDIUM", + * remountOnResume: true, + * }); + * const patch = new rockset.CollectionMount("patch", { + * virtualInstanceId: query.id, + * path: "commons.data", + * }); + * ``` + * + * ## Import + * + * ```sh + * $ pulumi import rockset:index/virtualInstance:VirtualInstance query 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + * ``` + */ +export class VirtualInstance extends pulumi.CustomResource { + /** + * Get an existing VirtualInstance resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: VirtualInstanceState, opts?: pulumi.CustomResourceOptions): VirtualInstance { + return new VirtualInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/virtualInstance:VirtualInstance'; + + /** + * Returns true if the given object is an instance of VirtualInstance. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VirtualInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualInstance.__pulumiType; + } + + /** + * Number of seconds without queries after which the Virtual Instance is suspended. + */ + public readonly autoSuspendSeconds!: pulumi.Output; + /** + * Current size of the virtual instance. + */ + public /*out*/ readonly currentSize!: pulumi.Output; + /** + * Is this Virtual Instance the default. + */ + public /*out*/ readonly default!: pulumi.Output; + /** + * Description of the virtual instance. + */ + public readonly description!: pulumi.Output; + /** + * Desired size of the virtual instance. + */ + public /*out*/ readonly desiredSize!: pulumi.Output; + /** + * Is monitoring enabled for this Virtual Instance. + */ + public /*out*/ readonly monitoringEnabled!: pulumi.Output; + /** + * Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + */ + public readonly mountRefreshIntervalSeconds!: pulumi.Output; + /** + * Name of the virtual instance. + */ + public readonly name!: pulumi.Output; + /** + * When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + */ + public readonly remountOnResume!: pulumi.Output; + /** + * RRN of this Virtual Instance. + */ + public /*out*/ readonly rrn!: pulumi.Output; + /** + * Requested virtual instance size. Note that this field is called type in the API documentation. + */ + public readonly size!: pulumi.Output; + /** + * Virtual Instance state. + */ + public /*out*/ readonly state!: pulumi.Output; + + /** + * Create a VirtualInstance resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: VirtualInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VirtualInstanceArgs | VirtualInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VirtualInstanceState | undefined; + resourceInputs["autoSuspendSeconds"] = state ? state.autoSuspendSeconds : undefined; + resourceInputs["currentSize"] = state ? state.currentSize : undefined; + resourceInputs["default"] = state ? state.default : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["desiredSize"] = state ? state.desiredSize : undefined; + resourceInputs["monitoringEnabled"] = state ? state.monitoringEnabled : undefined; + resourceInputs["mountRefreshIntervalSeconds"] = state ? state.mountRefreshIntervalSeconds : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["remountOnResume"] = state ? state.remountOnResume : undefined; + resourceInputs["rrn"] = state ? state.rrn : undefined; + resourceInputs["size"] = state ? state.size : undefined; + resourceInputs["state"] = state ? state.state : undefined; + } else { + const args = argsOrState as VirtualInstanceArgs | undefined; + if ((!args || args.size === undefined) && !opts.urn) { + throw new Error("Missing required property 'size'"); + } + resourceInputs["autoSuspendSeconds"] = args ? args.autoSuspendSeconds : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["mountRefreshIntervalSeconds"] = args ? args.mountRefreshIntervalSeconds : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["remountOnResume"] = args ? args.remountOnResume : undefined; + resourceInputs["size"] = args ? args.size : undefined; + resourceInputs["currentSize"] = undefined /*out*/; + resourceInputs["default"] = undefined /*out*/; + resourceInputs["desiredSize"] = undefined /*out*/; + resourceInputs["monitoringEnabled"] = undefined /*out*/; + resourceInputs["rrn"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VirtualInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VirtualInstance resources. + */ +export interface VirtualInstanceState { + /** + * Number of seconds without queries after which the Virtual Instance is suspended. + */ + autoSuspendSeconds?: pulumi.Input; + /** + * Current size of the virtual instance. + */ + currentSize?: pulumi.Input; + /** + * Is this Virtual Instance the default. + */ + default?: pulumi.Input; + /** + * Description of the virtual instance. + */ + description?: pulumi.Input; + /** + * Desired size of the virtual instance. + */ + desiredSize?: pulumi.Input; + /** + * Is monitoring enabled for this Virtual Instance. + */ + monitoringEnabled?: pulumi.Input; + /** + * Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + */ + mountRefreshIntervalSeconds?: pulumi.Input; + /** + * Name of the virtual instance. + */ + name?: pulumi.Input; + /** + * When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + */ + remountOnResume?: pulumi.Input; + /** + * RRN of this Virtual Instance. + */ + rrn?: pulumi.Input; + /** + * Requested virtual instance size. Note that this field is called type in the API documentation. + */ + size?: pulumi.Input; + /** + * Virtual Instance state. + */ + state?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VirtualInstance resource. + */ +export interface VirtualInstanceArgs { + /** + * Number of seconds without queries after which the Virtual Instance is suspended. + */ + autoSuspendSeconds?: pulumi.Input; + /** + * Description of the virtual instance. + */ + description?: pulumi.Input; + /** + * Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + */ + mountRefreshIntervalSeconds?: pulumi.Input; + /** + * Name of the virtual instance. + */ + name?: pulumi.Input; + /** + * When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + */ + remountOnResume?: pulumi.Input; + /** + * Requested virtual instance size. Note that this field is called type in the API documentation. + */ + size: pulumi.Input; +} diff --git a/sdk/nodejs/workspace.ts b/sdk/nodejs/workspace.ts new file mode 100644 index 0000000..b89c5ef --- /dev/null +++ b/sdk/nodejs/workspace.ts @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a Rockset workspace, which can hold collections, query lambdas and views. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as rockset from "@pulumi/rockset"; + * + * const demo = new rockset.Workspace("demo", {description: "a workspace for demo collections"}); + * ``` + * + * ## Import + * + * ```sh + * $ pulumi import rockset:index/workspace:Workspace demo demo + * ``` + */ +export class Workspace extends pulumi.CustomResource { + /** + * Get an existing Workspace resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: WorkspaceState, opts?: pulumi.CustomResourceOptions): Workspace { + return new Workspace(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'rockset:index/workspace:Workspace'; + + /** + * Returns true if the given object is an instance of Workspace. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Workspace { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Workspace.__pulumiType; + } + + /** + * Number of collections in the workspace. + */ + public /*out*/ readonly collectionCount!: pulumi.Output; + /** + * Created at in ISO-8601. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * The user who created the workspace. + */ + public /*out*/ readonly createdBy!: pulumi.Output; + /** + * Text describing the collection. + */ + public readonly description!: pulumi.Output; + /** + * Unique identifier for workspace. Can contain alphanumeric or dash characters. + */ + public readonly name!: pulumi.Output; + + /** + * Create a Workspace resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: WorkspaceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: WorkspaceArgs | WorkspaceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as WorkspaceState | undefined; + resourceInputs["collectionCount"] = state ? state.collectionCount : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["createdBy"] = state ? state.createdBy : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as WorkspaceArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["collectionCount"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["createdBy"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Workspace.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Workspace resources. + */ +export interface WorkspaceState { + /** + * Number of collections in the workspace. + */ + collectionCount?: pulumi.Input; + /** + * Created at in ISO-8601. + */ + createdAt?: pulumi.Input; + /** + * The user who created the workspace. + */ + createdBy?: pulumi.Input; + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Unique identifier for workspace. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Workspace resource. + */ +export interface WorkspaceArgs { + /** + * Text describing the collection. + */ + description?: pulumi.Input; + /** + * Unique identifier for workspace. Can contain alphanumeric or dash characters. + */ + name?: pulumi.Input; +} diff --git a/sdk/python/Pulumi.yaml b/sdk/python/Pulumi.yaml new file mode 100644 index 0000000..e69de29 diff --git a/sdk/python/README.md b/sdk/python/README.md new file mode 100644 index 0000000..c3835be --- /dev/null +++ b/sdk/python/README.md @@ -0,0 +1,30 @@ +# Rockset Resource Provider + +The Rockset Resource Provider lets you manage [Rockset](https://rockset.com) resources. + +## Installing + +This package is available for several languages/platforms: + +### Python + +To use from Python, install using `pip`: + +```bash +pip install pulumi_rockset +``` + +### Go + +To use from Go, use `go get` to grab the latest version of the library: + +```bash +go get github.com/ddn0/pulumi-rockset/sdk/go/... +``` + +## Configuration + +The following configuration points are available for the `rockset` provider: + +- `rockset:apiKey` (environment: `ROCKSET_APIKEY`) - the API key for Rockset +- `rockset:apiServer` (environment: `ROCKSET_APISERVER`) - the API endpoint for the region in which to deploy resources diff --git a/sdk/python/pulumi_rockset/README.md b/sdk/python/pulumi_rockset/README.md new file mode 100644 index 0000000..2424de8 --- /dev/null +++ b/sdk/python/pulumi_rockset/README.md @@ -0,0 +1,4 @@ +> This provider is a derived work of the [Terraform Provider](https://github.com/rockset/terraform-provider-rockset) +> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, +> first check the [`pulumi-rockset` repo](https://github.com/ddn0/pulumi-rockset/issues); however, if that doesn't turn up anything, +> please consult the source [`terraform-provider-rockset` repo](https://github.com/rockset/terraform-provider-rockset/issues). \ No newline at end of file diff --git a/sdk/python/pulumi_rockset/__init__.py b/sdk/python/pulumi_rockset/__init__.py new file mode 100644 index 0000000..aa135a6 --- /dev/null +++ b/sdk/python/pulumi_rockset/__init__.py @@ -0,0 +1,246 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from . import _utilities +import typing +# Export this package's modules as members: +from .alias import * +from .api_key import * +from .collection import * +from .collection_mount import * +from .dynamodb_collection import * +from .dynamodb_integration import * +from .gcs_collection import * +from .gcs_integration import * +from .get_account import * +from .get_query_lambda_tag import * +from .get_user import * +from .get_virtual_instance import * +from .get_workspace import * +from .kafka_collection import * +from .kafka_integration import * +from .kinesis_collection import * +from .kinesis_integration import * +from .mongodb_collection import * +from .mongodb_integration import * +from .provider import * +from .query_lambda import * +from .query_lambda_tag import * +from .role import * +from .s3_collection import * +from .s3_integration import * +from .user import * +from .view import * +from .virtual_instance import * +from .workspace import * +from ._inputs import * +from . import outputs + +# Make subpackages available: +if typing.TYPE_CHECKING: + import pulumi_rockset.config as __config + config = __config +else: + config = _utilities.lazy_import('pulumi_rockset.config') + +_utilities.register( + resource_modules=""" +[ + { + "pkg": "rockset", + "mod": "index/alias", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/alias:Alias": "Alias" + } + }, + { + "pkg": "rockset", + "mod": "index/apiKey", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/apiKey:ApiKey": "ApiKey" + } + }, + { + "pkg": "rockset", + "mod": "index/collection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/collection:Collection": "Collection" + } + }, + { + "pkg": "rockset", + "mod": "index/collectionMount", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/collectionMount:CollectionMount": "CollectionMount" + } + }, + { + "pkg": "rockset", + "mod": "index/dynamodbCollection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/dynamodbCollection:DynamodbCollection": "DynamodbCollection" + } + }, + { + "pkg": "rockset", + "mod": "index/dynamodbIntegration", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/dynamodbIntegration:DynamodbIntegration": "DynamodbIntegration" + } + }, + { + "pkg": "rockset", + "mod": "index/gcsCollection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/gcsCollection:GcsCollection": "GcsCollection" + } + }, + { + "pkg": "rockset", + "mod": "index/gcsIntegration", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/gcsIntegration:GcsIntegration": "GcsIntegration" + } + }, + { + "pkg": "rockset", + "mod": "index/kafkaCollection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/kafkaCollection:KafkaCollection": "KafkaCollection" + } + }, + { + "pkg": "rockset", + "mod": "index/kafkaIntegration", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/kafkaIntegration:KafkaIntegration": "KafkaIntegration" + } + }, + { + "pkg": "rockset", + "mod": "index/kinesisCollection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/kinesisCollection:KinesisCollection": "KinesisCollection" + } + }, + { + "pkg": "rockset", + "mod": "index/kinesisIntegration", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/kinesisIntegration:KinesisIntegration": "KinesisIntegration" + } + }, + { + "pkg": "rockset", + "mod": "index/mongodbCollection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/mongodbCollection:MongodbCollection": "MongodbCollection" + } + }, + { + "pkg": "rockset", + "mod": "index/mongodbIntegration", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/mongodbIntegration:MongodbIntegration": "MongodbIntegration" + } + }, + { + "pkg": "rockset", + "mod": "index/queryLambda", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/queryLambda:QueryLambda": "QueryLambda" + } + }, + { + "pkg": "rockset", + "mod": "index/queryLambdaTag", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/queryLambdaTag:QueryLambdaTag": "QueryLambdaTag" + } + }, + { + "pkg": "rockset", + "mod": "index/role", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/role:Role": "Role" + } + }, + { + "pkg": "rockset", + "mod": "index/s3Collection", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/s3Collection:S3Collection": "S3Collection" + } + }, + { + "pkg": "rockset", + "mod": "index/s3Integration", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/s3Integration:S3Integration": "S3Integration" + } + }, + { + "pkg": "rockset", + "mod": "index/user", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/user:User": "User" + } + }, + { + "pkg": "rockset", + "mod": "index/view", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/view:View": "View" + } + }, + { + "pkg": "rockset", + "mod": "index/virtualInstance", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/virtualInstance:VirtualInstance": "VirtualInstance" + } + }, + { + "pkg": "rockset", + "mod": "index/workspace", + "fqn": "pulumi_rockset", + "classes": { + "rockset:index/workspace:Workspace": "Workspace" + } + } +] +""", + resource_packages=""" +[ + { + "pkg": "rockset", + "token": "pulumi:providers:rockset", + "fqn": "pulumi_rockset", + "class": "Provider" + } +] +""" +) diff --git a/sdk/python/pulumi_rockset/_inputs.py b/sdk/python/pulumi_rockset/_inputs.py new file mode 100644 index 0000000..9ad6635 --- /dev/null +++ b/sdk/python/pulumi_rockset/_inputs.py @@ -0,0 +1,1463 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'DynamodbCollectionSourceArgs', + 'GcsCollectionSourceArgs', + 'GcsCollectionSourceCsvArgs', + 'GcsCollectionSourceXmlArgs', + 'KafkaCollectionSourceArgs', + 'KafkaCollectionSourceStatusArgs', + 'KafkaCollectionSourceStatusPartitionArgs', + 'KinesisCollectionSourceArgs', + 'MongodbCollectionSourceArgs', + 'QueryLambdaSqlArgs', + 'QueryLambdaSqlDefaultParameterArgs', + 'RolePrivilegeArgs', + 'S3CollectionSourceArgs', + 'S3CollectionSourceCsvArgs', + 'S3CollectionSourceXmlArgs', +] + +@pulumi.input_type +class DynamodbCollectionSourceArgs: + def __init__(__self__, *, + integration_name: pulumi.Input[str], + table_name: pulumi.Input[str], + aws_region: Optional[pulumi.Input[str]] = None, + rcu: Optional[pulumi.Input[int]] = None, + scan_end_time: Optional[pulumi.Input[str]] = None, + scan_records_processed: Optional[pulumi.Input[int]] = None, + scan_start_time: Optional[pulumi.Input[str]] = None, + scan_total_records: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + stream_last_processed_at: Optional[pulumi.Input[str]] = None, + use_scan_api: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] integration_name: The name of the Rockset DynamoDB integration. + :param pulumi.Input[str] table_name: Name of DynamoDB table containing data. + :param pulumi.Input[str] aws_region: AWS region name of DynamoDB table, by default us-west-2 is used. + :param pulumi.Input[int] rcu: Max RCU usage for scan. + :param pulumi.Input[str] scan_end_time: DynamoDB scan end time. + :param pulumi.Input[int] scan_records_processed: Number of records inserted using scan. + :param pulumi.Input[str] scan_start_time: DynamoDB scan start time. + :param pulumi.Input[int] scan_total_records: Number of records in DynamoDB table at time of scan. + :param pulumi.Input[str] state: State of current ingest for this table. + :param pulumi.Input[str] stream_last_processed_at: ISO-8601 date when source was last processed. + :param pulumi.Input[bool] use_scan_api: Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + """ + pulumi.set(__self__, "integration_name", integration_name) + pulumi.set(__self__, "table_name", table_name) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if rcu is not None: + pulumi.set(__self__, "rcu", rcu) + if scan_end_time is not None: + pulumi.set(__self__, "scan_end_time", scan_end_time) + if scan_records_processed is not None: + pulumi.set(__self__, "scan_records_processed", scan_records_processed) + if scan_start_time is not None: + pulumi.set(__self__, "scan_start_time", scan_start_time) + if scan_total_records is not None: + pulumi.set(__self__, "scan_total_records", scan_total_records) + if state is not None: + pulumi.set(__self__, "state", state) + if stream_last_processed_at is not None: + pulumi.set(__self__, "stream_last_processed_at", stream_last_processed_at) + if use_scan_api is not None: + pulumi.set(__self__, "use_scan_api", use_scan_api) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> pulumi.Input[str]: + """ + The name of the Rockset DynamoDB integration. + """ + return pulumi.get(self, "integration_name") + + @integration_name.setter + def integration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "integration_name", value) + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> pulumi.Input[str]: + """ + Name of DynamoDB table containing data. + """ + return pulumi.get(self, "table_name") + + @table_name.setter + def table_name(self, value: pulumi.Input[str]): + pulumi.set(self, "table_name", value) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[pulumi.Input[str]]: + """ + AWS region name of DynamoDB table, by default us-west-2 is used. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter + def rcu(self) -> Optional[pulumi.Input[int]]: + """ + Max RCU usage for scan. + """ + return pulumi.get(self, "rcu") + + @rcu.setter + def rcu(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "rcu", value) + + @property + @pulumi.getter(name="scanEndTime") + def scan_end_time(self) -> Optional[pulumi.Input[str]]: + """ + DynamoDB scan end time. + """ + return pulumi.get(self, "scan_end_time") + + @scan_end_time.setter + def scan_end_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_end_time", value) + + @property + @pulumi.getter(name="scanRecordsProcessed") + def scan_records_processed(self) -> Optional[pulumi.Input[int]]: + """ + Number of records inserted using scan. + """ + return pulumi.get(self, "scan_records_processed") + + @scan_records_processed.setter + def scan_records_processed(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "scan_records_processed", value) + + @property + @pulumi.getter(name="scanStartTime") + def scan_start_time(self) -> Optional[pulumi.Input[str]]: + """ + DynamoDB scan start time. + """ + return pulumi.get(self, "scan_start_time") + + @scan_start_time.setter + def scan_start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_start_time", value) + + @property + @pulumi.getter(name="scanTotalRecords") + def scan_total_records(self) -> Optional[pulumi.Input[int]]: + """ + Number of records in DynamoDB table at time of scan. + """ + return pulumi.get(self, "scan_total_records") + + @scan_total_records.setter + def scan_total_records(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "scan_total_records", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of current ingest for this table. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="streamLastProcessedAt") + def stream_last_processed_at(self) -> Optional[pulumi.Input[str]]: + """ + ISO-8601 date when source was last processed. + """ + return pulumi.get(self, "stream_last_processed_at") + + @stream_last_processed_at.setter + def stream_last_processed_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_last_processed_at", value) + + @property + @pulumi.getter(name="useScanApi") + def use_scan_api(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + """ + return pulumi.get(self, "use_scan_api") + + @use_scan_api.setter + def use_scan_api(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_scan_api", value) + + +@pulumi.input_type +class GcsCollectionSourceArgs: + def __init__(__self__, *, + bucket: pulumi.Input[str], + format: pulumi.Input[str], + integration_name: pulumi.Input[str], + csv: Optional[pulumi.Input['GcsCollectionSourceCsvArgs']] = None, + prefix: Optional[pulumi.Input[str]] = None, + xml: Optional[pulumi.Input['GcsCollectionSourceXmlArgs']] = None): + """ + :param pulumi.Input[str] bucket: GCS bucket containing the target data. + :param pulumi.Input[str] format: Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + :param pulumi.Input[str] integration_name: The name of the Rockset GCS integration. + :param pulumi.Input[str] prefix: Simple path prefix to GCS key. + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "integration_name", integration_name) + if csv is not None: + pulumi.set(__self__, "csv", csv) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if xml is not None: + pulumi.set(__self__, "xml", xml) + + @property + @pulumi.getter + def bucket(self) -> pulumi.Input[str]: + """ + GCS bucket containing the target data. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: pulumi.Input[str]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + """ + Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> pulumi.Input[str]: + """ + The name of the Rockset GCS integration. + """ + return pulumi.get(self, "integration_name") + + @integration_name.setter + def integration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "integration_name", value) + + @property + @pulumi.getter + def csv(self) -> Optional[pulumi.Input['GcsCollectionSourceCsvArgs']]: + return pulumi.get(self, "csv") + + @csv.setter + def csv(self, value: Optional[pulumi.Input['GcsCollectionSourceCsvArgs']]): + pulumi.set(self, "csv", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Simple path prefix to GCS key. + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + @property + @pulumi.getter + def xml(self) -> Optional[pulumi.Input['GcsCollectionSourceXmlArgs']]: + return pulumi.get(self, "xml") + + @xml.setter + def xml(self, value: Optional[pulumi.Input['GcsCollectionSourceXmlArgs']]): + pulumi.set(self, "xml", value) + + +@pulumi.input_type +class GcsCollectionSourceCsvArgs: + def __init__(__self__, *, + column_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + column_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + encoding: Optional[pulumi.Input[str]] = None, + escape_char: Optional[pulumi.Input[str]] = None, + first_line_as_column_names: Optional[pulumi.Input[bool]] = None, + quote_char: Optional[pulumi.Input[str]] = None, + separator: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] column_names: The names of the columns. + :param pulumi.Input[Sequence[pulumi.Input[str]]] column_types: The types of the columns. + :param pulumi.Input[str] encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param pulumi.Input[str] escape_char: Escape character removes any special meaning from the character that follows it. Defaults to backslash. + :param pulumi.Input[bool] first_line_as_column_names: If the first line in every object specifies the column names. + :param pulumi.Input[str] quote_char: Character within which a cell value is enclosed. Defaults to double quote. + :param pulumi.Input[str] separator: A single character that is the column separator. + """ + if column_names is not None: + pulumi.set(__self__, "column_names", column_names) + if column_types is not None: + pulumi.set(__self__, "column_types", column_types) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if escape_char is not None: + pulumi.set(__self__, "escape_char", escape_char) + if first_line_as_column_names is not None: + pulumi.set(__self__, "first_line_as_column_names", first_line_as_column_names) + if quote_char is not None: + pulumi.set(__self__, "quote_char", quote_char) + if separator is not None: + pulumi.set(__self__, "separator", separator) + + @property + @pulumi.getter(name="columnNames") + def column_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The names of the columns. + """ + return pulumi.get(self, "column_names") + + @column_names.setter + def column_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "column_names", value) + + @property + @pulumi.getter(name="columnTypes") + def column_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The types of the columns. + """ + return pulumi.get(self, "column_types") + + @column_types.setter + def column_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "column_types", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input[str]]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter(name="escapeChar") + def escape_char(self) -> Optional[pulumi.Input[str]]: + """ + Escape character removes any special meaning from the character that follows it. Defaults to backslash. + """ + return pulumi.get(self, "escape_char") + + @escape_char.setter + def escape_char(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "escape_char", value) + + @property + @pulumi.getter(name="firstLineAsColumnNames") + def first_line_as_column_names(self) -> Optional[pulumi.Input[bool]]: + """ + If the first line in every object specifies the column names. + """ + return pulumi.get(self, "first_line_as_column_names") + + @first_line_as_column_names.setter + def first_line_as_column_names(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "first_line_as_column_names", value) + + @property + @pulumi.getter(name="quoteChar") + def quote_char(self) -> Optional[pulumi.Input[str]]: + """ + Character within which a cell value is enclosed. Defaults to double quote. + """ + return pulumi.get(self, "quote_char") + + @quote_char.setter + def quote_char(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quote_char", value) + + @property + @pulumi.getter + def separator(self) -> Optional[pulumi.Input[str]]: + """ + A single character that is the column separator. + """ + return pulumi.get(self, "separator") + + @separator.setter + def separator(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "separator", value) + + +@pulumi.input_type +class GcsCollectionSourceXmlArgs: + def __init__(__self__, *, + attribute_prefix: Optional[pulumi.Input[str]] = None, + doc_tag: Optional[pulumi.Input[str]] = None, + encoding: Optional[pulumi.Input[str]] = None, + root_tag: Optional[pulumi.Input[str]] = None, + value_tag: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] attribute_prefix: Tag to differentiate between attributes and elements. + :param pulumi.Input[str] doc_tag: Tags with which documents are identified + :param pulumi.Input[str] encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param pulumi.Input[str] root_tag: Tag until which xml is ignored. + :param pulumi.Input[str] value_tag: Tag used for the value when there are attributes in the element having no child. + """ + if attribute_prefix is not None: + pulumi.set(__self__, "attribute_prefix", attribute_prefix) + if doc_tag is not None: + pulumi.set(__self__, "doc_tag", doc_tag) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if root_tag is not None: + pulumi.set(__self__, "root_tag", root_tag) + if value_tag is not None: + pulumi.set(__self__, "value_tag", value_tag) + + @property + @pulumi.getter(name="attributePrefix") + def attribute_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Tag to differentiate between attributes and elements. + """ + return pulumi.get(self, "attribute_prefix") + + @attribute_prefix.setter + def attribute_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "attribute_prefix", value) + + @property + @pulumi.getter(name="docTag") + def doc_tag(self) -> Optional[pulumi.Input[str]]: + """ + Tags with which documents are identified + """ + return pulumi.get(self, "doc_tag") + + @doc_tag.setter + def doc_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "doc_tag", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input[str]]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter(name="rootTag") + def root_tag(self) -> Optional[pulumi.Input[str]]: + """ + Tag until which xml is ignored. + """ + return pulumi.get(self, "root_tag") + + @root_tag.setter + def root_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "root_tag", value) + + @property + @pulumi.getter(name="valueTag") + def value_tag(self) -> Optional[pulumi.Input[str]]: + """ + Tag used for the value when there are attributes in the element having no child. + """ + return pulumi.get(self, "value_tag") + + @value_tag.setter + def value_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value_tag", value) + + +@pulumi.input_type +class KafkaCollectionSourceArgs: + def __init__(__self__, *, + integration_name: pulumi.Input[str], + topic_name: pulumi.Input[str], + consumer_group_id: Optional[pulumi.Input[str]] = None, + offset_reset_policy: Optional[pulumi.Input[str]] = None, + statuses: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceStatusArgs']]]] = None, + use_v3: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] integration_name: The name of the Rockset Kafka integration. + :param pulumi.Input[str] topic_name: Name of Kafka topic to be tailed. + :param pulumi.Input[str] consumer_group_id: The Kafka consumer group Id being used. + :param pulumi.Input[str] offset_reset_policy: The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + :param pulumi.Input[bool] use_v3: Whether to use v3 integration. Required if the kafka integration uses v3. + """ + pulumi.set(__self__, "integration_name", integration_name) + pulumi.set(__self__, "topic_name", topic_name) + if consumer_group_id is not None: + pulumi.set(__self__, "consumer_group_id", consumer_group_id) + if offset_reset_policy is not None: + pulumi.set(__self__, "offset_reset_policy", offset_reset_policy) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if use_v3 is not None: + pulumi.set(__self__, "use_v3", use_v3) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> pulumi.Input[str]: + """ + The name of the Rockset Kafka integration. + """ + return pulumi.get(self, "integration_name") + + @integration_name.setter + def integration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "integration_name", value) + + @property + @pulumi.getter(name="topicName") + def topic_name(self) -> pulumi.Input[str]: + """ + Name of Kafka topic to be tailed. + """ + return pulumi.get(self, "topic_name") + + @topic_name.setter + def topic_name(self, value: pulumi.Input[str]): + pulumi.set(self, "topic_name", value) + + @property + @pulumi.getter(name="consumerGroupId") + def consumer_group_id(self) -> Optional[pulumi.Input[str]]: + """ + The Kafka consumer group Id being used. + """ + return pulumi.get(self, "consumer_group_id") + + @consumer_group_id.setter + def consumer_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "consumer_group_id", value) + + @property + @pulumi.getter(name="offsetResetPolicy") + def offset_reset_policy(self) -> Optional[pulumi.Input[str]]: + """ + The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + """ + return pulumi.get(self, "offset_reset_policy") + + @offset_reset_policy.setter + def offset_reset_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "offset_reset_policy", value) + + @property + @pulumi.getter + def statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceStatusArgs']]]]: + return pulumi.get(self, "statuses") + + @statuses.setter + def statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceStatusArgs']]]]): + pulumi.set(self, "statuses", value) + + @property + @pulumi.getter(name="useV3") + def use_v3(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to use v3 integration. Required if the kafka integration uses v3. + """ + return pulumi.get(self, "use_v3") + + @use_v3.setter + def use_v3(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_v3", value) + + +@pulumi.input_type +class KafkaCollectionSourceStatusArgs: + def __init__(__self__, *, + documents_processed: Optional[pulumi.Input[int]] = None, + last_consumed_time: Optional[pulumi.Input[str]] = None, + partitions: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceStatusPartitionArgs']]]] = None, + state: Optional[pulumi.Input[str]] = None): + if documents_processed is not None: + pulumi.set(__self__, "documents_processed", documents_processed) + if last_consumed_time is not None: + pulumi.set(__self__, "last_consumed_time", last_consumed_time) + if partitions is not None: + pulumi.set(__self__, "partitions", partitions) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="documentsProcessed") + def documents_processed(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "documents_processed") + + @documents_processed.setter + def documents_processed(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "documents_processed", value) + + @property + @pulumi.getter(name="lastConsumedTime") + def last_consumed_time(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "last_consumed_time") + + @last_consumed_time.setter + def last_consumed_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_consumed_time", value) + + @property + @pulumi.getter + def partitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceStatusPartitionArgs']]]]: + return pulumi.get(self, "partitions") + + @partitions.setter + def partitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceStatusPartitionArgs']]]]): + pulumi.set(self, "partitions", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + +@pulumi.input_type +class KafkaCollectionSourceStatusPartitionArgs: + def __init__(__self__, *, + offset_lag: Optional[pulumi.Input[int]] = None, + partition_number: Optional[pulumi.Input[int]] = None, + partition_offset: Optional[pulumi.Input[int]] = None): + if offset_lag is not None: + pulumi.set(__self__, "offset_lag", offset_lag) + if partition_number is not None: + pulumi.set(__self__, "partition_number", partition_number) + if partition_offset is not None: + pulumi.set(__self__, "partition_offset", partition_offset) + + @property + @pulumi.getter(name="offsetLag") + def offset_lag(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "offset_lag") + + @offset_lag.setter + def offset_lag(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "offset_lag", value) + + @property + @pulumi.getter(name="partitionNumber") + def partition_number(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "partition_number") + + @partition_number.setter + def partition_number(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "partition_number", value) + + @property + @pulumi.getter(name="partitionOffset") + def partition_offset(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "partition_offset") + + @partition_offset.setter + def partition_offset(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "partition_offset", value) + + +@pulumi.input_type +class KinesisCollectionSourceArgs: + def __init__(__self__, *, + format: pulumi.Input[str], + integration_name: pulumi.Input[str], + stream_name: pulumi.Input[str], + aws_region: Optional[pulumi.Input[str]] = None, + dms_primary_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] format: Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + :param pulumi.Input[str] integration_name: The name of the Rockset Kinesis integration. + :param pulumi.Input[str] stream_name: Name of Kinesis stream. + :param pulumi.Input[str] aws_region: AWS region name for the Kinesis stream, by default us-west-2 is used + :param pulumi.Input[Sequence[pulumi.Input[str]]] dms_primary_keys: Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + """ + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "integration_name", integration_name) + pulumi.set(__self__, "stream_name", stream_name) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if dms_primary_keys is not None: + pulumi.set(__self__, "dms_primary_keys", dms_primary_keys) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + """ + Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> pulumi.Input[str]: + """ + The name of the Rockset Kinesis integration. + """ + return pulumi.get(self, "integration_name") + + @integration_name.setter + def integration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "integration_name", value) + + @property + @pulumi.getter(name="streamName") + def stream_name(self) -> pulumi.Input[str]: + """ + Name of Kinesis stream. + """ + return pulumi.get(self, "stream_name") + + @stream_name.setter + def stream_name(self, value: pulumi.Input[str]): + pulumi.set(self, "stream_name", value) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[pulumi.Input[str]]: + """ + AWS region name for the Kinesis stream, by default us-west-2 is used + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter(name="dmsPrimaryKeys") + def dms_primary_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + """ + return pulumi.get(self, "dms_primary_keys") + + @dms_primary_keys.setter + def dms_primary_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "dms_primary_keys", value) + + +@pulumi.input_type +class MongodbCollectionSourceArgs: + def __init__(__self__, *, + collection_name: pulumi.Input[str], + database_name: pulumi.Input[str], + integration_name: pulumi.Input[str], + retrieve_full_document: Optional[pulumi.Input[bool]] = None, + scan_end_time: Optional[pulumi.Input[str]] = None, + scan_records_processed: Optional[pulumi.Input[int]] = None, + scan_start_time: Optional[pulumi.Input[str]] = None, + scan_total_records: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + stream_last_delete_processed_at: Optional[pulumi.Input[str]] = None, + stream_last_insert_processed_at: Optional[pulumi.Input[str]] = None, + stream_last_update_processed_at: Optional[pulumi.Input[str]] = None, + stream_records_deleted: Optional[pulumi.Input[int]] = None, + stream_records_inserted: Optional[pulumi.Input[int]] = None, + stream_records_updated: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] collection_name: MongoDB collection name of the target collection. + :param pulumi.Input[str] database_name: MongoDB database name containing the target collection. + :param pulumi.Input[str] integration_name: The name of the Rockset MongoDB integration. + :param pulumi.Input[str] scan_end_time: MongoDB scan end time. + :param pulumi.Input[int] scan_records_processed: Number of records inserted using scan. + :param pulumi.Input[str] scan_start_time: MongoDB scan start time. + :param pulumi.Input[int] scan_total_records: Number of records in MongoDB table at time of scan. + :param pulumi.Input[str] state: State of current ingest for this table. + :param pulumi.Input[str] stream_last_delete_processed_at: ISO-8601 date when delete from source was last processed. + :param pulumi.Input[str] stream_last_insert_processed_at: ISO-8601 date when new insert from source was last processed. + :param pulumi.Input[str] stream_last_update_processed_at: ISO-8601 date when update from source was last processed. + :param pulumi.Input[int] stream_records_deleted: Number of new records deleted using stream. + :param pulumi.Input[int] stream_records_inserted: Number of new records inserted using stream. + :param pulumi.Input[int] stream_records_updated: Number of new records updated using stream. + """ + pulumi.set(__self__, "collection_name", collection_name) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "integration_name", integration_name) + if retrieve_full_document is not None: + pulumi.set(__self__, "retrieve_full_document", retrieve_full_document) + if scan_end_time is not None: + pulumi.set(__self__, "scan_end_time", scan_end_time) + if scan_records_processed is not None: + pulumi.set(__self__, "scan_records_processed", scan_records_processed) + if scan_start_time is not None: + pulumi.set(__self__, "scan_start_time", scan_start_time) + if scan_total_records is not None: + pulumi.set(__self__, "scan_total_records", scan_total_records) + if state is not None: + pulumi.set(__self__, "state", state) + if stream_last_delete_processed_at is not None: + pulumi.set(__self__, "stream_last_delete_processed_at", stream_last_delete_processed_at) + if stream_last_insert_processed_at is not None: + pulumi.set(__self__, "stream_last_insert_processed_at", stream_last_insert_processed_at) + if stream_last_update_processed_at is not None: + pulumi.set(__self__, "stream_last_update_processed_at", stream_last_update_processed_at) + if stream_records_deleted is not None: + pulumi.set(__self__, "stream_records_deleted", stream_records_deleted) + if stream_records_inserted is not None: + pulumi.set(__self__, "stream_records_inserted", stream_records_inserted) + if stream_records_updated is not None: + pulumi.set(__self__, "stream_records_updated", stream_records_updated) + + @property + @pulumi.getter(name="collectionName") + def collection_name(self) -> pulumi.Input[str]: + """ + MongoDB collection name of the target collection. + """ + return pulumi.get(self, "collection_name") + + @collection_name.setter + def collection_name(self, value: pulumi.Input[str]): + pulumi.set(self, "collection_name", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Input[str]: + """ + MongoDB database name containing the target collection. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: pulumi.Input[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> pulumi.Input[str]: + """ + The name of the Rockset MongoDB integration. + """ + return pulumi.get(self, "integration_name") + + @integration_name.setter + def integration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "integration_name", value) + + @property + @pulumi.getter(name="retrieveFullDocument") + def retrieve_full_document(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "retrieve_full_document") + + @retrieve_full_document.setter + def retrieve_full_document(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "retrieve_full_document", value) + + @property + @pulumi.getter(name="scanEndTime") + def scan_end_time(self) -> Optional[pulumi.Input[str]]: + """ + MongoDB scan end time. + """ + return pulumi.get(self, "scan_end_time") + + @scan_end_time.setter + def scan_end_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_end_time", value) + + @property + @pulumi.getter(name="scanRecordsProcessed") + def scan_records_processed(self) -> Optional[pulumi.Input[int]]: + """ + Number of records inserted using scan. + """ + return pulumi.get(self, "scan_records_processed") + + @scan_records_processed.setter + def scan_records_processed(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "scan_records_processed", value) + + @property + @pulumi.getter(name="scanStartTime") + def scan_start_time(self) -> Optional[pulumi.Input[str]]: + """ + MongoDB scan start time. + """ + return pulumi.get(self, "scan_start_time") + + @scan_start_time.setter + def scan_start_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_start_time", value) + + @property + @pulumi.getter(name="scanTotalRecords") + def scan_total_records(self) -> Optional[pulumi.Input[int]]: + """ + Number of records in MongoDB table at time of scan. + """ + return pulumi.get(self, "scan_total_records") + + @scan_total_records.setter + def scan_total_records(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "scan_total_records", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of current ingest for this table. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="streamLastDeleteProcessedAt") + def stream_last_delete_processed_at(self) -> Optional[pulumi.Input[str]]: + """ + ISO-8601 date when delete from source was last processed. + """ + return pulumi.get(self, "stream_last_delete_processed_at") + + @stream_last_delete_processed_at.setter + def stream_last_delete_processed_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_last_delete_processed_at", value) + + @property + @pulumi.getter(name="streamLastInsertProcessedAt") + def stream_last_insert_processed_at(self) -> Optional[pulumi.Input[str]]: + """ + ISO-8601 date when new insert from source was last processed. + """ + return pulumi.get(self, "stream_last_insert_processed_at") + + @stream_last_insert_processed_at.setter + def stream_last_insert_processed_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_last_insert_processed_at", value) + + @property + @pulumi.getter(name="streamLastUpdateProcessedAt") + def stream_last_update_processed_at(self) -> Optional[pulumi.Input[str]]: + """ + ISO-8601 date when update from source was last processed. + """ + return pulumi.get(self, "stream_last_update_processed_at") + + @stream_last_update_processed_at.setter + def stream_last_update_processed_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stream_last_update_processed_at", value) + + @property + @pulumi.getter(name="streamRecordsDeleted") + def stream_records_deleted(self) -> Optional[pulumi.Input[int]]: + """ + Number of new records deleted using stream. + """ + return pulumi.get(self, "stream_records_deleted") + + @stream_records_deleted.setter + def stream_records_deleted(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "stream_records_deleted", value) + + @property + @pulumi.getter(name="streamRecordsInserted") + def stream_records_inserted(self) -> Optional[pulumi.Input[int]]: + """ + Number of new records inserted using stream. + """ + return pulumi.get(self, "stream_records_inserted") + + @stream_records_inserted.setter + def stream_records_inserted(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "stream_records_inserted", value) + + @property + @pulumi.getter(name="streamRecordsUpdated") + def stream_records_updated(self) -> Optional[pulumi.Input[int]]: + """ + Number of new records updated using stream. + """ + return pulumi.get(self, "stream_records_updated") + + @stream_records_updated.setter + def stream_records_updated(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "stream_records_updated", value) + + +@pulumi.input_type +class QueryLambdaSqlArgs: + def __init__(__self__, *, + query: pulumi.Input[str], + default_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlDefaultParameterArgs']]]] = None): + pulumi.set(__self__, "query", query) + if default_parameters is not None: + pulumi.set(__self__, "default_parameters", default_parameters) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter(name="defaultParameters") + def default_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlDefaultParameterArgs']]]]: + return pulumi.get(self, "default_parameters") + + @default_parameters.setter + def default_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlDefaultParameterArgs']]]]): + pulumi.set(self, "default_parameters", value) + + +@pulumi.input_type +class QueryLambdaSqlDefaultParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + type: pulumi.Input[str], + value: pulumi.Input[str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RolePrivilegeArgs: + def __init__(__self__, *, + action: pulumi.Input[str], + cluster: Optional[pulumi.Input[str]] = None, + resource_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] action: The action allowed by this privilege. + :param pulumi.Input[str] cluster: Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + :param pulumi.Input[str] resource_name: The resource on which this action is allowed. Defaults to 'All' if not specified. + """ + pulumi.set(__self__, "action", action) + if cluster is not None: + pulumi.set(__self__, "cluster", cluster) + if resource_name is not None: + pulumi.set(__self__, "resource_name", resource_name) + + @property + @pulumi.getter + def action(self) -> pulumi.Input[str]: + """ + The action allowed by this privilege. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input[str]): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def cluster(self) -> Optional[pulumi.Input[str]]: + """ + Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + """ + return pulumi.get(self, "cluster") + + @cluster.setter + def cluster(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster", value) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> Optional[pulumi.Input[str]]: + """ + The resource on which this action is allowed. Defaults to 'All' if not specified. + """ + return pulumi.get(self, "resource_name") + + @resource_name.setter + def resource_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_name", value) + + +@pulumi.input_type +class S3CollectionSourceArgs: + def __init__(__self__, *, + bucket: pulumi.Input[str], + format: pulumi.Input[str], + integration_name: pulumi.Input[str], + csv: Optional[pulumi.Input['S3CollectionSourceCsvArgs']] = None, + pattern: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, + xml: Optional[pulumi.Input['S3CollectionSourceXmlArgs']] = None): + """ + :param pulumi.Input[str] bucket: S3 bucket containing the target data. + :param pulumi.Input[str] format: Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + :param pulumi.Input[str] integration_name: The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + :param pulumi.Input[str] pattern: Regex path pattern to S3 keys. + :param pulumi.Input[str] prefix: Simple path prefix to S3 keys. + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "integration_name", integration_name) + if csv is not None: + pulumi.set(__self__, "csv", csv) + if pattern is not None: + pulumi.set(__self__, "pattern", pattern) + if prefix is not None: + warnings.warn("""use pattern instead""", DeprecationWarning) + pulumi.log.warn("""prefix is deprecated: use pattern instead""") + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if xml is not None: + pulumi.set(__self__, "xml", xml) + + @property + @pulumi.getter + def bucket(self) -> pulumi.Input[str]: + """ + S3 bucket containing the target data. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: pulumi.Input[str]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + """ + Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> pulumi.Input[str]: + """ + The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + """ + return pulumi.get(self, "integration_name") + + @integration_name.setter + def integration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "integration_name", value) + + @property + @pulumi.getter + def csv(self) -> Optional[pulumi.Input['S3CollectionSourceCsvArgs']]: + return pulumi.get(self, "csv") + + @csv.setter + def csv(self, value: Optional[pulumi.Input['S3CollectionSourceCsvArgs']]): + pulumi.set(self, "csv", value) + + @property + @pulumi.getter + def pattern(self) -> Optional[pulumi.Input[str]]: + """ + Regex path pattern to S3 keys. + """ + return pulumi.get(self, "pattern") + + @pattern.setter + def pattern(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pattern", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Simple path prefix to S3 keys. + """ + warnings.warn("""use pattern instead""", DeprecationWarning) + pulumi.log.warn("""prefix is deprecated: use pattern instead""") + + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + @property + @pulumi.getter + def xml(self) -> Optional[pulumi.Input['S3CollectionSourceXmlArgs']]: + return pulumi.get(self, "xml") + + @xml.setter + def xml(self, value: Optional[pulumi.Input['S3CollectionSourceXmlArgs']]): + pulumi.set(self, "xml", value) + + +@pulumi.input_type +class S3CollectionSourceCsvArgs: + def __init__(__self__, *, + column_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + column_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + encoding: Optional[pulumi.Input[str]] = None, + escape_char: Optional[pulumi.Input[str]] = None, + first_line_as_column_names: Optional[pulumi.Input[bool]] = None, + quote_char: Optional[pulumi.Input[str]] = None, + separator: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] column_names: The names of the columns. + :param pulumi.Input[Sequence[pulumi.Input[str]]] column_types: The types of the columns. + :param pulumi.Input[str] encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param pulumi.Input[str] escape_char: Escape character removes any special meaning from the character that follows it. Defaults to backslash. + :param pulumi.Input[bool] first_line_as_column_names: If the first line in every object specifies the column names. + :param pulumi.Input[str] quote_char: Character within which a cell value is enclosed. Defaults to double quote. + :param pulumi.Input[str] separator: A single character that is the column separator. + """ + if column_names is not None: + pulumi.set(__self__, "column_names", column_names) + if column_types is not None: + pulumi.set(__self__, "column_types", column_types) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if escape_char is not None: + pulumi.set(__self__, "escape_char", escape_char) + if first_line_as_column_names is not None: + pulumi.set(__self__, "first_line_as_column_names", first_line_as_column_names) + if quote_char is not None: + pulumi.set(__self__, "quote_char", quote_char) + if separator is not None: + pulumi.set(__self__, "separator", separator) + + @property + @pulumi.getter(name="columnNames") + def column_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The names of the columns. + """ + return pulumi.get(self, "column_names") + + @column_names.setter + def column_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "column_names", value) + + @property + @pulumi.getter(name="columnTypes") + def column_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The types of the columns. + """ + return pulumi.get(self, "column_types") + + @column_types.setter + def column_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "column_types", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input[str]]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter(name="escapeChar") + def escape_char(self) -> Optional[pulumi.Input[str]]: + """ + Escape character removes any special meaning from the character that follows it. Defaults to backslash. + """ + return pulumi.get(self, "escape_char") + + @escape_char.setter + def escape_char(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "escape_char", value) + + @property + @pulumi.getter(name="firstLineAsColumnNames") + def first_line_as_column_names(self) -> Optional[pulumi.Input[bool]]: + """ + If the first line in every object specifies the column names. + """ + return pulumi.get(self, "first_line_as_column_names") + + @first_line_as_column_names.setter + def first_line_as_column_names(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "first_line_as_column_names", value) + + @property + @pulumi.getter(name="quoteChar") + def quote_char(self) -> Optional[pulumi.Input[str]]: + """ + Character within which a cell value is enclosed. Defaults to double quote. + """ + return pulumi.get(self, "quote_char") + + @quote_char.setter + def quote_char(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quote_char", value) + + @property + @pulumi.getter + def separator(self) -> Optional[pulumi.Input[str]]: + """ + A single character that is the column separator. + """ + return pulumi.get(self, "separator") + + @separator.setter + def separator(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "separator", value) + + +@pulumi.input_type +class S3CollectionSourceXmlArgs: + def __init__(__self__, *, + attribute_prefix: Optional[pulumi.Input[str]] = None, + doc_tag: Optional[pulumi.Input[str]] = None, + encoding: Optional[pulumi.Input[str]] = None, + root_tag: Optional[pulumi.Input[str]] = None, + value_tag: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] attribute_prefix: Tag to differentiate between attributes and elements. + :param pulumi.Input[str] doc_tag: Tags with which documents are identified + :param pulumi.Input[str] encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param pulumi.Input[str] root_tag: Tag until which xml is ignored. + :param pulumi.Input[str] value_tag: Tag used for the value when there are attributes in the element having no child. + """ + if attribute_prefix is not None: + pulumi.set(__self__, "attribute_prefix", attribute_prefix) + if doc_tag is not None: + pulumi.set(__self__, "doc_tag", doc_tag) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if root_tag is not None: + pulumi.set(__self__, "root_tag", root_tag) + if value_tag is not None: + pulumi.set(__self__, "value_tag", value_tag) + + @property + @pulumi.getter(name="attributePrefix") + def attribute_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Tag to differentiate between attributes and elements. + """ + return pulumi.get(self, "attribute_prefix") + + @attribute_prefix.setter + def attribute_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "attribute_prefix", value) + + @property + @pulumi.getter(name="docTag") + def doc_tag(self) -> Optional[pulumi.Input[str]]: + """ + Tags with which documents are identified + """ + return pulumi.get(self, "doc_tag") + + @doc_tag.setter + def doc_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "doc_tag", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input[str]]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter(name="rootTag") + def root_tag(self) -> Optional[pulumi.Input[str]]: + """ + Tag until which xml is ignored. + """ + return pulumi.get(self, "root_tag") + + @root_tag.setter + def root_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "root_tag", value) + + @property + @pulumi.getter(name="valueTag") + def value_tag(self) -> Optional[pulumi.Input[str]]: + """ + Tag used for the value when there are attributes in the element having no child. + """ + return pulumi.get(self, "value_tag") + + @value_tag.setter + def value_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value_tag", value) + + diff --git a/sdk/python/pulumi_rockset/_utilities.py b/sdk/python/pulumi_rockset/_utilities.py new file mode 100644 index 0000000..968f8f5 --- /dev/null +++ b/sdk/python/pulumi_rockset/_utilities.py @@ -0,0 +1,291 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + + +import asyncio +import importlib.util +import inspect +import json +import os +import pkg_resources +import sys +import typing + +import pulumi +import pulumi.runtime +from pulumi.runtime.sync_await import _sync_await + +from semver import VersionInfo as SemverVersion +from parver import Version as PEP440Version + + +def get_env(*args): + for v in args: + value = os.getenv(v) + if value is not None: + return value + return None + + +def get_env_bool(*args): + str = get_env(*args) + if str is not None: + # NOTE: these values are taken from https://golang.org/src/strconv/atob.go?s=351:391#L1, which is what + # Terraform uses internally when parsing boolean values. + if str in ["1", "t", "T", "true", "TRUE", "True"]: + return True + if str in ["0", "f", "F", "false", "FALSE", "False"]: + return False + return None + + +def get_env_int(*args): + str = get_env(*args) + if str is not None: + try: + return int(str) + except: + return None + return None + + +def get_env_float(*args): + str = get_env(*args) + if str is not None: + try: + return float(str) + except: + return None + return None + + +def _get_semver_version(): + # __name__ is set to the fully-qualified name of the current module, In our case, it will be + # ._utilities. is the module we want to query the version for. + root_package, *rest = __name__.split('.') + + # pkg_resources uses setuptools to inspect the set of installed packages. We use it here to ask + # for the currently installed version of the root package (i.e. us) and get its version. + + # Unfortunately, PEP440 and semver differ slightly in incompatible ways. The Pulumi engine expects + # to receive a valid semver string when receiving requests from the language host, so it's our + # responsibility as the library to convert our own PEP440 version into a valid semver string. + + pep440_version_string = pkg_resources.require(root_package)[0].version + pep440_version = PEP440Version.parse(pep440_version_string) + (major, minor, patch) = pep440_version.release + prerelease = None + if pep440_version.pre_tag == 'a': + prerelease = f"alpha.{pep440_version.pre}" + elif pep440_version.pre_tag == 'b': + prerelease = f"beta.{pep440_version.pre}" + elif pep440_version.pre_tag == 'rc': + prerelease = f"rc.{pep440_version.pre}" + elif pep440_version.dev is not None: + prerelease = f"dev.{pep440_version.dev}" + + # The only significant difference between PEP440 and semver as it pertains to us is that PEP440 has explicit support + # for dev builds, while semver encodes them as "prerelease" versions. In order to bridge between the two, we convert + # our dev build version into a prerelease tag. This matches what all of our other packages do when constructing + # their own semver string. + return SemverVersion(major=major, minor=minor, patch=patch, prerelease=prerelease) + + +# Determine the version once and cache the value, which measurably improves program performance. +_version = _get_semver_version() +_version_str = str(_version) + + +def get_version(): + return _version_str + +def get_resource_opts_defaults() -> pulumi.ResourceOptions: + return pulumi.ResourceOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) + +def get_invoke_opts_defaults() -> pulumi.InvokeOptions: + return pulumi.InvokeOptions( + version=get_version(), + plugin_download_url=get_plugin_download_url(), + ) + +def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs): + """ + Return the resource args and options given the *args and **kwargs of a resource's + __init__ method. + """ + + resource_args, opts = None, None + + # If the first item is the resource args type, save it and remove it from the args list. + if args and isinstance(args[0], resource_args_type): + resource_args, args = args[0], args[1:] + + # Now look at the first item in the args list again. + # If the first item is the resource options class, save it. + if args and isinstance(args[0], resource_options_type): + opts = args[0] + + # If resource_args is None, see if "args" is in kwargs, and, if so, if it's typed as the + # the resource args type. + if resource_args is None: + a = kwargs.get("args") + if isinstance(a, resource_args_type): + resource_args = a + + # If opts is None, look it up in kwargs. + if opts is None: + opts = kwargs.get("opts") + + return resource_args, opts + + +# Temporary: just use pulumi._utils.lazy_import once everyone upgrades. +def lazy_import(fullname): + + import pulumi._utils as u + f = getattr(u, 'lazy_import', None) + if f is None: + f = _lazy_import_temp + + return f(fullname) + + +# Copied from pulumi._utils.lazy_import, see comments there. +def _lazy_import_temp(fullname): + m = sys.modules.get(fullname, None) + if m is not None: + return m + + spec = importlib.util.find_spec(fullname) + + m = sys.modules.get(fullname, None) + if m is not None: + return m + + loader = importlib.util.LazyLoader(spec.loader) + spec.loader = loader + module = importlib.util.module_from_spec(spec) + + m = sys.modules.get(fullname, None) + if m is not None: + return m + + sys.modules[fullname] = module + loader.exec_module(module) + return module + + +class Package(pulumi.runtime.ResourcePackage): + def __init__(self, pkg_info): + super().__init__() + self.pkg_info = pkg_info + + def version(self): + return _version + + def construct_provider(self, name: str, typ: str, urn: str) -> pulumi.ProviderResource: + if typ != self.pkg_info['token']: + raise Exception(f"unknown provider type {typ}") + Provider = getattr(lazy_import(self.pkg_info['fqn']), self.pkg_info['class']) + return Provider(name, pulumi.ResourceOptions(urn=urn)) + + +class Module(pulumi.runtime.ResourceModule): + def __init__(self, mod_info): + super().__init__() + self.mod_info = mod_info + + def version(self): + return _version + + def construct(self, name: str, typ: str, urn: str) -> pulumi.Resource: + class_name = self.mod_info['classes'].get(typ, None) + + if class_name is None: + raise Exception(f"unknown resource type {typ}") + + TheClass = getattr(lazy_import(self.mod_info['fqn']), class_name) + return TheClass(name, pulumi.ResourceOptions(urn=urn)) + + +def register(resource_modules, resource_packages): + resource_modules = json.loads(resource_modules) + resource_packages = json.loads(resource_packages) + + for pkg_info in resource_packages: + pulumi.runtime.register_resource_package(pkg_info['pkg'], Package(pkg_info)) + + for mod_info in resource_modules: + pulumi.runtime.register_resource_module( + mod_info['pkg'], + mod_info['mod'], + Module(mod_info)) + + +_F = typing.TypeVar('_F', bound=typing.Callable[..., typing.Any]) + + +def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]: + """Decorator internally used on {fn}_output lifted function versions + to implement them automatically from the un-lifted function.""" + + func_sig = inspect.signature(func) + + def lifted_func(*args, opts=None, **kwargs): + bound_args = func_sig.bind(*args, **kwargs) + # Convert tuple to list, see pulumi/pulumi#8172 + args_list = list(bound_args.args) + return pulumi.Output.from_input({ + 'args': args_list, + 'kwargs': bound_args.kwargs + }).apply(lambda resolved_args: func(*resolved_args['args'], + opts=opts, + **resolved_args['kwargs'])) + + return (lambda _: lifted_func) + + +def call_plain( + tok: str, + props: pulumi.Inputs, + res: typing.Optional[pulumi.Resource] = None, + typ: typing.Optional[type] = None, +) -> typing.Any: + """ + Wraps pulumi.runtime.plain to force the output and return it plainly. + """ + + output = pulumi.runtime.call(tok, props, res, typ) + + # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. + result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output))) + + problem = None + if not known: + problem = ' an unknown value' + elif secret: + problem = ' a secret value' + + if problem: + raise AssertionError( + f"Plain resource method '{tok}' incorrectly returned {problem}. " + + "This is an error in the provider, please report this to the provider developer." + ) + + return result + + +async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]: + return ( + await o._future, + await o._is_known, + await o._is_secret, + await o._resources, + ) + +def get_plugin_download_url(): + return None diff --git a/sdk/python/pulumi_rockset/alias.py b/sdk/python/pulumi_rockset/alias.py new file mode 100644 index 0000000..7061c6b --- /dev/null +++ b/sdk/python/pulumi_rockset/alias.py @@ -0,0 +1,288 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['AliasArgs', 'Alias'] + +@pulumi.input_type +class AliasArgs: + def __init__(__self__, *, + collections: pulumi.Input[str], + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Alias resource. + :param pulumi.Input[str] collections: List of collections for this alias to refer to. + :param pulumi.Input[str] workspace: Name of the workspace the alias will be in. + :param pulumi.Input[str] description: Text describing the alias. + :param pulumi.Input[str] name: Unique identifier for the alias. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "collections", collections) + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def collections(self) -> pulumi.Input[str]: + """ + List of collections for this alias to refer to. + """ + return pulumi.get(self, "collections") + + @collections.setter + def collections(self, value: pulumi.Input[str]): + pulumi.set(self, "collections", value) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + Name of the workspace the alias will be in. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the alias. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the alias. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AliasState: + def __init__(__self__, *, + collections: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Alias resources. + :param pulumi.Input[str] collections: List of collections for this alias to refer to. + :param pulumi.Input[str] description: Text describing the alias. + :param pulumi.Input[str] name: Unique identifier for the alias. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] workspace: Name of the workspace the alias will be in. + """ + if collections is not None: + pulumi.set(__self__, "collections", collections) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def collections(self) -> Optional[pulumi.Input[str]]: + """ + List of collections for this alias to refer to. + """ + return pulumi.get(self, "collections") + + @collections.setter + def collections(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "collections", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the alias. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the alias. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + Name of the workspace the alias will be in. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class Alias(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + collections: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages an alias for a set of collections. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] collections: List of collections for this alias to refer to. + :param pulumi.Input[str] description: Text describing the alias. + :param pulumi.Input[str] name: Unique identifier for the alias. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] workspace: Name of the workspace the alias will be in. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AliasArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an alias for a set of collections. + + :param str resource_name: The name of the resource. + :param AliasArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AliasArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + collections: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AliasArgs.__new__(AliasArgs) + + if collections is None and not opts.urn: + raise TypeError("Missing required property 'collections'") + __props__.__dict__["collections"] = collections + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(Alias, __self__).__init__( + 'rockset:index/alias:Alias', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + collections: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'Alias': + """ + Get an existing Alias resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] collections: List of collections for this alias to refer to. + :param pulumi.Input[str] description: Text describing the alias. + :param pulumi.Input[str] name: Unique identifier for the alias. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] workspace: Name of the workspace the alias will be in. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AliasState.__new__(_AliasState) + + __props__.__dict__["collections"] = collections + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["workspace"] = workspace + return Alias(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def collections(self) -> pulumi.Output[str]: + """ + List of collections for this alias to refer to. + """ + return pulumi.get(self, "collections") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the alias. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the alias. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + Name of the workspace the alias will be in. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/api_key.py b/sdk/python/pulumi_rockset/api_key.py new file mode 100644 index 0000000..db5da3b --- /dev/null +++ b/sdk/python/pulumi_rockset/api_key.py @@ -0,0 +1,254 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ApiKeyArgs', 'ApiKey'] + +@pulumi.input_type +class ApiKeyArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + role: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ApiKey resource. + :param pulumi.Input[str] name: Name of the api key. + :param pulumi.Input[str] role: The role the api key will use. If not specified, "All User Assigned Roles" will be used. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if role is not None: + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the api key. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + The role the api key will use. If not specified, "All User Assigned Roles" will be used. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + +@pulumi.input_type +class _ApiKeyState: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + role: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ApiKey resources. + :param pulumi.Input[str] key: The resulting Rockset api key. + :param pulumi.Input[str] name: Name of the api key. + :param pulumi.Input[str] role: The role the api key will use. If not specified, "All User Assigned Roles" will be used. + :param pulumi.Input[str] user: The user the key is created for. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if name is not None: + pulumi.set(__self__, "name", name) + if role is not None: + pulumi.set(__self__, "role", role) + if user is not None: + pulumi.set(__self__, "user", user) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + The resulting Rockset api key. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the api key. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + The role the api key will use. If not specified, "All User Assigned Roles" will be used. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + @property + @pulumi.getter + def user(self) -> Optional[pulumi.Input[str]]: + """ + The user the key is created for. + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user", value) + + +class ApiKey(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + role: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manage a Rockset Api Key. + + Can be used together with roles to scope the actions the api key can take. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: Name of the api key. + :param pulumi.Input[str] role: The role the api key will use. If not specified, "All User Assigned Roles" will be used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ApiKeyArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manage a Rockset Api Key. + + Can be used together with roles to scope the actions the api key can take. + + :param str resource_name: The name of the resource. + :param ApiKeyArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ApiKeyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + role: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ApiKeyArgs.__new__(ApiKeyArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["role"] = role + __props__.__dict__["key"] = None + __props__.__dict__["user"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["key"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ApiKey, __self__).__init__( + 'rockset:index/apiKey:ApiKey', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + key: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + role: Optional[pulumi.Input[str]] = None, + user: Optional[pulumi.Input[str]] = None) -> 'ApiKey': + """ + Get an existing ApiKey resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] key: The resulting Rockset api key. + :param pulumi.Input[str] name: Name of the api key. + :param pulumi.Input[str] role: The role the api key will use. If not specified, "All User Assigned Roles" will be used. + :param pulumi.Input[str] user: The user the key is created for. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApiKeyState.__new__(_ApiKeyState) + + __props__.__dict__["key"] = key + __props__.__dict__["name"] = name + __props__.__dict__["role"] = role + __props__.__dict__["user"] = user + return ApiKey(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def key(self) -> pulumi.Output[str]: + """ + The resulting Rockset api key. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the api key. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def role(self) -> pulumi.Output[Optional[str]]: + """ + The role the api key will use. If not specified, "All User Assigned Roles" will be used. + """ + return pulumi.get(self, "role") + + @property + @pulumi.getter + def user(self) -> pulumi.Output[str]: + """ + The user the key is created for. + """ + return pulumi.get(self, "user") + diff --git a/sdk/python/pulumi_rockset/collection.py b/sdk/python/pulumi_rockset/collection.py new file mode 100644 index 0000000..37b14b5 --- /dev/null +++ b/sdk/python/pulumi_rockset/collection.py @@ -0,0 +1,428 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['CollectionArgs', 'Collection'] + +@pulumi.input_type +class CollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a Collection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _CollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Collection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class Collection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a basic collection with no sources. Usually used for the write api. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a basic collection with no sources. Usually used for the write api. + + :param str resource_name: The name of the resource. + :param CollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CollectionArgs.__new__(CollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(Collection, __self__).__init__( + 'rockset:index/collection:Collection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'Collection': + """ + Get an existing Collection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CollectionState.__new__(_CollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return Collection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/collection_mount.py b/sdk/python/pulumi_rockset/collection_mount.py new file mode 100644 index 0000000..d228b63 --- /dev/null +++ b/sdk/python/pulumi_rockset/collection_mount.py @@ -0,0 +1,396 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['CollectionMountArgs', 'CollectionMount'] + +@pulumi.input_type +class CollectionMountArgs: + def __init__(__self__, *, + path: pulumi.Input[str], + virtual_instance_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CollectionMount resource. + :param pulumi.Input[str] path: Collection path to be mounted, in the form workspace.collection + :param pulumi.Input[str] virtual_instance_id: Virtual Instance id + """ + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "virtual_instance_id", virtual_instance_id) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + """ + Collection path to be mounted, in the form workspace.collection + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="virtualInstanceId") + def virtual_instance_id(self) -> pulumi.Input[str]: + """ + Virtual Instance id + """ + return pulumi.get(self, "virtual_instance_id") + + @virtual_instance_id.setter + def virtual_instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "virtual_instance_id", value) + + +@pulumi.input_type +class _CollectionMountState: + def __init__(__self__, *, + created_at: Optional[pulumi.Input[str]] = None, + last_refresh_time: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + rrn: Optional[pulumi.Input[str]] = None, + snapshot_expiration_time: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + virtual_instance_id: Optional[pulumi.Input[str]] = None, + virtual_instance_rrn: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CollectionMount resources. + :param pulumi.Input[str] created_at: ISO 8601 date when the mount was created. + :param pulumi.Input[int] last_refresh_time: UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + :param pulumi.Input[str] path: Collection path to be mounted, in the form workspace.collection + :param pulumi.Input[str] rrn: RRN of this mount. + :param pulumi.Input[int] snapshot_expiration_time: UNIX timestamp in milliseconds when the snapshot expires. + :param pulumi.Input[str] state: Mount state. + :param pulumi.Input[str] virtual_instance_id: Virtual Instance id + :param pulumi.Input[str] virtual_instance_rrn: Virtual Instance RRN + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if last_refresh_time is not None: + pulumi.set(__self__, "last_refresh_time", last_refresh_time) + if path is not None: + pulumi.set(__self__, "path", path) + if rrn is not None: + pulumi.set(__self__, "rrn", rrn) + if snapshot_expiration_time is not None: + pulumi.set(__self__, "snapshot_expiration_time", snapshot_expiration_time) + if state is not None: + pulumi.set(__self__, "state", state) + if virtual_instance_id is not None: + pulumi.set(__self__, "virtual_instance_id", virtual_instance_id) + if virtual_instance_rrn is not None: + pulumi.set(__self__, "virtual_instance_rrn", virtual_instance_rrn) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + ISO 8601 date when the mount was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="lastRefreshTime") + def last_refresh_time(self) -> Optional[pulumi.Input[int]]: + """ + UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + """ + return pulumi.get(self, "last_refresh_time") + + @last_refresh_time.setter + def last_refresh_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "last_refresh_time", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + Collection path to be mounted, in the form workspace.collection + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def rrn(self) -> Optional[pulumi.Input[str]]: + """ + RRN of this mount. + """ + return pulumi.get(self, "rrn") + + @rrn.setter + def rrn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rrn", value) + + @property + @pulumi.getter(name="snapshotExpirationTime") + def snapshot_expiration_time(self) -> Optional[pulumi.Input[int]]: + """ + UNIX timestamp in milliseconds when the snapshot expires. + """ + return pulumi.get(self, "snapshot_expiration_time") + + @snapshot_expiration_time.setter + def snapshot_expiration_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "snapshot_expiration_time", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + Mount state. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter(name="virtualInstanceId") + def virtual_instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Virtual Instance id + """ + return pulumi.get(self, "virtual_instance_id") + + @virtual_instance_id.setter + def virtual_instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "virtual_instance_id", value) + + @property + @pulumi.getter(name="virtualInstanceRrn") + def virtual_instance_rrn(self) -> Optional[pulumi.Input[str]]: + """ + Virtual Instance RRN + """ + return pulumi.get(self, "virtual_instance_rrn") + + @virtual_instance_rrn.setter + def virtual_instance_rrn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "virtual_instance_rrn", value) + + +class CollectionMount(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + path: Optional[pulumi.Input[str]] = None, + virtual_instance_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection mount. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + data = rockset.CollectionMount("data", + virtual_instance_id=rockset_virtual_instance["secondary"]["id"], + path="commons.data") + ``` + + ## Import + + ```sh + $ pulumi import rockset:index/collectionMount:CollectionMount demo 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] path: Collection path to be mounted, in the form workspace.collection + :param pulumi.Input[str] virtual_instance_id: Virtual Instance id + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CollectionMountArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection mount. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + data = rockset.CollectionMount("data", + virtual_instance_id=rockset_virtual_instance["secondary"]["id"], + path="commons.data") + ``` + + ## Import + + ```sh + $ pulumi import rockset:index/collectionMount:CollectionMount demo 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + ``` + + :param str resource_name: The name of the resource. + :param CollectionMountArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CollectionMountArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + path: Optional[pulumi.Input[str]] = None, + virtual_instance_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CollectionMountArgs.__new__(CollectionMountArgs) + + if path is None and not opts.urn: + raise TypeError("Missing required property 'path'") + __props__.__dict__["path"] = path + if virtual_instance_id is None and not opts.urn: + raise TypeError("Missing required property 'virtual_instance_id'") + __props__.__dict__["virtual_instance_id"] = virtual_instance_id + __props__.__dict__["created_at"] = None + __props__.__dict__["last_refresh_time"] = None + __props__.__dict__["rrn"] = None + __props__.__dict__["snapshot_expiration_time"] = None + __props__.__dict__["state"] = None + __props__.__dict__["virtual_instance_rrn"] = None + super(CollectionMount, __self__).__init__( + 'rockset:index/collectionMount:CollectionMount', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_at: Optional[pulumi.Input[str]] = None, + last_refresh_time: Optional[pulumi.Input[int]] = None, + path: Optional[pulumi.Input[str]] = None, + rrn: Optional[pulumi.Input[str]] = None, + snapshot_expiration_time: Optional[pulumi.Input[int]] = None, + state: Optional[pulumi.Input[str]] = None, + virtual_instance_id: Optional[pulumi.Input[str]] = None, + virtual_instance_rrn: Optional[pulumi.Input[str]] = None) -> 'CollectionMount': + """ + Get an existing CollectionMount resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] created_at: ISO 8601 date when the mount was created. + :param pulumi.Input[int] last_refresh_time: UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + :param pulumi.Input[str] path: Collection path to be mounted, in the form workspace.collection + :param pulumi.Input[str] rrn: RRN of this mount. + :param pulumi.Input[int] snapshot_expiration_time: UNIX timestamp in milliseconds when the snapshot expires. + :param pulumi.Input[str] state: Mount state. + :param pulumi.Input[str] virtual_instance_id: Virtual Instance id + :param pulumi.Input[str] virtual_instance_rrn: Virtual Instance RRN + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CollectionMountState.__new__(_CollectionMountState) + + __props__.__dict__["created_at"] = created_at + __props__.__dict__["last_refresh_time"] = last_refresh_time + __props__.__dict__["path"] = path + __props__.__dict__["rrn"] = rrn + __props__.__dict__["snapshot_expiration_time"] = snapshot_expiration_time + __props__.__dict__["state"] = state + __props__.__dict__["virtual_instance_id"] = virtual_instance_id + __props__.__dict__["virtual_instance_rrn"] = virtual_instance_rrn + return CollectionMount(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + ISO 8601 date when the mount was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="lastRefreshTime") + def last_refresh_time(self) -> pulumi.Output[int]: + """ + UNIX timestamp in milliseconds for most recent refresh. Not applicable for live mounts. + """ + return pulumi.get(self, "last_refresh_time") + + @property + @pulumi.getter + def path(self) -> pulumi.Output[str]: + """ + Collection path to be mounted, in the form workspace.collection + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter + def rrn(self) -> pulumi.Output[str]: + """ + RRN of this mount. + """ + return pulumi.get(self, "rrn") + + @property + @pulumi.getter(name="snapshotExpirationTime") + def snapshot_expiration_time(self) -> pulumi.Output[int]: + """ + UNIX timestamp in milliseconds when the snapshot expires. + """ + return pulumi.get(self, "snapshot_expiration_time") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + Mount state. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="virtualInstanceId") + def virtual_instance_id(self) -> pulumi.Output[str]: + """ + Virtual Instance id + """ + return pulumi.get(self, "virtual_instance_id") + + @property + @pulumi.getter(name="virtualInstanceRrn") + def virtual_instance_rrn(self) -> pulumi.Output[str]: + """ + Virtual Instance RRN + """ + return pulumi.get(self, "virtual_instance_rrn") + diff --git a/sdk/python/pulumi_rockset/config/__init__.py b/sdk/python/pulumi_rockset/config/__init__.py new file mode 100644 index 0000000..18853fc --- /dev/null +++ b/sdk/python/pulumi_rockset/config/__init__.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import sys +from .vars import _ExportableConfig + +sys.modules[__name__].__class__ = _ExportableConfig diff --git a/sdk/python/pulumi_rockset/config/__init__.pyi b/sdk/python/pulumi_rockset/config/__init__.pyi new file mode 100644 index 0000000..3f889de --- /dev/null +++ b/sdk/python/pulumi_rockset/config/__init__.pyi @@ -0,0 +1,21 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +apiKey: Optional[str] +""" +The API key used to access Rockset +""" + +apiServer: Optional[str] +""" +The API server for accessing Rockset +""" + diff --git a/sdk/python/pulumi_rockset/config/vars.py b/sdk/python/pulumi_rockset/config/vars.py new file mode 100644 index 0000000..4ac6f6e --- /dev/null +++ b/sdk/python/pulumi_rockset/config/vars.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +import types + +__config__ = pulumi.Config('rockset') + + +class _ExportableConfig(types.ModuleType): + @property + def api_key(self) -> Optional[str]: + """ + The API key used to access Rockset + """ + return __config__.get('apiKey') + + @property + def api_server(self) -> Optional[str]: + """ + The API server for accessing Rockset + """ + return __config__.get('apiServer') + diff --git a/sdk/python/pulumi_rockset/dynamodb_collection.py b/sdk/python/pulumi_rockset/dynamodb_collection.py new file mode 100644 index 0000000..f246262 --- /dev/null +++ b/sdk/python/pulumi_rockset/dynamodb_collection.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DynamodbCollectionArgs', 'DynamodbCollection'] + +@pulumi.input_type +class DynamodbCollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a DynamodbCollection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _DynamodbCollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DynamodbCollection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DynamodbCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class DynamodbCollection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DynamodbCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection with an DynamoDB source attached. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DynamodbCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DynamodbCollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection with an DynamoDB source attached. + + :param str resource_name: The name of the resource. + :param DynamodbCollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DynamodbCollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DynamodbCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DynamodbCollectionArgs.__new__(DynamodbCollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(DynamodbCollection, __self__).__init__( + 'rockset:index/dynamodbCollection:DynamodbCollection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DynamodbCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'DynamodbCollection': + """ + Get an existing DynamodbCollection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DynamodbCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DynamodbCollectionState.__new__(_DynamodbCollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return DynamodbCollection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter + def sources(self) -> pulumi.Output[Optional[Sequence['outputs.DynamodbCollectionSource']]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/dynamodb_integration.py b/sdk/python/pulumi_rockset/dynamodb_integration.py new file mode 100644 index 0000000..bc89401 --- /dev/null +++ b/sdk/python/pulumi_rockset/dynamodb_integration.py @@ -0,0 +1,288 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['DynamodbIntegrationArgs', 'DynamodbIntegration'] + +@pulumi.input_type +class DynamodbIntegrationArgs: + def __init__(__self__, *, + aws_role_arn: pulumi.Input[str], + s3_export_bucket_name: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DynamodbIntegration resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] s3_export_bucket_name: AWS S3 bucket name used for exporting the DynamoDB tables. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "aws_role_arn", aws_role_arn) + pulumi.set(__self__, "s3_export_bucket_name", s3_export_bucket_name) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> pulumi.Input[str]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @aws_role_arn.setter + def aws_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_role_arn", value) + + @property + @pulumi.getter(name="s3ExportBucketName") + def s3_export_bucket_name(self) -> pulumi.Input[str]: + """ + AWS S3 bucket name used for exporting the DynamoDB tables. + """ + return pulumi.get(self, "s3_export_bucket_name") + + @s3_export_bucket_name.setter + def s3_export_bucket_name(self, value: pulumi.Input[str]): + pulumi.set(self, "s3_export_bucket_name", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _DynamodbIntegrationState: + def __init__(__self__, *, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + s3_export_bucket_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DynamodbIntegration resources. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] s3_export_bucket_name: AWS S3 bucket name used for exporting the DynamoDB tables. + """ + if aws_role_arn is not None: + pulumi.set(__self__, "aws_role_arn", aws_role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if s3_export_bucket_name is not None: + pulumi.set(__self__, "s3_export_bucket_name", s3_export_bucket_name) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @aws_role_arn.setter + def aws_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="s3ExportBucketName") + def s3_export_bucket_name(self) -> Optional[pulumi.Input[str]]: + """ + AWS S3 bucket name used for exporting the DynamoDB tables. + """ + return pulumi.get(self, "s3_export_bucket_name") + + @s3_export_bucket_name.setter + def s3_export_bucket_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_export_bucket_name", value) + + +class DynamodbIntegration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + s3_export_bucket_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset DynamoDB Integration. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] s3_export_bucket_name: AWS S3 bucket name used for exporting the DynamoDB tables. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DynamodbIntegrationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset DynamoDB Integration. + + :param str resource_name: The name of the resource. + :param DynamodbIntegrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DynamodbIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + s3_export_bucket_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DynamodbIntegrationArgs.__new__(DynamodbIntegrationArgs) + + if aws_role_arn is None and not opts.urn: + raise TypeError("Missing required property 'aws_role_arn'") + __props__.__dict__["aws_role_arn"] = aws_role_arn + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if s3_export_bucket_name is None and not opts.urn: + raise TypeError("Missing required property 's3_export_bucket_name'") + __props__.__dict__["s3_export_bucket_name"] = s3_export_bucket_name + super(DynamodbIntegration, __self__).__init__( + 'rockset:index/dynamodbIntegration:DynamodbIntegration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + s3_export_bucket_name: Optional[pulumi.Input[str]] = None) -> 'DynamodbIntegration': + """ + Get an existing DynamodbIntegration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] s3_export_bucket_name: AWS S3 bucket name used for exporting the DynamoDB tables. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DynamodbIntegrationState.__new__(_DynamodbIntegrationState) + + __props__.__dict__["aws_role_arn"] = aws_role_arn + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["s3_export_bucket_name"] = s3_export_bucket_name + return DynamodbIntegration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> pulumi.Output[str]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="s3ExportBucketName") + def s3_export_bucket_name(self) -> pulumi.Output[str]: + """ + AWS S3 bucket name used for exporting the DynamoDB tables. + """ + return pulumi.get(self, "s3_export_bucket_name") + diff --git a/sdk/python/pulumi_rockset/gcs_collection.py b/sdk/python/pulumi_rockset/gcs_collection.py new file mode 100644 index 0000000..532c62d --- /dev/null +++ b/sdk/python/pulumi_rockset/gcs_collection.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['GcsCollectionArgs', 'GcsCollection'] + +@pulumi.input_type +class GcsCollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a GcsCollection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _GcsCollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering GcsCollection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GcsCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class GcsCollection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GcsCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection with an GCS source attached. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GcsCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GcsCollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection with an GCS source attached. + + :param str resource_name: The name of the resource. + :param GcsCollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(GcsCollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GcsCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = GcsCollectionArgs.__new__(GcsCollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(GcsCollection, __self__).__init__( + 'rockset:index/gcsCollection:GcsCollection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GcsCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'GcsCollection': + """ + Get an existing GcsCollection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GcsCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _GcsCollectionState.__new__(_GcsCollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return GcsCollection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter + def sources(self) -> pulumi.Output[Optional[Sequence['outputs.GcsCollectionSource']]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/gcs_integration.py b/sdk/python/pulumi_rockset/gcs_integration.py new file mode 100644 index 0000000..d7176b8 --- /dev/null +++ b/sdk/python/pulumi_rockset/gcs_integration.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['GcsIntegrationArgs', 'GcsIntegration'] + +@pulumi.input_type +class GcsIntegrationArgs: + def __init__(__self__, *, + service_account_key: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a GcsIntegration resource. + :param pulumi.Input[str] service_account_key: The GCP service account key JSON. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "service_account_key", service_account_key) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> pulumi.Input[str]: + """ + The GCP service account key JSON. + """ + return pulumi.get(self, "service_account_key") + + @service_account_key.setter + def service_account_key(self, value: pulumi.Input[str]): + pulumi.set(self, "service_account_key", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _GcsIntegrationState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_account_key: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering GcsIntegration resources. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] service_account_key: The GCP service account key JSON. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if service_account_key is not None: + pulumi.set(__self__, "service_account_key", service_account_key) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> Optional[pulumi.Input[str]]: + """ + The GCP service account key JSON. + """ + return pulumi.get(self, "service_account_key") + + @service_account_key.setter + def service_account_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_account_key", value) + + +class GcsIntegration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset GCS Integration. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] service_account_key: The GCP service account key JSON. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GcsIntegrationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset GCS Integration. + + :param str resource_name: The name of the resource. + :param GcsIntegrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(GcsIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_account_key: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = GcsIntegrationArgs.__new__(GcsIntegrationArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if service_account_key is None and not opts.urn: + raise TypeError("Missing required property 'service_account_key'") + __props__.__dict__["service_account_key"] = service_account_key + super(GcsIntegration, __self__).__init__( + 'rockset:index/gcsIntegration:GcsIntegration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_account_key: Optional[pulumi.Input[str]] = None) -> 'GcsIntegration': + """ + Get an existing GcsIntegration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] service_account_key: The GCP service account key JSON. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _GcsIntegrationState.__new__(_GcsIntegrationState) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["service_account_key"] = service_account_key + return GcsIntegration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceAccountKey") + def service_account_key(self) -> pulumi.Output[str]: + """ + The GCP service account key JSON. + """ + return pulumi.get(self, "service_account_key") + diff --git a/sdk/python/pulumi_rockset/get_account.py b/sdk/python/pulumi_rockset/get_account.py new file mode 100644 index 0000000..a6ab947 --- /dev/null +++ b/sdk/python/pulumi_rockset/get_account.py @@ -0,0 +1,130 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs + +__all__ = [ + 'GetAccountResult', + 'AwaitableGetAccountResult', + 'get_account', + 'get_account_output', +] + +@pulumi.output_type +class GetAccountResult: + """ + A collection of values returned by getAccount. + """ + def __init__(__self__, account_id=None, clusters=None, external_id=None, id=None, organization=None, rockset_user=None): + if account_id and not isinstance(account_id, str): + raise TypeError("Expected argument 'account_id' to be a str") + pulumi.set(__self__, "account_id", account_id) + if clusters and not isinstance(clusters, list): + raise TypeError("Expected argument 'clusters' to be a list") + pulumi.set(__self__, "clusters", clusters) + if external_id and not isinstance(external_id, str): + raise TypeError("Expected argument 'external_id' to be a str") + pulumi.set(__self__, "external_id", external_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if organization and not isinstance(organization, str): + raise TypeError("Expected argument 'organization' to be a str") + pulumi.set(__self__, "organization", organization) + if rockset_user and not isinstance(rockset_user, str): + raise TypeError("Expected argument 'rockset_user' to be a str") + pulumi.set(__self__, "rockset_user", rockset_user) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + """ + The AWS account ID to reference in AWS policies. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def clusters(self) -> Sequence['outputs.GetAccountClusterResult']: + """ + The Rockset clusters available to this API key. + """ + return pulumi.get(self, "clusters") + + @property + @pulumi.getter(name="externalId") + def external_id(self) -> str: + """ + The external ID to use in AWS trust policies. + """ + return pulumi.get(self, "external_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def organization(self) -> str: + """ + The name of the organization for the API key. + """ + return pulumi.get(self, "organization") + + @property + @pulumi.getter(name="rocksetUser") + def rockset_user(self) -> str: + """ + The name of the Rockset user used for AWS trust policies. + """ + return pulumi.get(self, "rockset_user") + + +class AwaitableGetAccountResult(GetAccountResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAccountResult( + account_id=self.account_id, + clusters=self.clusters, + external_id=self.external_id, + id=self.id, + organization=self.organization, + rockset_user=self.rockset_user) + + +def get_account(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAccountResult: + """ + Gets information about the Rockset deployment for the specified api server. + """ + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('rockset:index/getAccount:getAccount', __args__, opts=opts, typ=GetAccountResult).value + + return AwaitableGetAccountResult( + account_id=pulumi.get(__ret__, 'account_id'), + clusters=pulumi.get(__ret__, 'clusters'), + external_id=pulumi.get(__ret__, 'external_id'), + id=pulumi.get(__ret__, 'id'), + organization=pulumi.get(__ret__, 'organization'), + rockset_user=pulumi.get(__ret__, 'rockset_user')) + + +@_utilities.lift_output_func(get_account) +def get_account_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountResult]: + """ + Gets information about the Rockset deployment for the specified api server. + """ + ... diff --git a/sdk/python/pulumi_rockset/get_query_lambda_tag.py b/sdk/python/pulumi_rockset/get_query_lambda_tag.py new file mode 100644 index 0000000..b0ac24f --- /dev/null +++ b/sdk/python/pulumi_rockset/get_query_lambda_tag.py @@ -0,0 +1,172 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetQueryLambdaTagResult', + 'AwaitableGetQueryLambdaTagResult', + 'get_query_lambda_tag', + 'get_query_lambda_tag_output', +] + +@pulumi.output_type +class GetQueryLambdaTagResult: + """ + A collection of values returned by getQueryLambdaTag. + """ + def __init__(__self__, description=None, id=None, last_executed=None, name=None, sql=None, tag=None, version=None, workspace=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_executed and not isinstance(last_executed, str): + raise TypeError("Expected argument 'last_executed' to be a str") + pulumi.set(__self__, "last_executed", last_executed) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if sql and not isinstance(sql, str): + raise TypeError("Expected argument 'sql' to be a str") + pulumi.set(__self__, "sql", sql) + if tag and not isinstance(tag, str): + raise TypeError("Expected argument 'tag' to be a str") + pulumi.set(__self__, "tag", tag) + if version and not isinstance(version, str): + raise TypeError("Expected argument 'version' to be a str") + pulumi.set(__self__, "version", version) + if workspace and not isinstance(workspace, str): + raise TypeError("Expected argument 'workspace' to be a str") + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the query lambda. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastExecuted") + def last_executed(self) -> str: + """ + Last time the query lambda was executed. + """ + return pulumi.get(self, "last_executed") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the query lambda. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def sql(self) -> str: + """ + Query lambda SQL. + """ + return pulumi.get(self, "sql") + + @property + @pulumi.getter + def tag(self) -> str: + """ + Tag name. + """ + return pulumi.get(self, "tag") + + @property + @pulumi.getter + def version(self) -> str: + """ + Query lambda tag version. + """ + return pulumi.get(self, "version") + + @property + @pulumi.getter + def workspace(self) -> str: + """ + Workspace the query lambda resides in. + """ + return pulumi.get(self, "workspace") + + +class AwaitableGetQueryLambdaTagResult(GetQueryLambdaTagResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetQueryLambdaTagResult( + description=self.description, + id=self.id, + last_executed=self.last_executed, + name=self.name, + sql=self.sql, + tag=self.tag, + version=self.version, + workspace=self.workspace) + + +def get_query_lambda_tag(name: Optional[str] = None, + tag: Optional[str] = None, + workspace: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetQueryLambdaTagResult: + """ + Use this data source to access information about an existing resource. + + :param str name: Name of the query lambda. + :param str tag: Tag name. + :param str workspace: Workspace the query lambda resides in. + """ + __args__ = dict() + __args__['name'] = name + __args__['tag'] = tag + __args__['workspace'] = workspace + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('rockset:index/getQueryLambdaTag:getQueryLambdaTag', __args__, opts=opts, typ=GetQueryLambdaTagResult).value + + return AwaitableGetQueryLambdaTagResult( + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + last_executed=pulumi.get(__ret__, 'last_executed'), + name=pulumi.get(__ret__, 'name'), + sql=pulumi.get(__ret__, 'sql'), + tag=pulumi.get(__ret__, 'tag'), + version=pulumi.get(__ret__, 'version'), + workspace=pulumi.get(__ret__, 'workspace')) + + +@_utilities.lift_output_func(get_query_lambda_tag) +def get_query_lambda_tag_output(name: Optional[pulumi.Input[str]] = None, + tag: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetQueryLambdaTagResult]: + """ + Use this data source to access information about an existing resource. + + :param str name: Name of the query lambda. + :param str tag: Tag name. + :param str workspace: Workspace the query lambda resides in. + """ + ... diff --git a/sdk/python/pulumi_rockset/get_user.py b/sdk/python/pulumi_rockset/get_user.py new file mode 100644 index 0000000..cb7cf54 --- /dev/null +++ b/sdk/python/pulumi_rockset/get_user.py @@ -0,0 +1,156 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetUserResult', + 'AwaitableGetUserResult', + 'get_user', + 'get_user_output', +] + +@pulumi.output_type +class GetUserResult: + """ + A collection of values returned by getUser. + """ + def __init__(__self__, email=None, first_name=None, id=None, last_name=None, roles=None, state=None): + if email and not isinstance(email, str): + raise TypeError("Expected argument 'email' to be a str") + pulumi.set(__self__, "email", email) + if first_name and not isinstance(first_name, str): + raise TypeError("Expected argument 'first_name' to be a str") + pulumi.set(__self__, "first_name", first_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_name and not isinstance(last_name, str): + raise TypeError("Expected argument 'last_name' to be a str") + pulumi.set(__self__, "last_name", last_name) + if roles and not isinstance(roles, list): + raise TypeError("Expected argument 'roles' to be a list") + pulumi.set(__self__, "roles", roles) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def email(self) -> str: + """ + User email. + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> str: + """ + User's first name. + """ + return pulumi.get(self, "first_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + The user ID, in the form of the `email`. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> str: + """ + User's last name. + """ + return pulumi.get(self, "last_name") + + @property + @pulumi.getter + def roles(self) -> Sequence[str]: + """ + List of roles for the user. E.g. 'admin', 'member', 'read-only'. + """ + return pulumi.get(self, "roles") + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the user, either NEW or ACTIVE. + """ + return pulumi.get(self, "state") + + +class AwaitableGetUserResult(GetUserResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetUserResult( + email=self.email, + first_name=self.first_name, + id=self.id, + last_name=self.last_name, + roles=self.roles, + state=self.state) + + +def get_user(email: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUserResult: + """ + This data source can be used to fetch information about a specific user. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + pme = rockset.get_user(email="pme@rockset.com") + ``` + + + :param str email: User email. + """ + __args__ = dict() + __args__['email'] = email + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('rockset:index/getUser:getUser', __args__, opts=opts, typ=GetUserResult).value + + return AwaitableGetUserResult( + email=pulumi.get(__ret__, 'email'), + first_name=pulumi.get(__ret__, 'first_name'), + id=pulumi.get(__ret__, 'id'), + last_name=pulumi.get(__ret__, 'last_name'), + roles=pulumi.get(__ret__, 'roles'), + state=pulumi.get(__ret__, 'state')) + + +@_utilities.lift_output_func(get_user) +def get_user_output(email: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: + """ + This data source can be used to fetch information about a specific user. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + pme = rockset.get_user(email="pme@rockset.com") + ``` + + + :param str email: User email. + """ + ... diff --git a/sdk/python/pulumi_rockset/get_virtual_instance.py b/sdk/python/pulumi_rockset/get_virtual_instance.py new file mode 100644 index 0000000..31d8988 --- /dev/null +++ b/sdk/python/pulumi_rockset/get_virtual_instance.py @@ -0,0 +1,233 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetVirtualInstanceResult', + 'AwaitableGetVirtualInstanceResult', + 'get_virtual_instance', + 'get_virtual_instance_output', +] + +@pulumi.output_type +class GetVirtualInstanceResult: + """ + A collection of values returned by getVirtualInstance. + """ + def __init__(__self__, auto_suspend_seconds=None, current_size=None, default=None, description=None, desired_size=None, enable_remount_on_resume=None, id=None, mount_refresh_interval_seconds=None, name=None, state=None): + if auto_suspend_seconds and not isinstance(auto_suspend_seconds, int): + raise TypeError("Expected argument 'auto_suspend_seconds' to be a int") + pulumi.set(__self__, "auto_suspend_seconds", auto_suspend_seconds) + if current_size and not isinstance(current_size, str): + raise TypeError("Expected argument 'current_size' to be a str") + pulumi.set(__self__, "current_size", current_size) + if default and not isinstance(default, bool): + raise TypeError("Expected argument 'default' to be a bool") + pulumi.set(__self__, "default", default) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if desired_size and not isinstance(desired_size, str): + raise TypeError("Expected argument 'desired_size' to be a str") + pulumi.set(__self__, "desired_size", desired_size) + if enable_remount_on_resume and not isinstance(enable_remount_on_resume, bool): + raise TypeError("Expected argument 'enable_remount_on_resume' to be a bool") + pulumi.set(__self__, "enable_remount_on_resume", enable_remount_on_resume) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if mount_refresh_interval_seconds and not isinstance(mount_refresh_interval_seconds, int): + raise TypeError("Expected argument 'mount_refresh_interval_seconds' to be a int") + pulumi.set(__self__, "mount_refresh_interval_seconds", mount_refresh_interval_seconds) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="autoSuspendSeconds") + def auto_suspend_seconds(self) -> Optional[int]: + """ + Number of seconds without queries after which the Virtual Instance is suspended. + """ + return pulumi.get(self, "auto_suspend_seconds") + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> Optional[str]: + """ + Virtual Instance current size. + """ + return pulumi.get(self, "current_size") + + @property + @pulumi.getter + def default(self) -> Optional[bool]: + """ + Virtual Instance name. + """ + return pulumi.get(self, "default") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Virtual Instance description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="desiredSize") + def desired_size(self) -> Optional[str]: + """ + Virtual Instance desired size. + """ + return pulumi.get(self, "desired_size") + + @property + @pulumi.getter(name="enableRemountOnResume") + def enable_remount_on_resume(self) -> Optional[bool]: + """ + When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + """ + return pulumi.get(self, "enable_remount_on_resume") + + @property + @pulumi.getter + def id(self) -> str: + """ + Virtual Instance id. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="mountRefreshIntervalSeconds") + def mount_refresh_interval_seconds(self) -> Optional[int]: + """ + Number of seconds between data refreshes for mounts on this Virtual Instance. + """ + return pulumi.get(self, "mount_refresh_interval_seconds") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Virtual Instance name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + Virtual Instance state. + """ + return pulumi.get(self, "state") + + +class AwaitableGetVirtualInstanceResult(GetVirtualInstanceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualInstanceResult( + auto_suspend_seconds=self.auto_suspend_seconds, + current_size=self.current_size, + default=self.default, + description=self.description, + desired_size=self.desired_size, + enable_remount_on_resume=self.enable_remount_on_resume, + id=self.id, + mount_refresh_interval_seconds=self.mount_refresh_interval_seconds, + name=self.name, + state=self.state) + + +def get_virtual_instance(auto_suspend_seconds: Optional[int] = None, + current_size: Optional[str] = None, + default: Optional[bool] = None, + description: Optional[str] = None, + desired_size: Optional[str] = None, + enable_remount_on_resume: Optional[bool] = None, + id: Optional[str] = None, + mount_refresh_interval_seconds: Optional[int] = None, + name: Optional[str] = None, + state: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualInstanceResult: + """ + Use this data source to access information about an existing resource. + + :param int auto_suspend_seconds: Number of seconds without queries after which the Virtual Instance is suspended. + :param str current_size: Virtual Instance current size. + :param bool default: Virtual Instance name. + :param str description: Virtual Instance description. + :param str desired_size: Virtual Instance desired size. + :param bool enable_remount_on_resume: When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + :param str id: Virtual Instance id. + :param int mount_refresh_interval_seconds: Number of seconds between data refreshes for mounts on this Virtual Instance. + :param str name: Virtual Instance name. + :param str state: Virtual Instance state. + """ + __args__ = dict() + __args__['autoSuspendSeconds'] = auto_suspend_seconds + __args__['currentSize'] = current_size + __args__['default'] = default + __args__['description'] = description + __args__['desiredSize'] = desired_size + __args__['enableRemountOnResume'] = enable_remount_on_resume + __args__['id'] = id + __args__['mountRefreshIntervalSeconds'] = mount_refresh_interval_seconds + __args__['name'] = name + __args__['state'] = state + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('rockset:index/getVirtualInstance:getVirtualInstance', __args__, opts=opts, typ=GetVirtualInstanceResult).value + + return AwaitableGetVirtualInstanceResult( + auto_suspend_seconds=pulumi.get(__ret__, 'auto_suspend_seconds'), + current_size=pulumi.get(__ret__, 'current_size'), + default=pulumi.get(__ret__, 'default'), + description=pulumi.get(__ret__, 'description'), + desired_size=pulumi.get(__ret__, 'desired_size'), + enable_remount_on_resume=pulumi.get(__ret__, 'enable_remount_on_resume'), + id=pulumi.get(__ret__, 'id'), + mount_refresh_interval_seconds=pulumi.get(__ret__, 'mount_refresh_interval_seconds'), + name=pulumi.get(__ret__, 'name'), + state=pulumi.get(__ret__, 'state')) + + +@_utilities.lift_output_func(get_virtual_instance) +def get_virtual_instance_output(auto_suspend_seconds: Optional[pulumi.Input[Optional[int]]] = None, + current_size: Optional[pulumi.Input[Optional[str]]] = None, + default: Optional[pulumi.Input[Optional[bool]]] = None, + description: Optional[pulumi.Input[Optional[str]]] = None, + desired_size: Optional[pulumi.Input[Optional[str]]] = None, + enable_remount_on_resume: Optional[pulumi.Input[Optional[bool]]] = None, + id: Optional[pulumi.Input[str]] = None, + mount_refresh_interval_seconds: Optional[pulumi.Input[Optional[int]]] = None, + name: Optional[pulumi.Input[Optional[str]]] = None, + state: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualInstanceResult]: + """ + Use this data source to access information about an existing resource. + + :param int auto_suspend_seconds: Number of seconds without queries after which the Virtual Instance is suspended. + :param str current_size: Virtual Instance current size. + :param bool default: Virtual Instance name. + :param str description: Virtual Instance description. + :param str desired_size: Virtual Instance desired size. + :param bool enable_remount_on_resume: When a Virtual Instance is resumed, it will remount all collections that were mounted when the Virtual Instance was suspended. + :param str id: Virtual Instance id. + :param int mount_refresh_interval_seconds: Number of seconds between data refreshes for mounts on this Virtual Instance. + :param str name: Virtual Instance name. + :param str state: Virtual Instance state. + """ + ... diff --git a/sdk/python/pulumi_rockset/get_workspace.py b/sdk/python/pulumi_rockset/get_workspace.py new file mode 100644 index 0000000..657a0d6 --- /dev/null +++ b/sdk/python/pulumi_rockset/get_workspace.py @@ -0,0 +1,156 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetWorkspaceResult', + 'AwaitableGetWorkspaceResult', + 'get_workspace', + 'get_workspace_output', +] + +@pulumi.output_type +class GetWorkspaceResult: + """ + A collection of values returned by getWorkspace. + """ + def __init__(__self__, collection_count=None, created_at=None, created_by=None, description=None, id=None, name=None): + if collection_count and not isinstance(collection_count, int): + raise TypeError("Expected argument 'collection_count' to be a int") + pulumi.set(__self__, "collection_count", collection_count) + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if created_by and not isinstance(created_by, str): + raise TypeError("Expected argument 'created_by' to be a str") + pulumi.set(__self__, "created_by", created_by) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="collectionCount") + def collection_count(self) -> int: + """ + Number of collections in the workspace. + """ + return pulumi.get(self, "collection_count") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + Created at in ISO-8601. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> str: + """ + Created by. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter + def description(self) -> str: + """ + Workspace description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + """ + The workspace `name`. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Workspace name. + """ + return pulumi.get(self, "name") + + +class AwaitableGetWorkspaceResult(GetWorkspaceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetWorkspaceResult( + collection_count=self.collection_count, + created_at=self.created_at, + created_by=self.created_by, + description=self.description, + id=self.id, + name=self.name) + + +def get_workspace(name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWorkspaceResult: + """ + Gets information about a workspace. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + demo = rockset.get_workspace(name="demo") + ``` + + + :param str name: Workspace name. + """ + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('rockset:index/getWorkspace:getWorkspace', __args__, opts=opts, typ=GetWorkspaceResult).value + + return AwaitableGetWorkspaceResult( + collection_count=pulumi.get(__ret__, 'collection_count'), + created_at=pulumi.get(__ret__, 'created_at'), + created_by=pulumi.get(__ret__, 'created_by'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name')) + + +@_utilities.lift_output_func(get_workspace) +def get_workspace_output(name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetWorkspaceResult]: + """ + Gets information about a workspace. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + demo = rockset.get_workspace(name="demo") + ``` + + + :param str name: Workspace name. + """ + ... diff --git a/sdk/python/pulumi_rockset/kafka_collection.py b/sdk/python/pulumi_rockset/kafka_collection.py new file mode 100644 index 0000000..4f57adb --- /dev/null +++ b/sdk/python/pulumi_rockset/kafka_collection.py @@ -0,0 +1,539 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['KafkaCollectionArgs', 'KafkaCollection'] + +@pulumi.input_type +class KafkaCollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a KafkaCollection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _KafkaCollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering KafkaCollection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KafkaCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class KafkaCollection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection created from a Kafka source. The `use_v3` field must match the integration which the collection is created from. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + config = pulumi.Config() + bootstrap_servers = config.require_object("bootstrapServers") + apikey = config.require_object("apikey") + secret = config.require_object("secret") + confluent_kafka_integration = rockset.KafkaIntegration("confluentKafkaIntegration", + description="Integration to ingest documents from Confluent Cloud", + use_v3=True, + bootstrap_servers=bootstrap_servers, + security_config={ + "api_key": apikey, + "secret": secret, + }) + confluent_workspace = rockset.Workspace("confluentWorkspace", description="Collections from Confluent Cloud topics.") + test = rockset.KafkaCollection("test", + workspace=confluent_workspace.name, + description="Collection from a Confluent Cloud topic.", + retention_secs=3600, + sources=[rockset.KafkaCollectionSourceArgs( + integration_name=confluent_kafka_integration.name, + use_v3=True, + topic_name="test_json", + offset_reset_policy="EARLIEST", + )]) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: KafkaCollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection created from a Kafka source. The `use_v3` field must match the integration which the collection is created from. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + config = pulumi.Config() + bootstrap_servers = config.require_object("bootstrapServers") + apikey = config.require_object("apikey") + secret = config.require_object("secret") + confluent_kafka_integration = rockset.KafkaIntegration("confluentKafkaIntegration", + description="Integration to ingest documents from Confluent Cloud", + use_v3=True, + bootstrap_servers=bootstrap_servers, + security_config={ + "api_key": apikey, + "secret": secret, + }) + confluent_workspace = rockset.Workspace("confluentWorkspace", description="Collections from Confluent Cloud topics.") + test = rockset.KafkaCollection("test", + workspace=confluent_workspace.name, + description="Collection from a Confluent Cloud topic.", + retention_secs=3600, + sources=[rockset.KafkaCollectionSourceArgs( + integration_name=confluent_kafka_integration.name, + use_v3=True, + topic_name="test_json", + offset_reset_policy="EARLIEST", + )]) + ``` + + :param str resource_name: The name of the resource. + :param KafkaCollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(KafkaCollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = KafkaCollectionArgs.__new__(KafkaCollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(KafkaCollection, __self__).__init__( + 'rockset:index/kafkaCollection:KafkaCollection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'KafkaCollection': + """ + Get an existing KafkaCollection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KafkaCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _KafkaCollectionState.__new__(_KafkaCollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return KafkaCollection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter + def sources(self) -> pulumi.Output[Optional[Sequence['outputs.KafkaCollectionSource']]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/kafka_integration.py b/sdk/python/pulumi_rockset/kafka_integration.py new file mode 100644 index 0000000..41ae0ad --- /dev/null +++ b/sdk/python/pulumi_rockset/kafka_integration.py @@ -0,0 +1,622 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['KafkaIntegrationArgs', 'KafkaIntegration'] + +@pulumi.input_type +class KafkaIntegrationArgs: + def __init__(__self__, *, + bootstrap_servers: Optional[pulumi.Input[str]] = None, + connection_string: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_data_format: Optional[pulumi.Input[str]] = None, + kafka_topic_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + schema_registry_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + security_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + use_v3: Optional[pulumi.Input[bool]] = None, + wait_for_integration: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a KafkaIntegration resource. + :param pulumi.Input[str] bootstrap_servers: The Kafka bootstrap server url(s). Required only for V3 integration. + :param pulumi.Input[str] connection_string: Kafka connection string. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] kafka_data_format: The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kafka_topic_names: Kafka topics to tail. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] schema_registry_config: Kafka configuration for schema registry. Required only for V3 integration. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] security_config: Kafka security configurations. Required only for V3 integration. + :param pulumi.Input[bool] use_v3: Use v3 for Confluent Cloud. + :param pulumi.Input[bool] wait_for_integration: Wait until the integration is active. + """ + if bootstrap_servers is not None: + pulumi.set(__self__, "bootstrap_servers", bootstrap_servers) + if connection_string is not None: + pulumi.set(__self__, "connection_string", connection_string) + if description is not None: + pulumi.set(__self__, "description", description) + if kafka_data_format is not None: + pulumi.set(__self__, "kafka_data_format", kafka_data_format) + if kafka_topic_names is not None: + pulumi.set(__self__, "kafka_topic_names", kafka_topic_names) + if name is not None: + pulumi.set(__self__, "name", name) + if schema_registry_config is not None: + pulumi.set(__self__, "schema_registry_config", schema_registry_config) + if security_config is not None: + pulumi.set(__self__, "security_config", security_config) + if use_v3 is not None: + pulumi.set(__self__, "use_v3", use_v3) + if wait_for_integration is not None: + pulumi.set(__self__, "wait_for_integration", wait_for_integration) + + @property + @pulumi.getter(name="bootstrapServers") + def bootstrap_servers(self) -> Optional[pulumi.Input[str]]: + """ + The Kafka bootstrap server url(s). Required only for V3 integration. + """ + return pulumi.get(self, "bootstrap_servers") + + @bootstrap_servers.setter + def bootstrap_servers(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bootstrap_servers", value) + + @property + @pulumi.getter(name="connectionString") + def connection_string(self) -> Optional[pulumi.Input[str]]: + """ + Kafka connection string. + """ + return pulumi.get(self, "connection_string") + + @connection_string.setter + def connection_string(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_string", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="kafkaDataFormat") + def kafka_data_format(self) -> Optional[pulumi.Input[str]]: + """ + The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + """ + return pulumi.get(self, "kafka_data_format") + + @kafka_data_format.setter + def kafka_data_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kafka_data_format", value) + + @property + @pulumi.getter(name="kafkaTopicNames") + def kafka_topic_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kafka topics to tail. + """ + return pulumi.get(self, "kafka_topic_names") + + @kafka_topic_names.setter + def kafka_topic_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kafka_topic_names", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="schemaRegistryConfig") + def schema_registry_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Kafka configuration for schema registry. Required only for V3 integration. + """ + return pulumi.get(self, "schema_registry_config") + + @schema_registry_config.setter + def schema_registry_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "schema_registry_config", value) + + @property + @pulumi.getter(name="securityConfig") + def security_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Kafka security configurations. Required only for V3 integration. + """ + return pulumi.get(self, "security_config") + + @security_config.setter + def security_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "security_config", value) + + @property + @pulumi.getter(name="useV3") + def use_v3(self) -> Optional[pulumi.Input[bool]]: + """ + Use v3 for Confluent Cloud. + """ + return pulumi.get(self, "use_v3") + + @use_v3.setter + def use_v3(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_v3", value) + + @property + @pulumi.getter(name="waitForIntegration") + def wait_for_integration(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the integration is active. + """ + return pulumi.get(self, "wait_for_integration") + + @wait_for_integration.setter + def wait_for_integration(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_integration", value) + + +@pulumi.input_type +class _KafkaIntegrationState: + def __init__(__self__, *, + bootstrap_servers: Optional[pulumi.Input[str]] = None, + connection_string: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_data_format: Optional[pulumi.Input[str]] = None, + kafka_topic_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + schema_registry_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + security_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + use_v3: Optional[pulumi.Input[bool]] = None, + wait_for_integration: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering KafkaIntegration resources. + :param pulumi.Input[str] bootstrap_servers: The Kafka bootstrap server url(s). Required only for V3 integration. + :param pulumi.Input[str] connection_string: Kafka connection string. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] kafka_data_format: The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kafka_topic_names: Kafka topics to tail. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] schema_registry_config: Kafka configuration for schema registry. Required only for V3 integration. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] security_config: Kafka security configurations. Required only for V3 integration. + :param pulumi.Input[bool] use_v3: Use v3 for Confluent Cloud. + :param pulumi.Input[bool] wait_for_integration: Wait until the integration is active. + """ + if bootstrap_servers is not None: + pulumi.set(__self__, "bootstrap_servers", bootstrap_servers) + if connection_string is not None: + pulumi.set(__self__, "connection_string", connection_string) + if description is not None: + pulumi.set(__self__, "description", description) + if kafka_data_format is not None: + pulumi.set(__self__, "kafka_data_format", kafka_data_format) + if kafka_topic_names is not None: + pulumi.set(__self__, "kafka_topic_names", kafka_topic_names) + if name is not None: + pulumi.set(__self__, "name", name) + if schema_registry_config is not None: + pulumi.set(__self__, "schema_registry_config", schema_registry_config) + if security_config is not None: + pulumi.set(__self__, "security_config", security_config) + if use_v3 is not None: + pulumi.set(__self__, "use_v3", use_v3) + if wait_for_integration is not None: + pulumi.set(__self__, "wait_for_integration", wait_for_integration) + + @property + @pulumi.getter(name="bootstrapServers") + def bootstrap_servers(self) -> Optional[pulumi.Input[str]]: + """ + The Kafka bootstrap server url(s). Required only for V3 integration. + """ + return pulumi.get(self, "bootstrap_servers") + + @bootstrap_servers.setter + def bootstrap_servers(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bootstrap_servers", value) + + @property + @pulumi.getter(name="connectionString") + def connection_string(self) -> Optional[pulumi.Input[str]]: + """ + Kafka connection string. + """ + return pulumi.get(self, "connection_string") + + @connection_string.setter + def connection_string(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_string", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="kafkaDataFormat") + def kafka_data_format(self) -> Optional[pulumi.Input[str]]: + """ + The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + """ + return pulumi.get(self, "kafka_data_format") + + @kafka_data_format.setter + def kafka_data_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kafka_data_format", value) + + @property + @pulumi.getter(name="kafkaTopicNames") + def kafka_topic_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kafka topics to tail. + """ + return pulumi.get(self, "kafka_topic_names") + + @kafka_topic_names.setter + def kafka_topic_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kafka_topic_names", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="schemaRegistryConfig") + def schema_registry_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Kafka configuration for schema registry. Required only for V3 integration. + """ + return pulumi.get(self, "schema_registry_config") + + @schema_registry_config.setter + def schema_registry_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "schema_registry_config", value) + + @property + @pulumi.getter(name="securityConfig") + def security_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Kafka security configurations. Required only for V3 integration. + """ + return pulumi.get(self, "security_config") + + @security_config.setter + def security_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "security_config", value) + + @property + @pulumi.getter(name="useV3") + def use_v3(self) -> Optional[pulumi.Input[bool]]: + """ + Use v3 for Confluent Cloud. + """ + return pulumi.get(self, "use_v3") + + @use_v3.setter + def use_v3(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_v3", value) + + @property + @pulumi.getter(name="waitForIntegration") + def wait_for_integration(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the integration is active. + """ + return pulumi.get(self, "wait_for_integration") + + @wait_for_integration.setter + def wait_for_integration(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_integration", value) + + +class KafkaIntegration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bootstrap_servers: Optional[pulumi.Input[str]] = None, + connection_string: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_data_format: Optional[pulumi.Input[str]] = None, + kafka_topic_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + schema_registry_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + security_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + use_v3: Optional[pulumi.Input[bool]] = None, + wait_for_integration: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_null as null + import pulumi_rockset as rockset + + config = pulumi.Config() + rockset_apiserver = config.get("rocksetApiserver") + if rockset_apiserver is None: + rockset_apiserver = "https://api.usw2a1.rockset.com" + kafka_connect = config.get("kafkaConnect") + if kafka_connect is None: + kafka_connect = "localhost:8083" + topics = config.require_object("topics") + max_tasks = config.get_float("maxTasks") + if max_tasks is None: + max_tasks = 10 + local = rockset.KafkaIntegration("local", + description="Integration to ingest from a local kafka.", + kafka_data_format="JSON", + kafka_topic_names=[ + "foo", + "bar", + ], + wait_for_integration=False) + configure_kafka_connect = null.Resource("configure-kafka-connect") + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] bootstrap_servers: The Kafka bootstrap server url(s). Required only for V3 integration. + :param pulumi.Input[str] connection_string: Kafka connection string. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] kafka_data_format: The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kafka_topic_names: Kafka topics to tail. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] schema_registry_config: Kafka configuration for schema registry. Required only for V3 integration. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] security_config: Kafka security configurations. Required only for V3 integration. + :param pulumi.Input[bool] use_v3: Use v3 for Confluent Cloud. + :param pulumi.Input[bool] wait_for_integration: Wait until the integration is active. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[KafkaIntegrationArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_null as null + import pulumi_rockset as rockset + + config = pulumi.Config() + rockset_apiserver = config.get("rocksetApiserver") + if rockset_apiserver is None: + rockset_apiserver = "https://api.usw2a1.rockset.com" + kafka_connect = config.get("kafkaConnect") + if kafka_connect is None: + kafka_connect = "localhost:8083" + topics = config.require_object("topics") + max_tasks = config.get_float("maxTasks") + if max_tasks is None: + max_tasks = 10 + local = rockset.KafkaIntegration("local", + description="Integration to ingest from a local kafka.", + kafka_data_format="JSON", + kafka_topic_names=[ + "foo", + "bar", + ], + wait_for_integration=False) + configure_kafka_connect = null.Resource("configure-kafka-connect") + ``` + + :param str resource_name: The name of the resource. + :param KafkaIntegrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(KafkaIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bootstrap_servers: Optional[pulumi.Input[str]] = None, + connection_string: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_data_format: Optional[pulumi.Input[str]] = None, + kafka_topic_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + schema_registry_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + security_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + use_v3: Optional[pulumi.Input[bool]] = None, + wait_for_integration: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = KafkaIntegrationArgs.__new__(KafkaIntegrationArgs) + + __props__.__dict__["bootstrap_servers"] = bootstrap_servers + __props__.__dict__["connection_string"] = connection_string + __props__.__dict__["description"] = description + __props__.__dict__["kafka_data_format"] = kafka_data_format + __props__.__dict__["kafka_topic_names"] = kafka_topic_names + __props__.__dict__["name"] = name + __props__.__dict__["schema_registry_config"] = schema_registry_config + __props__.__dict__["security_config"] = security_config + __props__.__dict__["use_v3"] = use_v3 + __props__.__dict__["wait_for_integration"] = wait_for_integration + super(KafkaIntegration, __self__).__init__( + 'rockset:index/kafkaIntegration:KafkaIntegration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + bootstrap_servers: Optional[pulumi.Input[str]] = None, + connection_string: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + kafka_data_format: Optional[pulumi.Input[str]] = None, + kafka_topic_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + schema_registry_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + security_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + use_v3: Optional[pulumi.Input[bool]] = None, + wait_for_integration: Optional[pulumi.Input[bool]] = None) -> 'KafkaIntegration': + """ + Get an existing KafkaIntegration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] bootstrap_servers: The Kafka bootstrap server url(s). Required only for V3 integration. + :param pulumi.Input[str] connection_string: Kafka connection string. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] kafka_data_format: The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kafka_topic_names: Kafka topics to tail. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] schema_registry_config: Kafka configuration for schema registry. Required only for V3 integration. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] security_config: Kafka security configurations. Required only for V3 integration. + :param pulumi.Input[bool] use_v3: Use v3 for Confluent Cloud. + :param pulumi.Input[bool] wait_for_integration: Wait until the integration is active. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _KafkaIntegrationState.__new__(_KafkaIntegrationState) + + __props__.__dict__["bootstrap_servers"] = bootstrap_servers + __props__.__dict__["connection_string"] = connection_string + __props__.__dict__["description"] = description + __props__.__dict__["kafka_data_format"] = kafka_data_format + __props__.__dict__["kafka_topic_names"] = kafka_topic_names + __props__.__dict__["name"] = name + __props__.__dict__["schema_registry_config"] = schema_registry_config + __props__.__dict__["security_config"] = security_config + __props__.__dict__["use_v3"] = use_v3 + __props__.__dict__["wait_for_integration"] = wait_for_integration + return KafkaIntegration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="bootstrapServers") + def bootstrap_servers(self) -> pulumi.Output[Optional[str]]: + """ + The Kafka bootstrap server url(s). Required only for V3 integration. + """ + return pulumi.get(self, "bootstrap_servers") + + @property + @pulumi.getter(name="connectionString") + def connection_string(self) -> pulumi.Output[str]: + """ + Kafka connection string. + """ + return pulumi.get(self, "connection_string") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="kafkaDataFormat") + def kafka_data_format(self) -> pulumi.Output[Optional[str]]: + """ + The format of the Kafka topics being tailed. Possible values: JSON, AVRO. + """ + return pulumi.get(self, "kafka_data_format") + + @property + @pulumi.getter(name="kafkaTopicNames") + def kafka_topic_names(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Kafka topics to tail. + """ + return pulumi.get(self, "kafka_topic_names") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="schemaRegistryConfig") + def schema_registry_config(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Kafka configuration for schema registry. Required only for V3 integration. + """ + return pulumi.get(self, "schema_registry_config") + + @property + @pulumi.getter(name="securityConfig") + def security_config(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Kafka security configurations. Required only for V3 integration. + """ + return pulumi.get(self, "security_config") + + @property + @pulumi.getter(name="useV3") + def use_v3(self) -> pulumi.Output[Optional[bool]]: + """ + Use v3 for Confluent Cloud. + """ + return pulumi.get(self, "use_v3") + + @property + @pulumi.getter(name="waitForIntegration") + def wait_for_integration(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the integration is active. + """ + return pulumi.get(self, "wait_for_integration") + diff --git a/sdk/python/pulumi_rockset/kinesis_collection.py b/sdk/python/pulumi_rockset/kinesis_collection.py new file mode 100644 index 0000000..6b959c5 --- /dev/null +++ b/sdk/python/pulumi_rockset/kinesis_collection.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['KinesisCollectionArgs', 'KinesisCollection'] + +@pulumi.input_type +class KinesisCollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a KinesisCollection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _KinesisCollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering KinesisCollection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['KinesisCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class KinesisCollection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KinesisCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection with an Kinesis source attached. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KinesisCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: KinesisCollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection with an Kinesis source attached. + + :param str resource_name: The name of the resource. + :param KinesisCollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(KinesisCollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KinesisCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = KinesisCollectionArgs.__new__(KinesisCollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(KinesisCollection, __self__).__init__( + 'rockset:index/kinesisCollection:KinesisCollection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KinesisCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'KinesisCollection': + """ + Get an existing KinesisCollection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['KinesisCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _KinesisCollectionState.__new__(_KinesisCollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return KinesisCollection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter + def sources(self) -> pulumi.Output[Optional[Sequence['outputs.KinesisCollectionSource']]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/kinesis_integration.py b/sdk/python/pulumi_rockset/kinesis_integration.py new file mode 100644 index 0000000..21514b4 --- /dev/null +++ b/sdk/python/pulumi_rockset/kinesis_integration.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['KinesisIntegrationArgs', 'KinesisIntegration'] + +@pulumi.input_type +class KinesisIntegrationArgs: + def __init__(__self__, *, + aws_role_arn: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a KinesisIntegration resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "aws_role_arn", aws_role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> pulumi.Input[str]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @aws_role_arn.setter + def aws_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _KinesisIntegrationState: + def __init__(__self__, *, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering KinesisIntegration resources. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + if aws_role_arn is not None: + pulumi.set(__self__, "aws_role_arn", aws_role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @aws_role_arn.setter + def aws_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class KinesisIntegration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset Kinesis Integration. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: KinesisIntegrationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset Kinesis Integration. + + :param str resource_name: The name of the resource. + :param KinesisIntegrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(KinesisIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = KinesisIntegrationArgs.__new__(KinesisIntegrationArgs) + + if aws_role_arn is None and not opts.urn: + raise TypeError("Missing required property 'aws_role_arn'") + __props__.__dict__["aws_role_arn"] = aws_role_arn + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + super(KinesisIntegration, __self__).__init__( + 'rockset:index/kinesisIntegration:KinesisIntegration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'KinesisIntegration': + """ + Get an existing KinesisIntegration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _KinesisIntegrationState.__new__(_KinesisIntegrationState) + + __props__.__dict__["aws_role_arn"] = aws_role_arn + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + return KinesisIntegration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> pulumi.Output[str]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_rockset/mongodb_collection.py b/sdk/python/pulumi_rockset/mongodb_collection.py new file mode 100644 index 0000000..9a618da --- /dev/null +++ b/sdk/python/pulumi_rockset/mongodb_collection.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['MongodbCollectionArgs', 'MongodbCollection'] + +@pulumi.input_type +class MongodbCollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a MongodbCollection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _MongodbCollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering MongodbCollection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MongodbCollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class MongodbCollection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MongodbCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection with an MongoDB source attached. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MongodbCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MongodbCollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection with an MongoDB source attached. + + :param str resource_name: The name of the resource. + :param MongodbCollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MongodbCollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MongodbCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MongodbCollectionArgs.__new__(MongodbCollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(MongodbCollection, __self__).__init__( + 'rockset:index/mongodbCollection:MongodbCollection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MongodbCollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'MongodbCollection': + """ + Get an existing MongodbCollection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MongodbCollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MongodbCollectionState.__new__(_MongodbCollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return MongodbCollection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter + def sources(self) -> pulumi.Output[Optional[Sequence['outputs.MongodbCollectionSource']]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/mongodb_integration.py b/sdk/python/pulumi_rockset/mongodb_integration.py new file mode 100644 index 0000000..ed859aa --- /dev/null +++ b/sdk/python/pulumi_rockset/mongodb_integration.py @@ -0,0 +1,242 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['MongodbIntegrationArgs', 'MongodbIntegration'] + +@pulumi.input_type +class MongodbIntegrationArgs: + def __init__(__self__, *, + connection_uri: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MongodbIntegration resource. + :param pulumi.Input[str] connection_uri: MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "connection_uri", connection_uri) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="connectionUri") + def connection_uri(self) -> pulumi.Input[str]: + """ + MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + """ + return pulumi.get(self, "connection_uri") + + @connection_uri.setter + def connection_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "connection_uri", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _MongodbIntegrationState: + def __init__(__self__, *, + connection_uri: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering MongodbIntegration resources. + :param pulumi.Input[str] connection_uri: MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + if connection_uri is not None: + pulumi.set(__self__, "connection_uri", connection_uri) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="connectionUri") + def connection_uri(self) -> Optional[pulumi.Input[str]]: + """ + MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + """ + return pulumi.get(self, "connection_uri") + + @connection_uri.setter + def connection_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_uri", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class MongodbIntegration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connection_uri: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset MongoDB Integration. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] connection_uri: MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MongodbIntegrationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset MongoDB Integration. + + :param str resource_name: The name of the resource. + :param MongodbIntegrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MongodbIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connection_uri: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MongodbIntegrationArgs.__new__(MongodbIntegrationArgs) + + if connection_uri is None and not opts.urn: + raise TypeError("Missing required property 'connection_uri'") + __props__.__dict__["connection_uri"] = None if connection_uri is None else pulumi.Output.secret(connection_uri) + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["connectionUri"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(MongodbIntegration, __self__).__init__( + 'rockset:index/mongodbIntegration:MongodbIntegration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + connection_uri: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'MongodbIntegration': + """ + Get an existing MongodbIntegration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] connection_uri: MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MongodbIntegrationState.__new__(_MongodbIntegrationState) + + __props__.__dict__["connection_uri"] = connection_uri + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + return MongodbIntegration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="connectionUri") + def connection_uri(self) -> pulumi.Output[str]: + """ + MongoDB connection URI string. The password is scrubbed from the URI when fetched by the API so this field is NOT set on imports and reads. + """ + return pulumi.get(self, "connection_uri") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_rockset/outputs.py b/sdk/python/pulumi_rockset/outputs.py new file mode 100644 index 0000000..1624ba5 --- /dev/null +++ b/sdk/python/pulumi_rockset/outputs.py @@ -0,0 +1,1460 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs + +__all__ = [ + 'DynamodbCollectionSource', + 'GcsCollectionSource', + 'GcsCollectionSourceCsv', + 'GcsCollectionSourceXml', + 'KafkaCollectionSource', + 'KafkaCollectionSourceStatus', + 'KafkaCollectionSourceStatusPartition', + 'KinesisCollectionSource', + 'MongodbCollectionSource', + 'QueryLambdaSql', + 'QueryLambdaSqlDefaultParameter', + 'RolePrivilege', + 'S3CollectionSource', + 'S3CollectionSourceCsv', + 'S3CollectionSourceXml', + 'GetAccountClusterResult', +] + +@pulumi.output_type +class DynamodbCollectionSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "integrationName": + suggest = "integration_name" + elif key == "tableName": + suggest = "table_name" + elif key == "awsRegion": + suggest = "aws_region" + elif key == "scanEndTime": + suggest = "scan_end_time" + elif key == "scanRecordsProcessed": + suggest = "scan_records_processed" + elif key == "scanStartTime": + suggest = "scan_start_time" + elif key == "scanTotalRecords": + suggest = "scan_total_records" + elif key == "streamLastProcessedAt": + suggest = "stream_last_processed_at" + elif key == "useScanApi": + suggest = "use_scan_api" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DynamodbCollectionSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DynamodbCollectionSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DynamodbCollectionSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + integration_name: str, + table_name: str, + aws_region: Optional[str] = None, + rcu: Optional[int] = None, + scan_end_time: Optional[str] = None, + scan_records_processed: Optional[int] = None, + scan_start_time: Optional[str] = None, + scan_total_records: Optional[int] = None, + state: Optional[str] = None, + stream_last_processed_at: Optional[str] = None, + use_scan_api: Optional[bool] = None): + """ + :param str integration_name: The name of the Rockset DynamoDB integration. + :param str table_name: Name of DynamoDB table containing data. + :param str aws_region: AWS region name of DynamoDB table, by default us-west-2 is used. + :param int rcu: Max RCU usage for scan. + :param str scan_end_time: DynamoDB scan end time. + :param int scan_records_processed: Number of records inserted using scan. + :param str scan_start_time: DynamoDB scan start time. + :param int scan_total_records: Number of records in DynamoDB table at time of scan. + :param str state: State of current ingest for this table. + :param str stream_last_processed_at: ISO-8601 date when source was last processed. + :param bool use_scan_api: Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + """ + pulumi.set(__self__, "integration_name", integration_name) + pulumi.set(__self__, "table_name", table_name) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if rcu is not None: + pulumi.set(__self__, "rcu", rcu) + if scan_end_time is not None: + pulumi.set(__self__, "scan_end_time", scan_end_time) + if scan_records_processed is not None: + pulumi.set(__self__, "scan_records_processed", scan_records_processed) + if scan_start_time is not None: + pulumi.set(__self__, "scan_start_time", scan_start_time) + if scan_total_records is not None: + pulumi.set(__self__, "scan_total_records", scan_total_records) + if state is not None: + pulumi.set(__self__, "state", state) + if stream_last_processed_at is not None: + pulumi.set(__self__, "stream_last_processed_at", stream_last_processed_at) + if use_scan_api is not None: + pulumi.set(__self__, "use_scan_api", use_scan_api) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> str: + """ + The name of the Rockset DynamoDB integration. + """ + return pulumi.get(self, "integration_name") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> str: + """ + Name of DynamoDB table containing data. + """ + return pulumi.get(self, "table_name") + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[str]: + """ + AWS region name of DynamoDB table, by default us-west-2 is used. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter + def rcu(self) -> Optional[int]: + """ + Max RCU usage for scan. + """ + return pulumi.get(self, "rcu") + + @property + @pulumi.getter(name="scanEndTime") + def scan_end_time(self) -> Optional[str]: + """ + DynamoDB scan end time. + """ + return pulumi.get(self, "scan_end_time") + + @property + @pulumi.getter(name="scanRecordsProcessed") + def scan_records_processed(self) -> Optional[int]: + """ + Number of records inserted using scan. + """ + return pulumi.get(self, "scan_records_processed") + + @property + @pulumi.getter(name="scanStartTime") + def scan_start_time(self) -> Optional[str]: + """ + DynamoDB scan start time. + """ + return pulumi.get(self, "scan_start_time") + + @property + @pulumi.getter(name="scanTotalRecords") + def scan_total_records(self) -> Optional[int]: + """ + Number of records in DynamoDB table at time of scan. + """ + return pulumi.get(self, "scan_total_records") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + State of current ingest for this table. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="streamLastProcessedAt") + def stream_last_processed_at(self) -> Optional[str]: + """ + ISO-8601 date when source was last processed. + """ + return pulumi.get(self, "stream_last_processed_at") + + @property + @pulumi.getter(name="useScanApi") + def use_scan_api(self) -> Optional[bool]: + """ + Whether the initial table scan should use the DynamoDB scan API. If false, export will be performed using an S3 bucket. + """ + return pulumi.get(self, "use_scan_api") + + +@pulumi.output_type +class GcsCollectionSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "integrationName": + suggest = "integration_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GcsCollectionSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GcsCollectionSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GcsCollectionSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bucket: str, + format: str, + integration_name: str, + csv: Optional['outputs.GcsCollectionSourceCsv'] = None, + prefix: Optional[str] = None, + xml: Optional['outputs.GcsCollectionSourceXml'] = None): + """ + :param str bucket: GCS bucket containing the target data. + :param str format: Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + :param str integration_name: The name of the Rockset GCS integration. + :param str prefix: Simple path prefix to GCS key. + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "integration_name", integration_name) + if csv is not None: + pulumi.set(__self__, "csv", csv) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if xml is not None: + pulumi.set(__self__, "xml", xml) + + @property + @pulumi.getter + def bucket(self) -> str: + """ + GCS bucket containing the target data. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def format(self) -> str: + """ + Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + """ + return pulumi.get(self, "format") + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> str: + """ + The name of the Rockset GCS integration. + """ + return pulumi.get(self, "integration_name") + + @property + @pulumi.getter + def csv(self) -> Optional['outputs.GcsCollectionSourceCsv']: + return pulumi.get(self, "csv") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + Simple path prefix to GCS key. + """ + return pulumi.get(self, "prefix") + + @property + @pulumi.getter + def xml(self) -> Optional['outputs.GcsCollectionSourceXml']: + return pulumi.get(self, "xml") + + +@pulumi.output_type +class GcsCollectionSourceCsv(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "columnNames": + suggest = "column_names" + elif key == "columnTypes": + suggest = "column_types" + elif key == "escapeChar": + suggest = "escape_char" + elif key == "firstLineAsColumnNames": + suggest = "first_line_as_column_names" + elif key == "quoteChar": + suggest = "quote_char" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GcsCollectionSourceCsv. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GcsCollectionSourceCsv.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GcsCollectionSourceCsv.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + column_names: Optional[Sequence[str]] = None, + column_types: Optional[Sequence[str]] = None, + encoding: Optional[str] = None, + escape_char: Optional[str] = None, + first_line_as_column_names: Optional[bool] = None, + quote_char: Optional[str] = None, + separator: Optional[str] = None): + """ + :param Sequence[str] column_names: The names of the columns. + :param Sequence[str] column_types: The types of the columns. + :param str encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param str escape_char: Escape character removes any special meaning from the character that follows it. Defaults to backslash. + :param bool first_line_as_column_names: If the first line in every object specifies the column names. + :param str quote_char: Character within which a cell value is enclosed. Defaults to double quote. + :param str separator: A single character that is the column separator. + """ + if column_names is not None: + pulumi.set(__self__, "column_names", column_names) + if column_types is not None: + pulumi.set(__self__, "column_types", column_types) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if escape_char is not None: + pulumi.set(__self__, "escape_char", escape_char) + if first_line_as_column_names is not None: + pulumi.set(__self__, "first_line_as_column_names", first_line_as_column_names) + if quote_char is not None: + pulumi.set(__self__, "quote_char", quote_char) + if separator is not None: + pulumi.set(__self__, "separator", separator) + + @property + @pulumi.getter(name="columnNames") + def column_names(self) -> Optional[Sequence[str]]: + """ + The names of the columns. + """ + return pulumi.get(self, "column_names") + + @property + @pulumi.getter(name="columnTypes") + def column_types(self) -> Optional[Sequence[str]]: + """ + The types of the columns. + """ + return pulumi.get(self, "column_types") + + @property + @pulumi.getter + def encoding(self) -> Optional[str]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter(name="escapeChar") + def escape_char(self) -> Optional[str]: + """ + Escape character removes any special meaning from the character that follows it. Defaults to backslash. + """ + return pulumi.get(self, "escape_char") + + @property + @pulumi.getter(name="firstLineAsColumnNames") + def first_line_as_column_names(self) -> Optional[bool]: + """ + If the first line in every object specifies the column names. + """ + return pulumi.get(self, "first_line_as_column_names") + + @property + @pulumi.getter(name="quoteChar") + def quote_char(self) -> Optional[str]: + """ + Character within which a cell value is enclosed. Defaults to double quote. + """ + return pulumi.get(self, "quote_char") + + @property + @pulumi.getter + def separator(self) -> Optional[str]: + """ + A single character that is the column separator. + """ + return pulumi.get(self, "separator") + + +@pulumi.output_type +class GcsCollectionSourceXml(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "attributePrefix": + suggest = "attribute_prefix" + elif key == "docTag": + suggest = "doc_tag" + elif key == "rootTag": + suggest = "root_tag" + elif key == "valueTag": + suggest = "value_tag" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GcsCollectionSourceXml. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GcsCollectionSourceXml.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GcsCollectionSourceXml.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + attribute_prefix: Optional[str] = None, + doc_tag: Optional[str] = None, + encoding: Optional[str] = None, + root_tag: Optional[str] = None, + value_tag: Optional[str] = None): + """ + :param str attribute_prefix: Tag to differentiate between attributes and elements. + :param str doc_tag: Tags with which documents are identified + :param str encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param str root_tag: Tag until which xml is ignored. + :param str value_tag: Tag used for the value when there are attributes in the element having no child. + """ + if attribute_prefix is not None: + pulumi.set(__self__, "attribute_prefix", attribute_prefix) + if doc_tag is not None: + pulumi.set(__self__, "doc_tag", doc_tag) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if root_tag is not None: + pulumi.set(__self__, "root_tag", root_tag) + if value_tag is not None: + pulumi.set(__self__, "value_tag", value_tag) + + @property + @pulumi.getter(name="attributePrefix") + def attribute_prefix(self) -> Optional[str]: + """ + Tag to differentiate between attributes and elements. + """ + return pulumi.get(self, "attribute_prefix") + + @property + @pulumi.getter(name="docTag") + def doc_tag(self) -> Optional[str]: + """ + Tags with which documents are identified + """ + return pulumi.get(self, "doc_tag") + + @property + @pulumi.getter + def encoding(self) -> Optional[str]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter(name="rootTag") + def root_tag(self) -> Optional[str]: + """ + Tag until which xml is ignored. + """ + return pulumi.get(self, "root_tag") + + @property + @pulumi.getter(name="valueTag") + def value_tag(self) -> Optional[str]: + """ + Tag used for the value when there are attributes in the element having no child. + """ + return pulumi.get(self, "value_tag") + + +@pulumi.output_type +class KafkaCollectionSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "integrationName": + suggest = "integration_name" + elif key == "topicName": + suggest = "topic_name" + elif key == "consumerGroupId": + suggest = "consumer_group_id" + elif key == "offsetResetPolicy": + suggest = "offset_reset_policy" + elif key == "useV3": + suggest = "use_v3" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KafkaCollectionSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KafkaCollectionSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KafkaCollectionSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + integration_name: str, + topic_name: str, + consumer_group_id: Optional[str] = None, + offset_reset_policy: Optional[str] = None, + statuses: Optional[Sequence['outputs.KafkaCollectionSourceStatus']] = None, + use_v3: Optional[bool] = None): + """ + :param str integration_name: The name of the Rockset Kafka integration. + :param str topic_name: Name of Kafka topic to be tailed. + :param str consumer_group_id: The Kafka consumer group Id being used. + :param str offset_reset_policy: The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + :param bool use_v3: Whether to use v3 integration. Required if the kafka integration uses v3. + """ + pulumi.set(__self__, "integration_name", integration_name) + pulumi.set(__self__, "topic_name", topic_name) + if consumer_group_id is not None: + pulumi.set(__self__, "consumer_group_id", consumer_group_id) + if offset_reset_policy is not None: + pulumi.set(__self__, "offset_reset_policy", offset_reset_policy) + if statuses is not None: + pulumi.set(__self__, "statuses", statuses) + if use_v3 is not None: + pulumi.set(__self__, "use_v3", use_v3) + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> str: + """ + The name of the Rockset Kafka integration. + """ + return pulumi.get(self, "integration_name") + + @property + @pulumi.getter(name="topicName") + def topic_name(self) -> str: + """ + Name of Kafka topic to be tailed. + """ + return pulumi.get(self, "topic_name") + + @property + @pulumi.getter(name="consumerGroupId") + def consumer_group_id(self) -> Optional[str]: + """ + The Kafka consumer group Id being used. + """ + return pulumi.get(self, "consumer_group_id") + + @property + @pulumi.getter(name="offsetResetPolicy") + def offset_reset_policy(self) -> Optional[str]: + """ + The offset reset policy. Possible values: LATEST, EARLIEST. Only valid with v3 collections. + """ + return pulumi.get(self, "offset_reset_policy") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence['outputs.KafkaCollectionSourceStatus']]: + return pulumi.get(self, "statuses") + + @property + @pulumi.getter(name="useV3") + def use_v3(self) -> Optional[bool]: + """ + Whether to use v3 integration. Required if the kafka integration uses v3. + """ + return pulumi.get(self, "use_v3") + + +@pulumi.output_type +class KafkaCollectionSourceStatus(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "documentsProcessed": + suggest = "documents_processed" + elif key == "lastConsumedTime": + suggest = "last_consumed_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KafkaCollectionSourceStatus. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KafkaCollectionSourceStatus.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KafkaCollectionSourceStatus.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + documents_processed: Optional[int] = None, + last_consumed_time: Optional[str] = None, + partitions: Optional[Sequence['outputs.KafkaCollectionSourceStatusPartition']] = None, + state: Optional[str] = None): + if documents_processed is not None: + pulumi.set(__self__, "documents_processed", documents_processed) + if last_consumed_time is not None: + pulumi.set(__self__, "last_consumed_time", last_consumed_time) + if partitions is not None: + pulumi.set(__self__, "partitions", partitions) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="documentsProcessed") + def documents_processed(self) -> Optional[int]: + return pulumi.get(self, "documents_processed") + + @property + @pulumi.getter(name="lastConsumedTime") + def last_consumed_time(self) -> Optional[str]: + return pulumi.get(self, "last_consumed_time") + + @property + @pulumi.getter + def partitions(self) -> Optional[Sequence['outputs.KafkaCollectionSourceStatusPartition']]: + return pulumi.get(self, "partitions") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + return pulumi.get(self, "state") + + +@pulumi.output_type +class KafkaCollectionSourceStatusPartition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "offsetLag": + suggest = "offset_lag" + elif key == "partitionNumber": + suggest = "partition_number" + elif key == "partitionOffset": + suggest = "partition_offset" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KafkaCollectionSourceStatusPartition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KafkaCollectionSourceStatusPartition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KafkaCollectionSourceStatusPartition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + offset_lag: Optional[int] = None, + partition_number: Optional[int] = None, + partition_offset: Optional[int] = None): + if offset_lag is not None: + pulumi.set(__self__, "offset_lag", offset_lag) + if partition_number is not None: + pulumi.set(__self__, "partition_number", partition_number) + if partition_offset is not None: + pulumi.set(__self__, "partition_offset", partition_offset) + + @property + @pulumi.getter(name="offsetLag") + def offset_lag(self) -> Optional[int]: + return pulumi.get(self, "offset_lag") + + @property + @pulumi.getter(name="partitionNumber") + def partition_number(self) -> Optional[int]: + return pulumi.get(self, "partition_number") + + @property + @pulumi.getter(name="partitionOffset") + def partition_offset(self) -> Optional[int]: + return pulumi.get(self, "partition_offset") + + +@pulumi.output_type +class KinesisCollectionSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "integrationName": + suggest = "integration_name" + elif key == "streamName": + suggest = "stream_name" + elif key == "awsRegion": + suggest = "aws_region" + elif key == "dmsPrimaryKeys": + suggest = "dms_primary_keys" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KinesisCollectionSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KinesisCollectionSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KinesisCollectionSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + format: str, + integration_name: str, + stream_name: str, + aws_region: Optional[str] = None, + dms_primary_keys: Optional[Sequence[str]] = None): + """ + :param str format: Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + :param str integration_name: The name of the Rockset Kinesis integration. + :param str stream_name: Name of Kinesis stream. + :param str aws_region: AWS region name for the Kinesis stream, by default us-west-2 is used + :param Sequence[str] dms_primary_keys: Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + """ + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "integration_name", integration_name) + pulumi.set(__self__, "stream_name", stream_name) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if dms_primary_keys is not None: + pulumi.set(__self__, "dms_primary_keys", dms_primary_keys) + + @property + @pulumi.getter + def format(self) -> str: + """ + Format of the data. One of: json, mysql, postgres. dms*primary*keys list can only be set for mysql or postgres. + """ + return pulumi.get(self, "format") + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> str: + """ + The name of the Rockset Kinesis integration. + """ + return pulumi.get(self, "integration_name") + + @property + @pulumi.getter(name="streamName") + def stream_name(self) -> str: + """ + Name of Kinesis stream. + """ + return pulumi.get(self, "stream_name") + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[str]: + """ + AWS region name for the Kinesis stream, by default us-west-2 is used + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter(name="dmsPrimaryKeys") + def dms_primary_keys(self) -> Optional[Sequence[str]]: + """ + Set of fields that correspond to a DMS primary key. Can only be set if format is mysql or postgres. + """ + return pulumi.get(self, "dms_primary_keys") + + +@pulumi.output_type +class MongodbCollectionSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "collectionName": + suggest = "collection_name" + elif key == "databaseName": + suggest = "database_name" + elif key == "integrationName": + suggest = "integration_name" + elif key == "retrieveFullDocument": + suggest = "retrieve_full_document" + elif key == "scanEndTime": + suggest = "scan_end_time" + elif key == "scanRecordsProcessed": + suggest = "scan_records_processed" + elif key == "scanStartTime": + suggest = "scan_start_time" + elif key == "scanTotalRecords": + suggest = "scan_total_records" + elif key == "streamLastDeleteProcessedAt": + suggest = "stream_last_delete_processed_at" + elif key == "streamLastInsertProcessedAt": + suggest = "stream_last_insert_processed_at" + elif key == "streamLastUpdateProcessedAt": + suggest = "stream_last_update_processed_at" + elif key == "streamRecordsDeleted": + suggest = "stream_records_deleted" + elif key == "streamRecordsInserted": + suggest = "stream_records_inserted" + elif key == "streamRecordsUpdated": + suggest = "stream_records_updated" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MongodbCollectionSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MongodbCollectionSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MongodbCollectionSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + collection_name: str, + database_name: str, + integration_name: str, + retrieve_full_document: Optional[bool] = None, + scan_end_time: Optional[str] = None, + scan_records_processed: Optional[int] = None, + scan_start_time: Optional[str] = None, + scan_total_records: Optional[int] = None, + state: Optional[str] = None, + stream_last_delete_processed_at: Optional[str] = None, + stream_last_insert_processed_at: Optional[str] = None, + stream_last_update_processed_at: Optional[str] = None, + stream_records_deleted: Optional[int] = None, + stream_records_inserted: Optional[int] = None, + stream_records_updated: Optional[int] = None): + """ + :param str collection_name: MongoDB collection name of the target collection. + :param str database_name: MongoDB database name containing the target collection. + :param str integration_name: The name of the Rockset MongoDB integration. + :param str scan_end_time: MongoDB scan end time. + :param int scan_records_processed: Number of records inserted using scan. + :param str scan_start_time: MongoDB scan start time. + :param int scan_total_records: Number of records in MongoDB table at time of scan. + :param str state: State of current ingest for this table. + :param str stream_last_delete_processed_at: ISO-8601 date when delete from source was last processed. + :param str stream_last_insert_processed_at: ISO-8601 date when new insert from source was last processed. + :param str stream_last_update_processed_at: ISO-8601 date when update from source was last processed. + :param int stream_records_deleted: Number of new records deleted using stream. + :param int stream_records_inserted: Number of new records inserted using stream. + :param int stream_records_updated: Number of new records updated using stream. + """ + pulumi.set(__self__, "collection_name", collection_name) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "integration_name", integration_name) + if retrieve_full_document is not None: + pulumi.set(__self__, "retrieve_full_document", retrieve_full_document) + if scan_end_time is not None: + pulumi.set(__self__, "scan_end_time", scan_end_time) + if scan_records_processed is not None: + pulumi.set(__self__, "scan_records_processed", scan_records_processed) + if scan_start_time is not None: + pulumi.set(__self__, "scan_start_time", scan_start_time) + if scan_total_records is not None: + pulumi.set(__self__, "scan_total_records", scan_total_records) + if state is not None: + pulumi.set(__self__, "state", state) + if stream_last_delete_processed_at is not None: + pulumi.set(__self__, "stream_last_delete_processed_at", stream_last_delete_processed_at) + if stream_last_insert_processed_at is not None: + pulumi.set(__self__, "stream_last_insert_processed_at", stream_last_insert_processed_at) + if stream_last_update_processed_at is not None: + pulumi.set(__self__, "stream_last_update_processed_at", stream_last_update_processed_at) + if stream_records_deleted is not None: + pulumi.set(__self__, "stream_records_deleted", stream_records_deleted) + if stream_records_inserted is not None: + pulumi.set(__self__, "stream_records_inserted", stream_records_inserted) + if stream_records_updated is not None: + pulumi.set(__self__, "stream_records_updated", stream_records_updated) + + @property + @pulumi.getter(name="collectionName") + def collection_name(self) -> str: + """ + MongoDB collection name of the target collection. + """ + return pulumi.get(self, "collection_name") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + """ + MongoDB database name containing the target collection. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> str: + """ + The name of the Rockset MongoDB integration. + """ + return pulumi.get(self, "integration_name") + + @property + @pulumi.getter(name="retrieveFullDocument") + def retrieve_full_document(self) -> Optional[bool]: + return pulumi.get(self, "retrieve_full_document") + + @property + @pulumi.getter(name="scanEndTime") + def scan_end_time(self) -> Optional[str]: + """ + MongoDB scan end time. + """ + return pulumi.get(self, "scan_end_time") + + @property + @pulumi.getter(name="scanRecordsProcessed") + def scan_records_processed(self) -> Optional[int]: + """ + Number of records inserted using scan. + """ + return pulumi.get(self, "scan_records_processed") + + @property + @pulumi.getter(name="scanStartTime") + def scan_start_time(self) -> Optional[str]: + """ + MongoDB scan start time. + """ + return pulumi.get(self, "scan_start_time") + + @property + @pulumi.getter(name="scanTotalRecords") + def scan_total_records(self) -> Optional[int]: + """ + Number of records in MongoDB table at time of scan. + """ + return pulumi.get(self, "scan_total_records") + + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + State of current ingest for this table. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="streamLastDeleteProcessedAt") + def stream_last_delete_processed_at(self) -> Optional[str]: + """ + ISO-8601 date when delete from source was last processed. + """ + return pulumi.get(self, "stream_last_delete_processed_at") + + @property + @pulumi.getter(name="streamLastInsertProcessedAt") + def stream_last_insert_processed_at(self) -> Optional[str]: + """ + ISO-8601 date when new insert from source was last processed. + """ + return pulumi.get(self, "stream_last_insert_processed_at") + + @property + @pulumi.getter(name="streamLastUpdateProcessedAt") + def stream_last_update_processed_at(self) -> Optional[str]: + """ + ISO-8601 date when update from source was last processed. + """ + return pulumi.get(self, "stream_last_update_processed_at") + + @property + @pulumi.getter(name="streamRecordsDeleted") + def stream_records_deleted(self) -> Optional[int]: + """ + Number of new records deleted using stream. + """ + return pulumi.get(self, "stream_records_deleted") + + @property + @pulumi.getter(name="streamRecordsInserted") + def stream_records_inserted(self) -> Optional[int]: + """ + Number of new records inserted using stream. + """ + return pulumi.get(self, "stream_records_inserted") + + @property + @pulumi.getter(name="streamRecordsUpdated") + def stream_records_updated(self) -> Optional[int]: + """ + Number of new records updated using stream. + """ + return pulumi.get(self, "stream_records_updated") + + +@pulumi.output_type +class QueryLambdaSql(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultParameters": + suggest = "default_parameters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in QueryLambdaSql. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + QueryLambdaSql.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + QueryLambdaSql.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + query: str, + default_parameters: Optional[Sequence['outputs.QueryLambdaSqlDefaultParameter']] = None): + pulumi.set(__self__, "query", query) + if default_parameters is not None: + pulumi.set(__self__, "default_parameters", default_parameters) + + @property + @pulumi.getter + def query(self) -> str: + return pulumi.get(self, "query") + + @property + @pulumi.getter(name="defaultParameters") + def default_parameters(self) -> Optional[Sequence['outputs.QueryLambdaSqlDefaultParameter']]: + return pulumi.get(self, "default_parameters") + + +@pulumi.output_type +class QueryLambdaSqlDefaultParameter(dict): + def __init__(__self__, *, + name: str, + type: str, + value: str): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class RolePrivilege(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceName": + suggest = "resource_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RolePrivilege. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RolePrivilege.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RolePrivilege.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action: str, + cluster: Optional[str] = None, + resource_name: Optional[str] = None): + """ + :param str action: The action allowed by this privilege. + :param str cluster: Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + :param str resource_name: The resource on which this action is allowed. Defaults to 'All' if not specified. + """ + pulumi.set(__self__, "action", action) + if cluster is not None: + pulumi.set(__self__, "cluster", cluster) + if resource_name is not None: + pulumi.set(__self__, "resource_name", resource_name) + + @property + @pulumi.getter + def action(self) -> str: + """ + The action allowed by this privilege. + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter + def cluster(self) -> Optional[str]: + """ + Rockset cluster ID for which this action is allowed. Only valid for Workspace actions. Use '*ALL*' for actions which apply to all clusters. + """ + return pulumi.get(self, "cluster") + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> Optional[str]: + """ + The resource on which this action is allowed. Defaults to 'All' if not specified. + """ + return pulumi.get(self, "resource_name") + + +@pulumi.output_type +class S3CollectionSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "integrationName": + suggest = "integration_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in S3CollectionSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + S3CollectionSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + S3CollectionSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bucket: str, + format: str, + integration_name: str, + csv: Optional['outputs.S3CollectionSourceCsv'] = None, + pattern: Optional[str] = None, + prefix: Optional[str] = None, + xml: Optional['outputs.S3CollectionSourceXml'] = None): + """ + :param str bucket: S3 bucket containing the target data. + :param str format: Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + :param str integration_name: The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + :param str pattern: Regex path pattern to S3 keys. + :param str prefix: Simple path prefix to S3 keys. + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "integration_name", integration_name) + if csv is not None: + pulumi.set(__self__, "csv", csv) + if pattern is not None: + pulumi.set(__self__, "pattern", pattern) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if xml is not None: + pulumi.set(__self__, "xml", xml) + + @property + @pulumi.getter + def bucket(self) -> str: + """ + S3 bucket containing the target data. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def format(self) -> str: + """ + Format of the data. One of: json, csv, xml. xml and csv blocks can only be set for their respective formats. + """ + return pulumi.get(self, "format") + + @property + @pulumi.getter(name="integrationName") + def integration_name(self) -> str: + """ + The name of the Rockset S3 integration. If no S3 integration is provided only data in public S3 buckets are accessible. + """ + return pulumi.get(self, "integration_name") + + @property + @pulumi.getter + def csv(self) -> Optional['outputs.S3CollectionSourceCsv']: + return pulumi.get(self, "csv") + + @property + @pulumi.getter + def pattern(self) -> Optional[str]: + """ + Regex path pattern to S3 keys. + """ + return pulumi.get(self, "pattern") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + Simple path prefix to S3 keys. + """ + warnings.warn("""use pattern instead""", DeprecationWarning) + pulumi.log.warn("""prefix is deprecated: use pattern instead""") + + return pulumi.get(self, "prefix") + + @property + @pulumi.getter + def xml(self) -> Optional['outputs.S3CollectionSourceXml']: + return pulumi.get(self, "xml") + + +@pulumi.output_type +class S3CollectionSourceCsv(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "columnNames": + suggest = "column_names" + elif key == "columnTypes": + suggest = "column_types" + elif key == "escapeChar": + suggest = "escape_char" + elif key == "firstLineAsColumnNames": + suggest = "first_line_as_column_names" + elif key == "quoteChar": + suggest = "quote_char" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in S3CollectionSourceCsv. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + S3CollectionSourceCsv.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + S3CollectionSourceCsv.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + column_names: Optional[Sequence[str]] = None, + column_types: Optional[Sequence[str]] = None, + encoding: Optional[str] = None, + escape_char: Optional[str] = None, + first_line_as_column_names: Optional[bool] = None, + quote_char: Optional[str] = None, + separator: Optional[str] = None): + """ + :param Sequence[str] column_names: The names of the columns. + :param Sequence[str] column_types: The types of the columns. + :param str encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param str escape_char: Escape character removes any special meaning from the character that follows it. Defaults to backslash. + :param bool first_line_as_column_names: If the first line in every object specifies the column names. + :param str quote_char: Character within which a cell value is enclosed. Defaults to double quote. + :param str separator: A single character that is the column separator. + """ + if column_names is not None: + pulumi.set(__self__, "column_names", column_names) + if column_types is not None: + pulumi.set(__self__, "column_types", column_types) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if escape_char is not None: + pulumi.set(__self__, "escape_char", escape_char) + if first_line_as_column_names is not None: + pulumi.set(__self__, "first_line_as_column_names", first_line_as_column_names) + if quote_char is not None: + pulumi.set(__self__, "quote_char", quote_char) + if separator is not None: + pulumi.set(__self__, "separator", separator) + + @property + @pulumi.getter(name="columnNames") + def column_names(self) -> Optional[Sequence[str]]: + """ + The names of the columns. + """ + return pulumi.get(self, "column_names") + + @property + @pulumi.getter(name="columnTypes") + def column_types(self) -> Optional[Sequence[str]]: + """ + The types of the columns. + """ + return pulumi.get(self, "column_types") + + @property + @pulumi.getter + def encoding(self) -> Optional[str]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter(name="escapeChar") + def escape_char(self) -> Optional[str]: + """ + Escape character removes any special meaning from the character that follows it. Defaults to backslash. + """ + return pulumi.get(self, "escape_char") + + @property + @pulumi.getter(name="firstLineAsColumnNames") + def first_line_as_column_names(self) -> Optional[bool]: + """ + If the first line in every object specifies the column names. + """ + return pulumi.get(self, "first_line_as_column_names") + + @property + @pulumi.getter(name="quoteChar") + def quote_char(self) -> Optional[str]: + """ + Character within which a cell value is enclosed. Defaults to double quote. + """ + return pulumi.get(self, "quote_char") + + @property + @pulumi.getter + def separator(self) -> Optional[str]: + """ + A single character that is the column separator. + """ + return pulumi.get(self, "separator") + + +@pulumi.output_type +class S3CollectionSourceXml(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "attributePrefix": + suggest = "attribute_prefix" + elif key == "docTag": + suggest = "doc_tag" + elif key == "rootTag": + suggest = "root_tag" + elif key == "valueTag": + suggest = "value_tag" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in S3CollectionSourceXml. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + S3CollectionSourceXml.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + S3CollectionSourceXml.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + attribute_prefix: Optional[str] = None, + doc_tag: Optional[str] = None, + encoding: Optional[str] = None, + root_tag: Optional[str] = None, + value_tag: Optional[str] = None): + """ + :param str attribute_prefix: Tag to differentiate between attributes and elements. + :param str doc_tag: Tags with which documents are identified + :param str encoding: Can be one of: UTF-8, ISO*8859*1, UTF-16. + :param str root_tag: Tag until which xml is ignored. + :param str value_tag: Tag used for the value when there are attributes in the element having no child. + """ + if attribute_prefix is not None: + pulumi.set(__self__, "attribute_prefix", attribute_prefix) + if doc_tag is not None: + pulumi.set(__self__, "doc_tag", doc_tag) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if root_tag is not None: + pulumi.set(__self__, "root_tag", root_tag) + if value_tag is not None: + pulumi.set(__self__, "value_tag", value_tag) + + @property + @pulumi.getter(name="attributePrefix") + def attribute_prefix(self) -> Optional[str]: + """ + Tag to differentiate between attributes and elements. + """ + return pulumi.get(self, "attribute_prefix") + + @property + @pulumi.getter(name="docTag") + def doc_tag(self) -> Optional[str]: + """ + Tags with which documents are identified + """ + return pulumi.get(self, "doc_tag") + + @property + @pulumi.getter + def encoding(self) -> Optional[str]: + """ + Can be one of: UTF-8, ISO*8859*1, UTF-16. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter(name="rootTag") + def root_tag(self) -> Optional[str]: + """ + Tag until which xml is ignored. + """ + return pulumi.get(self, "root_tag") + + @property + @pulumi.getter(name="valueTag") + def value_tag(self) -> Optional[str]: + """ + Tag used for the value when there are attributes in the element having no child. + """ + return pulumi.get(self, "value_tag") + + +@pulumi.output_type +class GetAccountClusterResult(dict): + def __init__(__self__, *, + api_server: str, + aws_region: str, + type: str): + pulumi.set(__self__, "api_server", api_server) + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="apiServer") + def api_server(self) -> str: + return pulumi.get(self, "api_server") + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> str: + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + diff --git a/sdk/python/pulumi_rockset/provider.py b/sdk/python/pulumi_rockset/provider.py new file mode 100644 index 0000000..d81ac7f --- /dev/null +++ b/sdk/python/pulumi_rockset/provider.py @@ -0,0 +1,136 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ProviderArgs', 'Provider'] + +@pulumi.input_type +class ProviderArgs: + def __init__(__self__, *, + api_key: Optional[pulumi.Input[str]] = None, + api_server: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Provider resource. + :param pulumi.Input[str] api_key: The API key used to access Rockset + :param pulumi.Input[str] api_server: The API server for accessing Rockset + """ + if api_key is not None: + pulumi.set(__self__, "api_key", api_key) + if api_server is not None: + pulumi.set(__self__, "api_server", api_server) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> Optional[pulumi.Input[str]]: + """ + The API key used to access Rockset + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_key", value) + + @property + @pulumi.getter(name="apiServer") + def api_server(self) -> Optional[pulumi.Input[str]]: + """ + The API server for accessing Rockset + """ + return pulumi.get(self, "api_server") + + @api_server.setter + def api_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_server", value) + + +class Provider(pulumi.ProviderResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_key: Optional[pulumi.Input[str]] = None, + api_server: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The provider type for the rockset package. By default, resources use package-wide configuration + settings, however an explicit `Provider` instance may be created and passed during resource + construction to achieve fine-grained programmatic control over provider settings. See the + [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_key: The API key used to access Rockset + :param pulumi.Input[str] api_server: The API server for accessing Rockset + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ProviderArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The provider type for the rockset package. By default, resources use package-wide configuration + settings, however an explicit `Provider` instance may be created and passed during resource + construction to achieve fine-grained programmatic control over provider settings. See the + [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information. + + :param str resource_name: The name of the resource. + :param ProviderArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ProviderArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_key: Optional[pulumi.Input[str]] = None, + api_server: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ProviderArgs.__new__(ProviderArgs) + + __props__.__dict__["api_key"] = None if api_key is None else pulumi.Output.secret(api_key) + __props__.__dict__["api_server"] = api_server + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apiKey"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Provider, __self__).__init__( + 'rockset', + resource_name, + __props__, + opts) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Output[Optional[str]]: + """ + The API key used to access Rockset + """ + return pulumi.get(self, "api_key") + + @property + @pulumi.getter(name="apiServer") + def api_server(self) -> pulumi.Output[Optional[str]]: + """ + The API server for accessing Rockset + """ + return pulumi.get(self, "api_server") + diff --git a/sdk/python/pulumi_rockset/pulumi-plugin.json b/sdk/python/pulumi_rockset/pulumi-plugin.json new file mode 100644 index 0000000..a23af4d --- /dev/null +++ b/sdk/python/pulumi_rockset/pulumi-plugin.json @@ -0,0 +1,4 @@ +{ + "resource": true, + "name": "rockset" +} diff --git a/sdk/python/pulumi_rockset/py.typed b/sdk/python/pulumi_rockset/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/sdk/python/pulumi_rockset/query_lambda.py b/sdk/python/pulumi_rockset/query_lambda.py new file mode 100644 index 0000000..8885957 --- /dev/null +++ b/sdk/python/pulumi_rockset/query_lambda.py @@ -0,0 +1,333 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['QueryLambdaArgs', 'QueryLambda'] + +@pulumi.input_type +class QueryLambdaArgs: + def __init__(__self__, *, + sqls: pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlArgs']]], + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a QueryLambda resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the query lambda. + :param pulumi.Input[str] name: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "sqls", sqls) + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def sqls(self) -> pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlArgs']]]: + return pulumi.get(self, "sqls") + + @sqls.setter + def sqls(self, value: pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlArgs']]]): + pulumi.set(self, "sqls", value) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the query lambda. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _QueryLambdaState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + sqls: Optional[pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlArgs']]]] = None, + state: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering QueryLambda resources. + :param pulumi.Input[str] description: Text describing the query lambda. + :param pulumi.Input[str] name: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] state: The latest state of this query lambda. + :param pulumi.Input[str] version: The latest version string of this query lambda. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if sqls is not None: + pulumi.set(__self__, "sqls", sqls) + if state is not None: + pulumi.set(__self__, "state", state) + if version is not None: + pulumi.set(__self__, "version", version) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the query lambda. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def sqls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlArgs']]]]: + return pulumi.get(self, "sqls") + + @sqls.setter + def sqls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['QueryLambdaSqlArgs']]]]): + pulumi.set(self, "sqls", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + The latest state of this query lambda. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The latest version string of this query lambda. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class QueryLambda(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + sqls: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QueryLambdaSqlArgs']]]]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset Query Lambda. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the query lambda. + :param pulumi.Input[str] name: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: QueryLambdaArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset Query Lambda. + + :param str resource_name: The name of the resource. + :param QueryLambdaArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(QueryLambdaArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + sqls: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QueryLambdaSqlArgs']]]]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = QueryLambdaArgs.__new__(QueryLambdaArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if sqls is None and not opts.urn: + raise TypeError("Missing required property 'sqls'") + __props__.__dict__["sqls"] = sqls + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + __props__.__dict__["state"] = None + __props__.__dict__["version"] = None + super(QueryLambda, __self__).__init__( + 'rockset:index/queryLambda:QueryLambda', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + sqls: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QueryLambdaSqlArgs']]]]] = None, + state: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'QueryLambda': + """ + Get an existing QueryLambda resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the query lambda. + :param pulumi.Input[str] name: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] state: The latest state of this query lambda. + :param pulumi.Input[str] version: The latest version string of this query lambda. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _QueryLambdaState.__new__(_QueryLambdaState) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["sqls"] = sqls + __props__.__dict__["state"] = state + __props__.__dict__["version"] = version + __props__.__dict__["workspace"] = workspace + return QueryLambda(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the query lambda. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def sqls(self) -> pulumi.Output[Sequence['outputs.QueryLambdaSql']]: + return pulumi.get(self, "sqls") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + The latest state of this query lambda. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[str]: + """ + The latest version string of this query lambda. + """ + return pulumi.get(self, "version") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/query_lambda_tag.py b/sdk/python/pulumi_rockset/query_lambda_tag.py new file mode 100644 index 0000000..5aaaefe --- /dev/null +++ b/sdk/python/pulumi_rockset/query_lambda_tag.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['QueryLambdaTagArgs', 'QueryLambdaTag'] + +@pulumi.input_type +class QueryLambdaTagArgs: + def __init__(__self__, *, + query_lambda: pulumi.Input[str], + version: pulumi.Input[str], + workspace: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a QueryLambdaTag resource. + :param pulumi.Input[str] query_lambda: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] version: Version of the query lambda this tag should point to. + :param pulumi.Input[str] workspace: The name of the workspace the query lambda is in. + :param pulumi.Input[str] name: Unique identifier for the tag. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "query_lambda", query_lambda) + pulumi.set(__self__, "version", version) + pulumi.set(__self__, "workspace", workspace) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="queryLambda") + def query_lambda(self) -> pulumi.Input[str]: + """ + Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "query_lambda") + + @query_lambda.setter + def query_lambda(self, value: pulumi.Input[str]): + pulumi.set(self, "query_lambda", value) + + @property + @pulumi.getter + def version(self) -> pulumi.Input[str]: + """ + Version of the query lambda this tag should point to. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[str]): + pulumi.set(self, "version", value) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace the query lambda is in. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the tag. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _QueryLambdaTagState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + query_lambda: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering QueryLambdaTag resources. + :param pulumi.Input[str] name: Unique identifier for the tag. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] query_lambda: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] version: Version of the query lambda this tag should point to. + :param pulumi.Input[str] workspace: The name of the workspace the query lambda is in. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if query_lambda is not None: + pulumi.set(__self__, "query_lambda", query_lambda) + if version is not None: + pulumi.set(__self__, "version", version) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the tag. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="queryLambda") + def query_lambda(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "query_lambda") + + @query_lambda.setter + def query_lambda(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "query_lambda", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Version of the query lambda this tag should point to. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace the query lambda is in. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class QueryLambdaTag(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + query_lambda: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset Query Lambda Tag. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: Unique identifier for the tag. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] query_lambda: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] version: Version of the query lambda this tag should point to. + :param pulumi.Input[str] workspace: The name of the workspace the query lambda is in. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: QueryLambdaTagArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset Query Lambda Tag. + + :param str resource_name: The name of the resource. + :param QueryLambdaTagArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(QueryLambdaTagArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + query_lambda: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = QueryLambdaTagArgs.__new__(QueryLambdaTagArgs) + + __props__.__dict__["name"] = name + if query_lambda is None and not opts.urn: + raise TypeError("Missing required property 'query_lambda'") + __props__.__dict__["query_lambda"] = query_lambda + if version is None and not opts.urn: + raise TypeError("Missing required property 'version'") + __props__.__dict__["version"] = version + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(QueryLambdaTag, __self__).__init__( + 'rockset:index/queryLambdaTag:QueryLambdaTag', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + query_lambda: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'QueryLambdaTag': + """ + Get an existing QueryLambdaTag resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: Unique identifier for the tag. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] query_lambda: Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] version: Version of the query lambda this tag should point to. + :param pulumi.Input[str] workspace: The name of the workspace the query lambda is in. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _QueryLambdaTagState.__new__(_QueryLambdaTagState) + + __props__.__dict__["name"] = name + __props__.__dict__["query_lambda"] = query_lambda + __props__.__dict__["version"] = version + __props__.__dict__["workspace"] = workspace + return QueryLambdaTag(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the tag. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="queryLambda") + def query_lambda(self) -> pulumi.Output[str]: + """ + Unique identifier for the query lambda. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "query_lambda") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[str]: + """ + Version of the query lambda this tag should point to. + """ + return pulumi.get(self, "version") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace the query lambda is in. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/role.py b/sdk/python/pulumi_rockset/role.py new file mode 100644 index 0000000..a2538f7 --- /dev/null +++ b/sdk/python/pulumi_rockset/role.py @@ -0,0 +1,371 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RoleArgs', 'Role'] + +@pulumi.input_type +class RoleArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + privileges: Optional[pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]]] = None): + """ + The set of arguments for constructing a Role resource. + :param pulumi.Input[str] description: Role description. + :param pulumi.Input[str] name: Role name. + :param pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]] privileges: Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if privileges is not None: + pulumi.set(__self__, "privileges", privileges) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Role description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Role name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def privileges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]]]: + """ + Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + return pulumi.get(self, "privileges") + + @privileges.setter + def privileges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]]]): + pulumi.set(self, "privileges", value) + + +@pulumi.input_type +class _RoleState: + def __init__(__self__, *, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + owner_email: Optional[pulumi.Input[str]] = None, + privileges: Optional[pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]]] = None): + """ + Input properties used for looking up and filtering Role resources. + :param pulumi.Input[str] created_at: When the role was created. + :param pulumi.Input[str] created_by: Who created the role. + :param pulumi.Input[str] description: Role description. + :param pulumi.Input[str] name: Role name. + :param pulumi.Input[str] owner_email: The email of the user who currently owns the role. + :param pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]] privileges: Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if owner_email is not None: + pulumi.set(__self__, "owner_email", owner_email) + if privileges is not None: + pulumi.set(__self__, "privileges", privileges) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + When the role was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[pulumi.Input[str]]: + """ + Who created the role. + """ + return pulumi.get(self, "created_by") + + @created_by.setter + def created_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_by", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Role description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Role name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="ownerEmail") + def owner_email(self) -> Optional[pulumi.Input[str]]: + """ + The email of the user who currently owns the role. + """ + return pulumi.get(self, "owner_email") + + @owner_email.setter + def owner_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_email", value) + + @property + @pulumi.getter + def privileges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]]]: + """ + Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + return pulumi.get(self, "privileges") + + @privileges.setter + def privileges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RolePrivilegeArgs']]]]): + pulumi.set(self, "privileges", value) + + +class Role(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + privileges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolePrivilegeArgs']]]]] = None, + __props__=None): + """ + Manages a Rockset [Role](https://rockset.com/docs/iam/). + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + query_only_role = rockset.Role("query-onlyRole", + description="This role can only query collections in the prod workspace in the usw2a1 cluster", + privileges=[ + rockset.RolePrivilegeArgs( + action="QUERY_DATA_WS", + resource_name="prod", + cluster="usw2a1", + ), + rockset.RolePrivilegeArgs( + action="EXECUTE_QUERY_LAMBDA_WS", + resource_name="prod", + cluster="usw2a1", + ), + ]) + query_only_api_key = rockset.ApiKey("query-onlyApiKey", role=query_only_role.name) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Role description. + :param pulumi.Input[str] name: Role name. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolePrivilegeArgs']]]] privileges: Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[RoleArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset [Role](https://rockset.com/docs/iam/). + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + query_only_role = rockset.Role("query-onlyRole", + description="This role can only query collections in the prod workspace in the usw2a1 cluster", + privileges=[ + rockset.RolePrivilegeArgs( + action="QUERY_DATA_WS", + resource_name="prod", + cluster="usw2a1", + ), + rockset.RolePrivilegeArgs( + action="EXECUTE_QUERY_LAMBDA_WS", + resource_name="prod", + cluster="usw2a1", + ), + ]) + query_only_api_key = rockset.ApiKey("query-onlyApiKey", role=query_only_role.name) + ``` + + :param str resource_name: The name of the resource. + :param RoleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RoleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + privileges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolePrivilegeArgs']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RoleArgs.__new__(RoleArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["privileges"] = privileges + __props__.__dict__["created_at"] = None + __props__.__dict__["created_by"] = None + __props__.__dict__["owner_email"] = None + super(Role, __self__).__init__( + 'rockset:index/role:Role', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + owner_email: Optional[pulumi.Input[str]] = None, + privileges: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolePrivilegeArgs']]]]] = None) -> 'Role': + """ + Get an existing Role resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] created_at: When the role was created. + :param pulumi.Input[str] created_by: Who created the role. + :param pulumi.Input[str] description: Role description. + :param pulumi.Input[str] name: Role name. + :param pulumi.Input[str] owner_email: The email of the user who currently owns the role. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolePrivilegeArgs']]]] privileges: Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RoleState.__new__(_RoleState) + + __props__.__dict__["created_at"] = created_at + __props__.__dict__["created_by"] = created_by + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["owner_email"] = owner_email + __props__.__dict__["privileges"] = privileges + return Role(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + When the role was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> pulumi.Output[str]: + """ + Who created the role. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Role description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Role name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="ownerEmail") + def owner_email(self) -> pulumi.Output[str]: + """ + The email of the user who currently owns the role. + """ + return pulumi.get(self, "owner_email") + + @property + @pulumi.getter + def privileges(self) -> pulumi.Output[Optional[Sequence['outputs.RolePrivilege']]]: + """ + Privileges associated with the role. For a full list see [API documentation](https://rockset.com/docs/iam/#supported-privileges) + """ + return pulumi.get(self, "privileges") + diff --git a/sdk/python/pulumi_rockset/s3_collection.py b/sdk/python/pulumi_rockset/s3_collection.py new file mode 100644 index 0000000..d687806 --- /dev/null +++ b/sdk/python/pulumi_rockset/s3_collection.py @@ -0,0 +1,517 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['S3CollectionArgs', 'S3Collection'] + +@pulumi.input_type +class S3CollectionArgs: + def __init__(__self__, *, + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a S3Collection resource. + :param pulumi.Input[str] workspace: The name of the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + +@pulumi.input_type +class _S3CollectionState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering S3Collection resources. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if ingest_transformation is not None: + pulumi.set(__self__, "ingest_transformation", ingest_transformation) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_secs is not None: + pulumi.set(__self__, "retention_secs", retention_secs) + if sources is not None: + pulumi.set(__self__, "sources", sources) + if wait_for_collection is not None: + pulumi.set(__self__, "wait_for_collection", wait_for_collection) + if wait_for_documents is not None: + pulumi.set(__self__, "wait_for_documents", wait_for_documents) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> Optional[pulumi.Input[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @ingest_transformation.setter + def ingest_transformation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ingest_transformation", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @retention_secs.setter + def retention_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retention_secs", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S3CollectionSourceArgs']]]]): + pulumi.set(self, "sources", value) + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @wait_for_collection.setter + def wait_for_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wait_for_collection", value) + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> Optional[pulumi.Input[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @wait_for_documents.setter + def wait_for_documents(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_for_documents", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class S3Collection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['S3CollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a collection with on or more S3 sources attached. Uses an S3 integration to access the S3 bucket. If no integration is provided, only data in public buckets are accessible. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + sample = rockset.Workspace("sample", description="sample datasets") + public = rockset.S3Integration("public", + description="Integration to access Rockset's public datasets", + aws_role_arn="arn:aws:iam::469279130686:role/rockset-public-datasets") + cities = rockset.S3Collection("cities", + workspace=sample.name, + sources=[rockset.S3CollectionSourceArgs( + bucket="rockset-public-datasets", + integration_name=public.name, + pattern="cities/*.json", + format="json", + )]) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['S3CollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: S3CollectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a collection with on or more S3 sources attached. Uses an S3 integration to access the S3 bucket. If no integration is provided, only data in public buckets are accessible. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + sample = rockset.Workspace("sample", description="sample datasets") + public = rockset.S3Integration("public", + description="Integration to access Rockset's public datasets", + aws_role_arn="arn:aws:iam::469279130686:role/rockset-public-datasets") + cities = rockset.S3Collection("cities", + workspace=sample.name, + sources=[rockset.S3CollectionSourceArgs( + bucket="rockset-public-datasets", + integration_name=public.name, + pattern="cities/*.json", + format="json", + )]) + ``` + + :param str resource_name: The name of the resource. + :param S3CollectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(S3CollectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['S3CollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = S3CollectionArgs.__new__(S3CollectionArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + super(S3Collection, __self__).__init__( + 'rockset:index/s3Collection:S3Collection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + ingest_transformation: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_secs: Optional[pulumi.Input[int]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['S3CollectionSourceArgs']]]]] = None, + wait_for_collection: Optional[pulumi.Input[bool]] = None, + wait_for_documents: Optional[pulumi.Input[int]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'S3Collection': + """ + Get an existing S3Collection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] ingest_transformation: Ingest transformation SQL query. Turns the collection into insert_only mode. + :param pulumi.Input[str] name: Unique identifier for the collection. Can contain alphanumeric or dash characters. + :param pulumi.Input[int] retention_secs: Number of seconds after which data is purged. Based on event time. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['S3CollectionSourceArgs']]]] sources: Defines a source for this collection. + :param pulumi.Input[bool] wait_for_collection: Wait until the collection is ready. + :param pulumi.Input[int] wait_for_documents: Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + :param pulumi.Input[str] workspace: The name of the workspace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _S3CollectionState.__new__(_S3CollectionState) + + __props__.__dict__["description"] = description + __props__.__dict__["ingest_transformation"] = ingest_transformation + __props__.__dict__["name"] = name + __props__.__dict__["retention_secs"] = retention_secs + __props__.__dict__["sources"] = sources + __props__.__dict__["wait_for_collection"] = wait_for_collection + __props__.__dict__["wait_for_documents"] = wait_for_documents + __props__.__dict__["workspace"] = workspace + return S3Collection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="ingestTransformation") + def ingest_transformation(self) -> pulumi.Output[Optional[str]]: + """ + Ingest transformation SQL query. Turns the collection into insert_only mode. + """ + return pulumi.get(self, "ingest_transformation") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the collection. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionSecs") + def retention_secs(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds after which data is purged. Based on event time. + """ + return pulumi.get(self, "retention_secs") + + @property + @pulumi.getter + def sources(self) -> pulumi.Output[Optional[Sequence['outputs.S3CollectionSource']]]: + """ + Defines a source for this collection. + """ + return pulumi.get(self, "sources") + + @property + @pulumi.getter(name="waitForCollection") + def wait_for_collection(self) -> pulumi.Output[Optional[bool]]: + """ + Wait until the collection is ready. + """ + return pulumi.get(self, "wait_for_collection") + + @property + @pulumi.getter(name="waitForDocuments") + def wait_for_documents(self) -> pulumi.Output[Optional[int]]: + """ + Wait until the collection has documents. The default is to wait for 0 documents, which means it doesn't wait. + """ + return pulumi.get(self, "wait_for_documents") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + The name of the workspace. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/s3_integration.py b/sdk/python/pulumi_rockset/s3_integration.py new file mode 100644 index 0000000..e9914a3 --- /dev/null +++ b/sdk/python/pulumi_rockset/s3_integration.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['S3IntegrationArgs', 'S3Integration'] + +@pulumi.input_type +class S3IntegrationArgs: + def __init__(__self__, *, + aws_role_arn: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a S3Integration resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "aws_role_arn", aws_role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> pulumi.Input[str]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @aws_role_arn.setter + def aws_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _S3IntegrationState: + def __init__(__self__, *, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering S3Integration resources. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + if aws_role_arn is not None: + pulumi.set(__self__, "aws_role_arn", aws_role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @aws_role_arn.setter + def aws_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class S3Integration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset S3 Integration. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: S3IntegrationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset S3 Integration. + + :param str resource_name: The name of the resource. + :param S3IntegrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(S3IntegrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = S3IntegrationArgs.__new__(S3IntegrationArgs) + + if aws_role_arn is None and not opts.urn: + raise TypeError("Missing required property 'aws_role_arn'") + __props__.__dict__["aws_role_arn"] = aws_role_arn + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + super(S3Integration, __self__).__init__( + 'rockset:index/s3Integration:S3Integration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + aws_role_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'S3Integration': + """ + Get an existing S3Integration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_role_arn: The AWS Role Arn to use for this integration. + :param pulumi.Input[str] description: Text describing the integration. + :param pulumi.Input[str] name: Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _S3IntegrationState.__new__(_S3IntegrationState) + + __props__.__dict__["aws_role_arn"] = aws_role_arn + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + return S3Integration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="awsRoleArn") + def aws_role_arn(self) -> pulumi.Output[str]: + """ + The AWS Role Arn to use for this integration. + """ + return pulumi.get(self, "aws_role_arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the integration. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for the integration. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/pulumi_rockset/user.py b/sdk/python/pulumi_rockset/user.py new file mode 100644 index 0000000..fbf46b9 --- /dev/null +++ b/sdk/python/pulumi_rockset/user.py @@ -0,0 +1,350 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['UserArgs', 'User'] + +@pulumi.input_type +class UserArgs: + def __init__(__self__, *, + email: pulumi.Input[str], + roles: pulumi.Input[Sequence[pulumi.Input[str]]], + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a User resource. + :param pulumi.Input[str] email: Email address of the user. Also used to identify the user. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles for the user. E.g. 'admin', 'member', 'read-only'. + :param pulumi.Input[str] first_name: User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[str] last_name: User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + pulumi.set(__self__, "email", email) + pulumi.set(__self__, "roles", roles) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + + @property + @pulumi.getter + def email(self) -> pulumi.Input[str]: + """ + Email address of the user. Also used to identify the user. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: pulumi.Input[str]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter + def roles(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of roles for the user. E.g. 'admin', 'member', 'read-only'. + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[pulumi.Input[str]]: + """ + User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[pulumi.Input[str]]: + """ + User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name", value) + + +@pulumi.input_type +class _UserState: + def __init__(__self__, *, + created_at: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + state: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering User resources. + :param pulumi.Input[str] created_at: The ISO-8601 time of when the user was created. + :param pulumi.Input[str] email: Email address of the user. Also used to identify the user. + :param pulumi.Input[str] first_name: User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[str] last_name: User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles for the user. E.g. 'admin', 'member', 'read-only'. + :param pulumi.Input[str] state: State of the user, either NEW or ACTIVE. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if email is not None: + pulumi.set(__self__, "email", email) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + if roles is not None: + pulumi.set(__self__, "roles", roles) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + The ISO-8601 time of when the user was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter + def email(self) -> Optional[pulumi.Input[str]]: + """ + Email address of the user. Also used to identify the user. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[pulumi.Input[str]]: + """ + User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[pulumi.Input[str]]: + """ + User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name", value) + + @property + @pulumi.getter + def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of roles for the user. E.g. 'admin', 'member', 'read-only'. + """ + return pulumi.get(self, "roles") + + @roles.setter + def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "roles", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + State of the user, either NEW or ACTIVE. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + +class User(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Manages a Rockset User. + + First and last name can only be managed for users who have accepted the invite, + i.e. when the state is ACCEPTED. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] email: Email address of the user. Also used to identify the user. + :param pulumi.Input[str] first_name: User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[str] last_name: User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles for the user. E.g. 'admin', 'member', 'read-only'. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: UserArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset User. + + First and last name can only be managed for users who have accepted the invite, + i.e. when the state is ACCEPTED. + + :param str resource_name: The name of the resource. + :param UserArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(UserArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = UserArgs.__new__(UserArgs) + + if email is None and not opts.urn: + raise TypeError("Missing required property 'email'") + __props__.__dict__["email"] = email + __props__.__dict__["first_name"] = first_name + __props__.__dict__["last_name"] = last_name + if roles is None and not opts.urn: + raise TypeError("Missing required property 'roles'") + __props__.__dict__["roles"] = roles + __props__.__dict__["created_at"] = None + __props__.__dict__["state"] = None + super(User, __self__).__init__( + 'rockset:index/user:User', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_at: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + state: Optional[pulumi.Input[str]] = None) -> 'User': + """ + Get an existing User resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] created_at: The ISO-8601 time of when the user was created. + :param pulumi.Input[str] email: Email address of the user. Also used to identify the user. + :param pulumi.Input[str] first_name: User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[str] last_name: User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles for the user. E.g. 'admin', 'member', 'read-only'. + :param pulumi.Input[str] state: State of the user, either NEW or ACTIVE. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _UserState.__new__(_UserState) + + __props__.__dict__["created_at"] = created_at + __props__.__dict__["email"] = email + __props__.__dict__["first_name"] = first_name + __props__.__dict__["last_name"] = last_name + __props__.__dict__["roles"] = roles + __props__.__dict__["state"] = state + return User(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The ISO-8601 time of when the user was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def email(self) -> pulumi.Output[str]: + """ + Email address of the user. Also used to identify the user. + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Output[Optional[str]]: + """ + User's first name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + return pulumi.get(self, "first_name") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Output[Optional[str]]: + """ + User's last name. This can only be set once the state is ACTIVE, i.e after the user has accepted the invite. + """ + return pulumi.get(self, "last_name") + + @property + @pulumi.getter + def roles(self) -> pulumi.Output[Sequence[str]]: + """ + List of roles for the user. E.g. 'admin', 'member', 'read-only'. + """ + return pulumi.get(self, "roles") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + State of the user, either NEW or ACTIVE. + """ + return pulumi.get(self, "state") + diff --git a/sdk/python/pulumi_rockset/view.py b/sdk/python/pulumi_rockset/view.py new file mode 100644 index 0000000..9c009dc --- /dev/null +++ b/sdk/python/pulumi_rockset/view.py @@ -0,0 +1,360 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['ViewArgs', 'View'] + +@pulumi.input_type +class ViewArgs: + def __init__(__self__, *, + query: pulumi.Input[str], + workspace: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a View resource. + :param pulumi.Input[str] query: SQL query used for thw view. + :param pulumi.Input[str] workspace: Workspace name. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + """ + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "workspace", workspace) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def query(self) -> pulumi.Input[str]: + """ + SQL query used for thw view. + """ + return pulumi.get(self, "query") + + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def workspace(self) -> pulumi.Input[str]: + """ + Workspace name. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: pulumi.Input[str]): + pulumi.set(self, "workspace", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _ViewState: + def __init__(__self__, *, + created_by: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering View resources. + :param pulumi.Input[str] created_by: The user who created the view. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] query: SQL query used for thw view. + :param pulumi.Input[str] workspace: Workspace name. + """ + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if query is not None: + pulumi.set(__self__, "query", query) + if workspace is not None: + pulumi.set(__self__, "workspace", workspace) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[pulumi.Input[str]]: + """ + The user who created the view. + """ + return pulumi.get(self, "created_by") + + @created_by.setter + def created_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_by", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def query(self) -> Optional[pulumi.Input[str]]: + """ + SQL query used for thw view. + """ + return pulumi.get(self, "query") + + @query.setter + def query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "query", value) + + @property + @pulumi.getter + def workspace(self) -> Optional[pulumi.Input[str]]: + """ + Workspace name. + """ + return pulumi.get(self, "workspace") + + @workspace.setter + def workspace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace", value) + + +class View(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + sample = rockset.Workspace("sample", description="sample datasets") + public = rockset.S3Integration("public", + description="Integration to access Rockset's public datasets", + aws_role_arn="arn:aws:iam::469279130686:role/rockset-public-datasets") + cities = rockset.S3Collection("cities", + workspace=sample.name, + sources=[rockset.S3CollectionSourceArgs( + bucket="rockset-public-datasets", + integration_name=public.name, + pattern="cities/*.json", + format="json", + )]) + brazil = rockset.View("brazil", + query="SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'", + workspace=sample.name, + opts=pulumi.ResourceOptions(depends_on=[cities])) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] query: SQL query used for thw view. + :param pulumi.Input[str] workspace: Workspace name. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ViewArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + sample = rockset.Workspace("sample", description="sample datasets") + public = rockset.S3Integration("public", + description="Integration to access Rockset's public datasets", + aws_role_arn="arn:aws:iam::469279130686:role/rockset-public-datasets") + cities = rockset.S3Collection("cities", + workspace=sample.name, + sources=[rockset.S3CollectionSourceArgs( + bucket="rockset-public-datasets", + integration_name=public.name, + pattern="cities/*.json", + format="json", + )]) + brazil = rockset.View("brazil", + query="SELECT * FROM sample.cities c WHERE c.fields.country_code = 'BR'", + workspace=sample.name, + opts=pulumi.ResourceOptions(depends_on=[cities])) + ``` + + :param str resource_name: The name of the resource. + :param ViewArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ViewArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ViewArgs.__new__(ViewArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if query is None and not opts.urn: + raise TypeError("Missing required property 'query'") + __props__.__dict__["query"] = query + if workspace is None and not opts.urn: + raise TypeError("Missing required property 'workspace'") + __props__.__dict__["workspace"] = workspace + __props__.__dict__["created_by"] = None + super(View, __self__).__init__( + 'rockset:index/view:View', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_by: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + query: Optional[pulumi.Input[str]] = None, + workspace: Optional[pulumi.Input[str]] = None) -> 'View': + """ + Get an existing View resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] created_by: The user who created the view. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + :param pulumi.Input[str] query: SQL query used for thw view. + :param pulumi.Input[str] workspace: Workspace name. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ViewState.__new__(_ViewState) + + __props__.__dict__["created_by"] = created_by + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["query"] = query + __props__.__dict__["workspace"] = workspace + return View(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> pulumi.Output[str]: + """ + The user who created the view. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique name for the view in the workspace. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def query(self) -> pulumi.Output[str]: + """ + SQL query used for thw view. + """ + return pulumi.get(self, "query") + + @property + @pulumi.getter + def workspace(self) -> pulumi.Output[str]: + """ + Workspace name. + """ + return pulumi.get(self, "workspace") + diff --git a/sdk/python/pulumi_rockset/virtual_instance.py b/sdk/python/pulumi_rockset/virtual_instance.py new file mode 100644 index 0000000..d6bdac2 --- /dev/null +++ b/sdk/python/pulumi_rockset/virtual_instance.py @@ -0,0 +1,595 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['VirtualInstanceArgs', 'VirtualInstance'] + +@pulumi.input_type +class VirtualInstanceArgs: + def __init__(__self__, *, + size: pulumi.Input[str], + auto_suspend_seconds: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + mount_refresh_interval_seconds: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + remount_on_resume: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a VirtualInstance resource. + :param pulumi.Input[str] size: Requested virtual instance size. Note that this field is called type in the API documentation. + :param pulumi.Input[int] auto_suspend_seconds: Number of seconds without queries after which the Virtual Instance is suspended. + :param pulumi.Input[str] description: Description of the virtual instance. + :param pulumi.Input[int] mount_refresh_interval_seconds: Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + :param pulumi.Input[str] name: Name of the virtual instance. + :param pulumi.Input[bool] remount_on_resume: When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + """ + pulumi.set(__self__, "size", size) + if auto_suspend_seconds is not None: + pulumi.set(__self__, "auto_suspend_seconds", auto_suspend_seconds) + if description is not None: + pulumi.set(__self__, "description", description) + if mount_refresh_interval_seconds is not None: + pulumi.set(__self__, "mount_refresh_interval_seconds", mount_refresh_interval_seconds) + if name is not None: + pulumi.set(__self__, "name", name) + if remount_on_resume is not None: + pulumi.set(__self__, "remount_on_resume", remount_on_resume) + + @property + @pulumi.getter + def size(self) -> pulumi.Input[str]: + """ + Requested virtual instance size. Note that this field is called type in the API documentation. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: pulumi.Input[str]): + pulumi.set(self, "size", value) + + @property + @pulumi.getter(name="autoSuspendSeconds") + def auto_suspend_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds without queries after which the Virtual Instance is suspended. + """ + return pulumi.get(self, "auto_suspend_seconds") + + @auto_suspend_seconds.setter + def auto_suspend_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "auto_suspend_seconds", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the virtual instance. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="mountRefreshIntervalSeconds") + def mount_refresh_interval_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + """ + return pulumi.get(self, "mount_refresh_interval_seconds") + + @mount_refresh_interval_seconds.setter + def mount_refresh_interval_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "mount_refresh_interval_seconds", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the virtual instance. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="remountOnResume") + def remount_on_resume(self) -> Optional[pulumi.Input[bool]]: + """ + When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + """ + return pulumi.get(self, "remount_on_resume") + + @remount_on_resume.setter + def remount_on_resume(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "remount_on_resume", value) + + +@pulumi.input_type +class _VirtualInstanceState: + def __init__(__self__, *, + auto_suspend_seconds: Optional[pulumi.Input[int]] = None, + current_size: Optional[pulumi.Input[str]] = None, + default: Optional[pulumi.Input[bool]] = None, + description: Optional[pulumi.Input[str]] = None, + desired_size: Optional[pulumi.Input[str]] = None, + monitoring_enabled: Optional[pulumi.Input[bool]] = None, + mount_refresh_interval_seconds: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + remount_on_resume: Optional[pulumi.Input[bool]] = None, + rrn: Optional[pulumi.Input[str]] = None, + size: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering VirtualInstance resources. + :param pulumi.Input[int] auto_suspend_seconds: Number of seconds without queries after which the Virtual Instance is suspended. + :param pulumi.Input[str] current_size: Current size of the virtual instance. + :param pulumi.Input[bool] default: Is this Virtual Instance the default. + :param pulumi.Input[str] description: Description of the virtual instance. + :param pulumi.Input[str] desired_size: Desired size of the virtual instance. + :param pulumi.Input[bool] monitoring_enabled: Is monitoring enabled for this Virtual Instance. + :param pulumi.Input[int] mount_refresh_interval_seconds: Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + :param pulumi.Input[str] name: Name of the virtual instance. + :param pulumi.Input[bool] remount_on_resume: When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + :param pulumi.Input[str] rrn: RRN of this Virtual Instance. + :param pulumi.Input[str] size: Requested virtual instance size. Note that this field is called type in the API documentation. + :param pulumi.Input[str] state: Virtual Instance state. + """ + if auto_suspend_seconds is not None: + pulumi.set(__self__, "auto_suspend_seconds", auto_suspend_seconds) + if current_size is not None: + pulumi.set(__self__, "current_size", current_size) + if default is not None: + pulumi.set(__self__, "default", default) + if description is not None: + pulumi.set(__self__, "description", description) + if desired_size is not None: + pulumi.set(__self__, "desired_size", desired_size) + if monitoring_enabled is not None: + pulumi.set(__self__, "monitoring_enabled", monitoring_enabled) + if mount_refresh_interval_seconds is not None: + pulumi.set(__self__, "mount_refresh_interval_seconds", mount_refresh_interval_seconds) + if name is not None: + pulumi.set(__self__, "name", name) + if remount_on_resume is not None: + pulumi.set(__self__, "remount_on_resume", remount_on_resume) + if rrn is not None: + pulumi.set(__self__, "rrn", rrn) + if size is not None: + pulumi.set(__self__, "size", size) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="autoSuspendSeconds") + def auto_suspend_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds without queries after which the Virtual Instance is suspended. + """ + return pulumi.get(self, "auto_suspend_seconds") + + @auto_suspend_seconds.setter + def auto_suspend_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "auto_suspend_seconds", value) + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> Optional[pulumi.Input[str]]: + """ + Current size of the virtual instance. + """ + return pulumi.get(self, "current_size") + + @current_size.setter + def current_size(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "current_size", value) + + @property + @pulumi.getter + def default(self) -> Optional[pulumi.Input[bool]]: + """ + Is this Virtual Instance the default. + """ + return pulumi.get(self, "default") + + @default.setter + def default(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "default", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the virtual instance. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="desiredSize") + def desired_size(self) -> Optional[pulumi.Input[str]]: + """ + Desired size of the virtual instance. + """ + return pulumi.get(self, "desired_size") + + @desired_size.setter + def desired_size(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "desired_size", value) + + @property + @pulumi.getter(name="monitoringEnabled") + def monitoring_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Is monitoring enabled for this Virtual Instance. + """ + return pulumi.get(self, "monitoring_enabled") + + @monitoring_enabled.setter + def monitoring_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "monitoring_enabled", value) + + @property + @pulumi.getter(name="mountRefreshIntervalSeconds") + def mount_refresh_interval_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + """ + return pulumi.get(self, "mount_refresh_interval_seconds") + + @mount_refresh_interval_seconds.setter + def mount_refresh_interval_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "mount_refresh_interval_seconds", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the virtual instance. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="remountOnResume") + def remount_on_resume(self) -> Optional[pulumi.Input[bool]]: + """ + When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + """ + return pulumi.get(self, "remount_on_resume") + + @remount_on_resume.setter + def remount_on_resume(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "remount_on_resume", value) + + @property + @pulumi.getter + def rrn(self) -> Optional[pulumi.Input[str]]: + """ + RRN of this Virtual Instance. + """ + return pulumi.get(self, "rrn") + + @rrn.setter + def rrn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rrn", value) + + @property + @pulumi.getter + def size(self) -> Optional[pulumi.Input[str]]: + """ + Requested virtual instance size. Note that this field is called type in the API documentation. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "size", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[str]]: + """ + Virtual Instance state. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "state", value) + + +class VirtualInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_suspend_seconds: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + mount_refresh_interval_seconds: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + remount_on_resume: Optional[pulumi.Input[bool]] = None, + size: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset Virtual Instance. To be able to create a new Virtual Instance, + The main virtual instance must use a dedicated instance to create a secondary virtual instance, + which must be SMALL or larger. To enable live mount, the secondary virtual instance must be MEDIUM or larger. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + query = rockset.VirtualInstance("query", + description="vi for executing query lambdas", + size="MEDIUM", + remount_on_resume=True) + patch = rockset.CollectionMount("patch", + virtual_instance_id=query.id, + path="commons.data") + ``` + + ## Import + + ```sh + $ pulumi import rockset:index/virtualInstance:VirtualInstance query 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] auto_suspend_seconds: Number of seconds without queries after which the Virtual Instance is suspended. + :param pulumi.Input[str] description: Description of the virtual instance. + :param pulumi.Input[int] mount_refresh_interval_seconds: Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + :param pulumi.Input[str] name: Name of the virtual instance. + :param pulumi.Input[bool] remount_on_resume: When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + :param pulumi.Input[str] size: Requested virtual instance size. Note that this field is called type in the API documentation. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset Virtual Instance. To be able to create a new Virtual Instance, + The main virtual instance must use a dedicated instance to create a secondary virtual instance, + which must be SMALL or larger. To enable live mount, the secondary virtual instance must be MEDIUM or larger. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + query = rockset.VirtualInstance("query", + description="vi for executing query lambdas", + size="MEDIUM", + remount_on_resume=True) + patch = rockset.CollectionMount("patch", + virtual_instance_id=query.id, + path="commons.data") + ``` + + ## Import + + ```sh + $ pulumi import rockset:index/virtualInstance:VirtualInstance query 29e4a43c-fff4-4fe6-80e3-1ee57bc22e82 + ``` + + :param str resource_name: The name of the resource. + :param VirtualInstanceArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VirtualInstanceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_suspend_seconds: Optional[pulumi.Input[int]] = None, + description: Optional[pulumi.Input[str]] = None, + mount_refresh_interval_seconds: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + remount_on_resume: Optional[pulumi.Input[bool]] = None, + size: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VirtualInstanceArgs.__new__(VirtualInstanceArgs) + + __props__.__dict__["auto_suspend_seconds"] = auto_suspend_seconds + __props__.__dict__["description"] = description + __props__.__dict__["mount_refresh_interval_seconds"] = mount_refresh_interval_seconds + __props__.__dict__["name"] = name + __props__.__dict__["remount_on_resume"] = remount_on_resume + if size is None and not opts.urn: + raise TypeError("Missing required property 'size'") + __props__.__dict__["size"] = size + __props__.__dict__["current_size"] = None + __props__.__dict__["default"] = None + __props__.__dict__["desired_size"] = None + __props__.__dict__["monitoring_enabled"] = None + __props__.__dict__["rrn"] = None + __props__.__dict__["state"] = None + super(VirtualInstance, __self__).__init__( + 'rockset:index/virtualInstance:VirtualInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auto_suspend_seconds: Optional[pulumi.Input[int]] = None, + current_size: Optional[pulumi.Input[str]] = None, + default: Optional[pulumi.Input[bool]] = None, + description: Optional[pulumi.Input[str]] = None, + desired_size: Optional[pulumi.Input[str]] = None, + monitoring_enabled: Optional[pulumi.Input[bool]] = None, + mount_refresh_interval_seconds: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + remount_on_resume: Optional[pulumi.Input[bool]] = None, + rrn: Optional[pulumi.Input[str]] = None, + size: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[str]] = None) -> 'VirtualInstance': + """ + Get an existing VirtualInstance resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] auto_suspend_seconds: Number of seconds without queries after which the Virtual Instance is suspended. + :param pulumi.Input[str] current_size: Current size of the virtual instance. + :param pulumi.Input[bool] default: Is this Virtual Instance the default. + :param pulumi.Input[str] description: Description of the virtual instance. + :param pulumi.Input[str] desired_size: Desired size of the virtual instance. + :param pulumi.Input[bool] monitoring_enabled: Is monitoring enabled for this Virtual Instance. + :param pulumi.Input[int] mount_refresh_interval_seconds: Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + :param pulumi.Input[str] name: Name of the virtual instance. + :param pulumi.Input[bool] remount_on_resume: When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + :param pulumi.Input[str] rrn: RRN of this Virtual Instance. + :param pulumi.Input[str] size: Requested virtual instance size. Note that this field is called type in the API documentation. + :param pulumi.Input[str] state: Virtual Instance state. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VirtualInstanceState.__new__(_VirtualInstanceState) + + __props__.__dict__["auto_suspend_seconds"] = auto_suspend_seconds + __props__.__dict__["current_size"] = current_size + __props__.__dict__["default"] = default + __props__.__dict__["description"] = description + __props__.__dict__["desired_size"] = desired_size + __props__.__dict__["monitoring_enabled"] = monitoring_enabled + __props__.__dict__["mount_refresh_interval_seconds"] = mount_refresh_interval_seconds + __props__.__dict__["name"] = name + __props__.__dict__["remount_on_resume"] = remount_on_resume + __props__.__dict__["rrn"] = rrn + __props__.__dict__["size"] = size + __props__.__dict__["state"] = state + return VirtualInstance(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoSuspendSeconds") + def auto_suspend_seconds(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds without queries after which the Virtual Instance is suspended. + """ + return pulumi.get(self, "auto_suspend_seconds") + + @property + @pulumi.getter(name="currentSize") + def current_size(self) -> pulumi.Output[str]: + """ + Current size of the virtual instance. + """ + return pulumi.get(self, "current_size") + + @property + @pulumi.getter + def default(self) -> pulumi.Output[bool]: + """ + Is this Virtual Instance the default. + """ + return pulumi.get(self, "default") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of the virtual instance. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="desiredSize") + def desired_size(self) -> pulumi.Output[str]: + """ + Desired size of the virtual instance. + """ + return pulumi.get(self, "desired_size") + + @property + @pulumi.getter(name="monitoringEnabled") + def monitoring_enabled(self) -> pulumi.Output[bool]: + """ + Is monitoring enabled for this Virtual Instance. + """ + return pulumi.get(self, "monitoring_enabled") + + @property + @pulumi.getter(name="mountRefreshIntervalSeconds") + def mount_refresh_interval_seconds(self) -> pulumi.Output[Optional[int]]: + """ + Number of seconds between data refreshes for mounts on this Virtual Instance. A value of 0 means continuous refresh and a value of null means never refresh. + """ + return pulumi.get(self, "mount_refresh_interval_seconds") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the virtual instance. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="remountOnResume") + def remount_on_resume(self) -> pulumi.Output[Optional[bool]]: + """ + When a Virtual Instance is resumed, remount all collections that were mounted when the Virtual Instance was suspended. + """ + return pulumi.get(self, "remount_on_resume") + + @property + @pulumi.getter + def rrn(self) -> pulumi.Output[str]: + """ + RRN of this Virtual Instance. + """ + return pulumi.get(self, "rrn") + + @property + @pulumi.getter + def size(self) -> pulumi.Output[str]: + """ + Requested virtual instance size. Note that this field is called type in the API documentation. + """ + return pulumi.get(self, "size") + + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + Virtual Instance state. + """ + return pulumi.get(self, "state") + diff --git a/sdk/python/pulumi_rockset/workspace.py b/sdk/python/pulumi_rockset/workspace.py new file mode 100644 index 0000000..c472503 --- /dev/null +++ b/sdk/python/pulumi_rockset/workspace.py @@ -0,0 +1,306 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['WorkspaceArgs', 'Workspace'] + +@pulumi.input_type +class WorkspaceArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Workspace resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _WorkspaceState: + def __init__(__self__, *, + collection_count: Optional[pulumi.Input[int]] = None, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Workspace resources. + :param pulumi.Input[int] collection_count: Number of collections in the workspace. + :param pulumi.Input[str] created_at: Created at in ISO-8601. + :param pulumi.Input[str] created_by: The user who created the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + if collection_count is not None: + pulumi.set(__self__, "collection_count", collection_count) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="collectionCount") + def collection_count(self) -> Optional[pulumi.Input[int]]: + """ + Number of collections in the workspace. + """ + return pulumi.get(self, "collection_count") + + @collection_count.setter + def collection_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "collection_count", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + Created at in ISO-8601. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[pulumi.Input[str]]: + """ + The user who created the workspace. + """ + return pulumi.get(self, "created_by") + + @created_by.setter + def created_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_by", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class Workspace(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Rockset workspace, which can hold collections, query lambdas and views. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + demo = rockset.Workspace("demo", description="a workspace for demo collections") + ``` + + ## Import + + ```sh + $ pulumi import rockset:index/workspace:Workspace demo demo + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[WorkspaceArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Rockset workspace, which can hold collections, query lambdas and views. + + ## Example Usage + + ```python + import pulumi + import pulumi_rockset as rockset + + demo = rockset.Workspace("demo", description="a workspace for demo collections") + ``` + + ## Import + + ```sh + $ pulumi import rockset:index/workspace:Workspace demo demo + ``` + + :param str resource_name: The name of the resource. + :param WorkspaceArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(WorkspaceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = WorkspaceArgs.__new__(WorkspaceArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["collection_count"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["created_by"] = None + super(Workspace, __self__).__init__( + 'rockset:index/workspace:Workspace', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + collection_count: Optional[pulumi.Input[int]] = None, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'Workspace': + """ + Get an existing Workspace resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] collection_count: Number of collections in the workspace. + :param pulumi.Input[str] created_at: Created at in ISO-8601. + :param pulumi.Input[str] created_by: The user who created the workspace. + :param pulumi.Input[str] description: Text describing the collection. + :param pulumi.Input[str] name: Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _WorkspaceState.__new__(_WorkspaceState) + + __props__.__dict__["collection_count"] = collection_count + __props__.__dict__["created_at"] = created_at + __props__.__dict__["created_by"] = created_by + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + return Workspace(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="collectionCount") + def collection_count(self) -> pulumi.Output[int]: + """ + Number of collections in the workspace. + """ + return pulumi.get(self, "collection_count") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Created at in ISO-8601. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> pulumi.Output[str]: + """ + The user who created the workspace. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Text describing the collection. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Unique identifier for workspace. Can contain alphanumeric or dash characters. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/setup.py b/sdk/python/setup.py new file mode 100644 index 0000000..3c8e673 --- /dev/null +++ b/sdk/python/setup.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import errno +from setuptools import setup, find_packages +from setuptools.command.install import install +from subprocess import check_call + + +VERSION = "0.0.0" +def readme(): + try: + with open('README.md', encoding='utf-8') as f: + return f.read() + except FileNotFoundError: + return "rockset Pulumi Package - Development Version" + + +setup(name='pulumi_rockset', + python_requires='>=3.7', + version=VERSION, + description="A Pulumi package for creating and managing rockset cloud resources.", + long_description=readme(), + long_description_content_type='text/markdown', + keywords='pulumi rockset category/cloud', + url='https://www.pulumi.com', + project_urls={ + 'Repository': 'https://github.com/ddn0/pulumi-rockset' + }, + license='Apache-2.0', + packages=find_packages(), + package_data={ + 'pulumi_rockset': [ + 'py.typed', + 'pulumi-plugin.json', + ] + }, + install_requires=[ + 'parver>=0.2.1', + 'pulumi>=3.0.0,<4.0.0', + 'semver>=2.8.1' + ], + zip_safe=False)